diff --git a/app/src/main/kotlin/com/tutpro/baresip/BaresipService.kt b/app/src/main/kotlin/com/tutpro/baresip/BaresipService.kt index 70229506..8ff6ce1d 100644 --- a/app/src/main/kotlin/com/tutpro/baresip/BaresipService.kt +++ b/app/src/main/kotlin/com/tutpro/baresip/BaresipService.kt @@ -363,6 +363,8 @@ class BaresipService: Service() { "Start" -> { + isStartReceived = true + if (VERSION.SDK_INT < 31) { @Suppress("DEPRECATION") allNetworks = cm.allNetworks.toMutableSet() @@ -1476,6 +1478,7 @@ class BaresipService: Service() { companion object { var isServiceRunning = false + var isStartReceived = false var isConfigInitialized = false var libraryLoaded = false var callVolume = 0 diff --git a/app/src/main/kotlin/com/tutpro/baresip/MainActivity.kt b/app/src/main/kotlin/com/tutpro/baresip/MainActivity.kt index 80d09844..8a8acded 100644 --- a/app/src/main/kotlin/com/tutpro/baresip/MainActivity.kt +++ b/app/src/main/kotlin/com/tutpro/baresip/MainActivity.kt @@ -172,7 +172,7 @@ class MainActivity : AppCompatActivity() { val event = it.getContentIfNotHandled() Log.d(TAG, "Observed event $event") if (event != null && BaresipService.serviceEvents.isNotEmpty()) { - val first = BaresipService.serviceEvents.first() + val first = BaresipService.serviceEvents.removeFirst() handleServiceEvent(first.event, first.params) } } @@ -989,11 +989,8 @@ class MainActivity : AppCompatActivity() { if (logMessage != null) Log.w(TAG, logMessage) if (BaresipService.serviceEvents.isNotEmpty()) { - BaresipService.serviceEvents.removeFirst() - if (BaresipService.serviceEvents.isNotEmpty()) { - val e = BaresipService.serviceEvents.first() - handleServiceEvent(e.event, e.params) - } + val first = BaresipService.serviceEvents.removeFirst() + handleServiceEvent(first.event, first.params) } } @@ -1679,10 +1676,12 @@ class MainActivity : AppCompatActivity() { } private fun startBaresip() { - baresipService.action = "Start" - startService(baresipService) - if (atStartup) - moveTaskToBack(true) + if (!BaresipService.isStartReceived) { + baresipService.action = "Start" + startService(baresipService) + if (atStartup) + moveTaskToBack(true) + } } private fun backup(password: String) {