summaryrefslogtreecommitdiff
path: root/android
diff options
context:
space:
mode:
authorRobert Henigan <robert.henigan@livio.io>2022-02-08 12:41:10 -0500
committerGitHub <noreply@github.com>2022-02-08 12:41:10 -0500
commitb51cda07b5827614fa33c991fe3b09687ffe1950 (patch)
tree3e3613d1985d875e7dcdf15ac245a9e7c01b334e /android
parent3d1e54e1b59a13aa81daa936491e04fd1fed3c93 (diff)
parente816eec7c9d9223ba2ec8e226536451821f541e2 (diff)
downloadsdl_android-b51cda07b5827614fa33c991fe3b09687ffe1950.tar.gz
Merge pull request #1786 from smartdevicelink/bugfix/issue_1783
Attepted fix of NPE in #1783
Diffstat (limited to 'android')
-rw-r--r--android/sdl_android/src/main/java/com/smartdevicelink/managers/SdlManager.java33
1 files changed, 25 insertions, 8 deletions
diff --git a/android/sdl_android/src/main/java/com/smartdevicelink/managers/SdlManager.java b/android/sdl_android/src/main/java/com/smartdevicelink/managers/SdlManager.java
index 92a396f85..9fcb65b12 100644
--- a/android/sdl_android/src/main/java/com/smartdevicelink/managers/SdlManager.java
+++ b/android/sdl_android/src/main/java/com/smartdevicelink/managers/SdlManager.java
@@ -91,6 +91,19 @@ public class SdlManager extends BaseSdlManager {
private VideoStreamManager videoStreamManager;
private AudioStreamManager audioStreamManager;
+ private Handler handler = new Handler(Looper.getMainLooper());
+ private Runnable changeRegistrationRunnable = new Runnable() {
+ @Override
+ public void run() {
+ checkLifecycleConfiguration();
+ DebugTool.logInfo(TAG, "Retry Change Registration Count: " + changeRegistrationRetry);
+ }
+ };
+
+ public SdlManager() {
+ DebugTool.logWarning(TAG, "SdlManager must be created with SdlManager.Builder");
+ }
+
/**
* Starts up a SdlManager, and calls provided callback called once all BaseSubManagers are done setting up
*/
@@ -211,14 +224,9 @@ public class SdlManager extends BaseSdlManager {
void retryChangeRegistration() {
changeRegistrationRetry++;
if (changeRegistrationRetry < MAX_RETRY) {
- final Handler handler = new Handler(Looper.getMainLooper());
- handler.postDelayed(new Runnable() {
- @Override
- public void run() {
- checkLifecycleConfiguration();
- DebugTool.logInfo(TAG, "Retry Change Registration Count: " + changeRegistrationRetry);
- }
- }, 3000);
+ if (handler != null && changeRegistrationRunnable != null) {
+ handler.postDelayed(changeRegistrationRunnable, 3000);
+ }
}
}
@@ -258,6 +266,15 @@ public class SdlManager extends BaseSdlManager {
this.lifecycleManager.stop();
}
+ if (handler != null) {
+ if (changeRegistrationRunnable != null) {
+ handler.removeCallbacks(changeRegistrationRunnable);
+ changeRegistrationRunnable = null;
+ }
+
+ handler = null;
+ }
+
if (managerListener != null) {
managerListener.onDestroy();
managerListener = null;