diff options
author | Joey Grover <joeygrover@gmail.com> | 2022-03-23 14:46:45 -0400 |
---|---|---|
committer | Joey Grover <joeygrover@gmail.com> | 2022-03-23 14:46:45 -0400 |
commit | 06f3cd8e3f0db0d09438600de53ca4c363e6cbb1 (patch) | |
tree | 126ce436cbbb3379687eb4d9389bfc6f1d198a0c | |
parent | e1ed2b9437fb38fd68e83784f63c644b65e74fb3 (diff) | |
download | sdl_android-06f3cd8e3f0db0d09438600de53ca4c363e6cbb1.tar.gz |
Fix altTransport timer issues preventing RS close
-rw-r--r-- | android/sdl_android/src/main/java/com/smartdevicelink/transport/SdlRouterService.java | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/android/sdl_android/src/main/java/com/smartdevicelink/transport/SdlRouterService.java b/android/sdl_android/src/main/java/com/smartdevicelink/transport/SdlRouterService.java index b571c7367..0cac878e1 100644 --- a/android/sdl_android/src/main/java/com/smartdevicelink/transport/SdlRouterService.java +++ b/android/sdl_android/src/main/java/com/smartdevicelink/transport/SdlRouterService.java @@ -1758,7 +1758,7 @@ public class SdlRouterService extends Service { } else if (intent != null && TransportConstants.BIND_REQUEST_TYPE_ALT_TRANSPORT.equals(intent.getAction())) { DebugTool.logInfo(TAG, "Received start intent with alt transport request."); - startAltTransportTimer(); + startAltTransportTimer(); //This timer is started to allow the router service to stay open while it waits for the USB transfer to take place return true; } else if (!bluetoothAvailable()) {//If bluetooth isn't on...there's nothing to see here //Bluetooth is off, we should shut down @@ -1980,6 +1980,12 @@ public class SdlRouterService extends Service { usbSessionMap.clear(); } } + //In case the USB connection has ended before the timer expired, we should stop it + if(altTransportTimerHandler != null && altTransportTimerRunnable != null) { + altTransportTimerHandler.removeCallbacks(altTransportTimerRunnable); + altTransportTimerHandler = null; + altTransportTimerRunnable = null; + } break; case TCP: if (tcpTransport != null) { @@ -2631,6 +2637,11 @@ public class SdlRouterService extends Service { if (Looper.myLooper() == null) { Looper.prepare(); } + + if(altTransportTimerHandler != null && altTransportTimerRunnable != null) { + altTransportTimerHandler.removeCallbacks(altTransportTimerRunnable); + } + altTransportTimerHandler = new Handler(Looper.myLooper()); altTransportTimerRunnable = new Runnable() { public void run() { |