summaryrefslogtreecommitdiff
path: root/android
diff options
context:
space:
mode:
Diffstat (limited to 'android')
-rw-r--r--android/sdl_android/src/main/java/com/smartdevicelink/managers/SdlManager.java7
-rw-r--r--android/sdl_android/src/main/java/com/smartdevicelink/managers/lifecycle/LifecycleManager.java7
2 files changed, 11 insertions, 3 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 9fcb65b12..6dc3ce4aa 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
@@ -237,6 +237,11 @@ public class SdlManager extends BaseSdlManager {
@SuppressLint("NewApi")
@Override
public synchronized void dispose() {
+ int state = getState();
+ if (state == BaseSubManager.SHUTDOWN || state == BaseSubManager.ERROR) {
+ DebugTool.logInfo(TAG, "SdlManager already disposed");
+ return;
+ }
if (this.permissionManager != null) {
this.permissionManager.dispose();
}
@@ -414,7 +419,7 @@ public class SdlManager extends BaseSdlManager {
@Override
public void stop() {
- lifecycleManager.getInternalInterface(SdlManager.this).start();
+ lifecycleManager.getInternalInterface(SdlManager.this).stop();
}
@Override
diff --git a/android/sdl_android/src/main/java/com/smartdevicelink/managers/lifecycle/LifecycleManager.java b/android/sdl_android/src/main/java/com/smartdevicelink/managers/lifecycle/LifecycleManager.java
index 8324e6344..bfe73c19f 100644
--- a/android/sdl_android/src/main/java/com/smartdevicelink/managers/lifecycle/LifecycleManager.java
+++ b/android/sdl_android/src/main/java/com/smartdevicelink/managers/lifecycle/LifecycleManager.java
@@ -32,6 +32,8 @@
package com.smartdevicelink.managers.lifecycle;
+import static com.smartdevicelink.managers.BaseSubManager.SETTING_UP;
+
import android.content.Context;
import androidx.annotation.RestrictTo;
@@ -89,12 +91,13 @@ public class LifecycleManager extends BaseLifecycleManager {
@Override
void cycle(SdlDisconnectedReason disconnectedReason) {
- clean();
- initialize();
+ clean(true);
if (!SdlDisconnectedReason.LEGACY_BLUETOOTH_MODE_ENABLED.equals(disconnectedReason) && !SdlDisconnectedReason.PRIMARY_TRANSPORT_CYCLE_REQUEST.equals(disconnectedReason)) {
//We don't want to alert higher if we are just cycling for legacy bluetooth
onClose("Sdl Proxy Cycled", new SdlException("Sdl Proxy Cycled", SdlExceptionCause.SDL_PROXY_CYCLED), disconnectedReason);
}
+ transitionToState(SETTING_UP);
+ initialize();
synchronized (SESSION_LOCK) {
if (session != null) {
try {