diff options
author | Bilal Alsharifi <bilal.alsharifi@gmail.com> | 2020-06-19 13:54:07 -0400 |
---|---|---|
committer | Bilal Alsharifi <bilal.alsharifi@gmail.com> | 2020-06-19 13:54:07 -0400 |
commit | 2138ec75bd29e8e01073fcfd602200fede7938e6 (patch) | |
tree | 9d1e2c755d2f28f9902493df5ab1aa5fc4c19dd1 | |
parent | 170771fbb44cfb6d05f45f111c11741714fc98b6 (diff) | |
download | sdl_android-feature/change_lang_reconnect.tar.gz |
Put the onProxyClosed() logic in BaseSdlManagerfeature/change_lang_reconnect
5 files changed, 22 insertions, 22 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 c4a7a10cc..e73a5b62d 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 @@ -211,14 +211,6 @@ public class SdlManager extends BaseSdlManager { } } - @Override - void onProxyClosed(SdlDisconnectedReason reason) { - Log.i(TAG, "Proxy is closed."); - if (reason == null || !reason.equals(SdlDisconnectedReason.LANGUAGE_CHANGE)) { - dispose(); - } - } - /** * Dispose SdlManager and clean its resources * <strong>Note: new instance of SdlManager should be created on every connection. SdlManager cannot be reused after getting disposed.</strong> diff --git a/base/src/main/java/com/smartdevicelink/managers/BaseSdlManager.java b/base/src/main/java/com/smartdevicelink/managers/BaseSdlManager.java index c52f27b2d..be128c303 100644 --- a/base/src/main/java/com/smartdevicelink/managers/BaseSdlManager.java +++ b/base/src/main/java/com/smartdevicelink/managers/BaseSdlManager.java @@ -142,7 +142,10 @@ abstract class BaseSdlManager { @Override public void onProxyClosed(LifecycleManager lifeCycleManager, String info, Exception e, SdlDisconnectedReason reason) { - BaseSdlManager.this.onProxyClosed(reason); + Log.i(TAG, "Proxy is closed."); + if (reason == null || !reason.equals(SdlDisconnectedReason.LANGUAGE_CHANGE)) { + dispose(); + } } @Override @@ -165,8 +168,6 @@ abstract class BaseSdlManager { // ABSTRACT METHODS abstract void retryChangeRegistration(); - abstract void onProxyClosed(SdlDisconnectedReason reason); - abstract void checkState(); abstract void initialize(); diff --git a/base/src/main/java/com/smartdevicelink/managers/lifecycle/BaseLifecycleManager.java b/base/src/main/java/com/smartdevicelink/managers/lifecycle/BaseLifecycleManager.java index eeb8c6da6..ece981121 100644 --- a/base/src/main/java/com/smartdevicelink/managers/lifecycle/BaseLifecycleManager.java +++ b/base/src/main/java/com/smartdevicelink/managers/lifecycle/BaseLifecycleManager.java @@ -1496,8 +1496,7 @@ abstract class BaseLifecycleManager { } } - void cycleProxy(SdlDisconnectedReason disconnectedReason) { - } + abstract void cycleProxy(SdlDisconnectedReason disconnectedReason); void onTransportDisconnected(String info, boolean availablePrimary, BaseTransportConfig transportConfig) { } diff --git a/javaSE/src/main/java/com/smartdevicelink/managers/SdlManager.java b/javaSE/src/main/java/com/smartdevicelink/managers/SdlManager.java index a711438cc..3edb6b4ea 100644 --- a/javaSE/src/main/java/com/smartdevicelink/managers/SdlManager.java +++ b/javaSE/src/main/java/com/smartdevicelink/managers/SdlManager.java @@ -142,14 +142,6 @@ public class SdlManager extends BaseSdlManager { } @Override - void onProxyClosed(SdlDisconnectedReason reason) { - Log.i(TAG, "Proxy is closed."); - if (managerListener != null) { - managerListener.onDestroy(SdlManager.this); - } - } - - @Override public void dispose() { if (this.permissionManager != null) { this.permissionManager.dispose(); diff --git a/javaSE/src/main/java/com/smartdevicelink/managers/lifecycle/LifecycleManager.java b/javaSE/src/main/java/com/smartdevicelink/managers/lifecycle/LifecycleManager.java index 4a5e3747d..2bd6c1a78 100644 --- a/javaSE/src/main/java/com/smartdevicelink/managers/lifecycle/LifecycleManager.java +++ b/javaSE/src/main/java/com/smartdevicelink/managers/lifecycle/LifecycleManager.java @@ -35,6 +35,8 @@ package com.smartdevicelink.managers.lifecycle; import android.support.annotation.RestrictTo; import com.smartdevicelink.SdlConnection.SdlSession; +import com.smartdevicelink.exception.SdlException; +import com.smartdevicelink.proxy.rpc.enums.SdlDisconnectedReason; import com.smartdevicelink.transport.BaseTransportConfig; /** @@ -54,10 +56,24 @@ public class LifecycleManager extends BaseLifecycleManager { } @Override + void cycleProxy(SdlDisconnectedReason disconnectedReason) { + if (session != null) { + if (session.getIsConnected()) { + session.close(); + } + try { + session.startSession(); + } catch (SdlException e) { + e.printStackTrace(); + } + } + } + + @Override void onTransportDisconnected(String info, boolean availablePrimary, BaseTransportConfig transportConfig) { super.onTransportDisconnected(info, availablePrimary, transportConfig); if (!availablePrimary) { - onClose(info, null); + onClose(info, null, null); } } } |