diff --git a/app/src/main/kotlin/com/kelsos/mbrc/controller/RemoteService.kt b/app/src/main/kotlin/com/kelsos/mbrc/controller/RemoteService.kt index 528fb354f..d4be6e1c5 100644 --- a/app/src/main/kotlin/com/kelsos/mbrc/controller/RemoteService.kt +++ b/app/src/main/kotlin/com/kelsos/mbrc/controller/RemoteService.kt @@ -102,20 +102,21 @@ class RemoteService : Service() { return super.onStartCommand(intent, flags, startId) } - override fun onDestroy() { super.onDestroy() SERVICE_STOPPING = true; stopForeground(true) this.unregisterReceiver(receiver) - remoteController.executeCommand(MessageEvent(UserInputEventType.TerminateConnection)) - CommandRegistration.unregister(remoteController) - threadPoolExecutor?.shutdownNow() - Toothpick.closeScope(this) - - SERVICE_STOPPING = false - SERVICE_RUNNING = false - Timber.d("Background Service::Destroyed") + handler.postDelayed({ + remoteController.executeCommand(MessageEvent(UserInputEventType.TerminateConnection)) + CommandRegistration.unregister(remoteController) + threadPoolExecutor?.shutdownNow() + Toothpick.closeScope(this) + + SERVICE_STOPPING = false + SERVICE_RUNNING = false + Timber.d("Background Service::Destroyed") + }, 150) } private inner class ControllerBinder : Binder() { diff --git a/app/src/main/kotlin/com/kelsos/mbrc/services/SocketService.kt b/app/src/main/kotlin/com/kelsos/mbrc/services/SocketService.kt index 17bca14a0..7432693c9 100644 --- a/app/src/main/kotlin/com/kelsos/mbrc/services/SocketService.kt +++ b/app/src/main/kotlin/com/kelsos/mbrc/services/SocketService.kt @@ -93,6 +93,7 @@ constructor( Timber.v("Received action ${SocketAction.name(action)}") when (action) { RESET -> { + shouldStop = false; resetState() startSocket() cleanupSocket() @@ -127,7 +128,6 @@ constructor( private fun resetState() { connecting = false - shouldStop = false numOfRetries = 0 }