diff options
author | Joey Grover <joeygrover@gmail.com> | 2018-08-28 13:24:02 -0400 |
---|---|---|
committer | Joey Grover <joeygrover@gmail.com> | 2018-08-28 13:24:02 -0400 |
commit | 6d66732ddb382a62897f4bf308e41c2950900b13 (patch) | |
tree | 797817bab6a28a4b69d5d58e334af0627d37436b | |
parent | 536be1e09325811f858cc79af1d6fd2cdf283e24 (diff) | |
download | sdl_android-6d66732ddb382a62897f4bf308e41c2950900b13.tar.gz |
Add adtional synchnoization and safe guardsbugfix/issue_843
Check if transport is connected before calling exit foreground from timeout runnable
-rw-r--r-- | sdl_android/src/main/java/com/smartdevicelink/transport/SdlRouterService.java | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/sdl_android/src/main/java/com/smartdevicelink/transport/SdlRouterService.java b/sdl_android/src/main/java/com/smartdevicelink/transport/SdlRouterService.java index cac42b2d9..967f92dc5 100644 --- a/sdl_android/src/main/java/com/smartdevicelink/transport/SdlRouterService.java +++ b/sdl_android/src/main/java/com/smartdevicelink/transport/SdlRouterService.java @@ -1023,7 +1023,7 @@ public class SdlRouterService extends Service{ return FOREGROUND_TIMEOUT/1000; } - public void resetForegroundTimeOut(long delay){ + public synchronized void resetForegroundTimeOut(long delay){ if(android.os.Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB_MR2){ return; } @@ -1034,7 +1034,9 @@ public class SdlRouterService extends Service{ foregroundTimeoutRunnable = new Runnable() { @Override public void run() { - exitForeground(); + if(!isTransportConnected){ + exitForeground(); + } } }; }else{ @@ -1044,7 +1046,7 @@ public class SdlRouterService extends Service{ foregroundTimeoutHandler.postDelayed(foregroundTimeoutRunnable,delay); } - public void cancelForegroundTimeOut(){ + public synchronized void cancelForegroundTimeOut(){ if(foregroundTimeoutHandler != null && foregroundTimeoutRunnable != null){ foregroundTimeoutHandler.removeCallbacks(foregroundTimeoutRunnable); } |