From 01f736f4daff862ab39b68dc97e83874235268e4 Mon Sep 17 00:00:00 2001 From: Juha Heinanen Date: Mon, 29 Jun 2026 10:07:25 +0300 Subject: [PATCH] Eliminated redundant link properties changed log messages --- .../main/kotlin/com/tutpro/baresip/BaresipService.kt | 6 ++++++ app/src/main/kotlin/com/tutpro/baresip/Utils.kt | 10 ++++++++++ 2 files changed, 16 insertions(+) diff --git a/app/src/main/kotlin/com/tutpro/baresip/BaresipService.kt b/app/src/main/kotlin/com/tutpro/baresip/BaresipService.kt index 828e27c3..742cdffb 100644 --- a/app/src/main/kotlin/com/tutpro/baresip/BaresipService.kt +++ b/app/src/main/kotlin/com/tutpro/baresip/BaresipService.kt @@ -130,6 +130,7 @@ class BaresipService: Service() { private var linkAddresses = mutableMapOf() private var activeNetwork: Network? = null private var allNetworks = mutableSetOf() + private var lastLinkProperties = mutableMapOf() private var hotSpotIsEnabled = false private var hotSpotAddresses = mapOf() private var mediaPlayer: MediaPlayer? = null @@ -141,6 +142,7 @@ class BaresipService: Service() { private var isNotificationInCall = false private var isServiceClean = false private var cleanupRunnable: Runnable? = null + private var previousMobileServiceState = -1 @SuppressLint("WakelockTimeout") override fun onCreate() { @@ -228,6 +230,8 @@ class BaresipService: Service() { override fun onLinkPropertiesChanged(network: Network, props: LinkProperties) { super.onLinkPropertiesChanged(network, props) + if (Utils.linkPropertiesEqual(props, lastLinkProperties[network])) return + lastLinkProperties[network] = props Log.d(TAG, "Network $network link properties changed: $props") synchronized(allNetworks) { if (network !in allNetworks) @@ -2323,6 +2327,8 @@ class BaresipService: Service() { } private fun updateMobileStatusFromServiceState(state: Int) { + if (state == previousMobileServiceState) return + previousMobileServiceState = state val isAirplaneModeOn = Utils.isAirplaneModeOn(this) val status = if (state == ServiceState.STATE_IN_SERVICE) circleGreen.getValue(colorblind) diff --git a/app/src/main/kotlin/com/tutpro/baresip/Utils.kt b/app/src/main/kotlin/com/tutpro/baresip/Utils.kt index 83714353..166ad925 100644 --- a/app/src/main/kotlin/com/tutpro/baresip/Utils.kt +++ b/app/src/main/kotlin/com/tutpro/baresip/Utils.kt @@ -1502,4 +1502,14 @@ object Utils { } Log.e(TAG, "--------------------------------------") } + + fun linkPropertiesEqual(p1: android.net.LinkProperties?, p2: android.net.LinkProperties?): Boolean { + if (p1 === p2) return true + if (p1 == null || p2 == null) return false + if (p1.interfaceName != p2.interfaceName) return false + if (p1.linkAddresses != p2.linkAddresses) return false + if (p1.dnsServers != p2.dnsServers) return false + if (p1.routes != p2.routes) return false + return true + } }