diff options
author | Bilal Alsharifi <bilal.alsharifi@gmail.com> | 2020-05-29 13:44:08 -0400 |
---|---|---|
committer | Bilal Alsharifi <bilal.alsharifi@gmail.com> | 2020-05-29 13:44:08 -0400 |
commit | 2e23c196821cd99acd2a3d9a7d61cb14770e4705 (patch) | |
tree | aeff8eb5d76a9e9fc7352b3047a54eed49d4e6e7 | |
parent | b414208899ac8872b4bacf85c99cd2c14c467199 (diff) | |
download | sdl_android-2e23c196821cd99acd2a3d9a7d61cb14770e4705.tar.gz |
Update code formatting
6 files changed, 154 insertions, 233 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 6be06f673..4b4cbddef 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 @@ -74,23 +74,79 @@ public class SdlManager extends BaseSdlManager{ private Context context; private LockScreenConfig lockScreenConfig; - // Managers private LockScreenManager lockScreenManager; private VideoStreamManager videoStreamManager; private AudioStreamManager audioStreamManager; + /** + * Starts up a SdlManager, and calls provided callback called once all BaseSubManagers are done setting up + */ + @Override + public void start(){ + if (lifecycleManager == null) { + if(transport!= null && transport.getTransportType() == TransportType.MULTIPLEX){ + //Do the thing + MultiplexTransportConfig multiplexTransportConfig = (MultiplexTransportConfig)(transport); + final MultiplexTransportConfig.TransportListener devListener = multiplexTransportConfig.getTransportListener(); + multiplexTransportConfig.setTransportListener(new MultiplexTransportConfig.TransportListener() { + @Override + public void onTransportEvent(List<TransportRecord> connectedTransports, boolean audioStreamTransportAvail, boolean videoStreamTransportAvail) { + + //Pass to submanagers that need it + if(videoStreamManager != null){ + videoStreamManager.handleTransportUpdated(connectedTransports, audioStreamTransportAvail, videoStreamTransportAvail); + } + + if(audioStreamManager != null){ + audioStreamManager.handleTransportUpdated(connectedTransports, audioStreamTransportAvail, videoStreamTransportAvail); + } + //If the developer supplied a listener to start, it is time to call that + if(devListener != null){ + devListener.onTransportEvent(connectedTransports,audioStreamTransportAvail,videoStreamTransportAvail); + } + } + }); + + //If the requires audio support has not been set, it should be set to true if the + //app is a media app, and false otherwise + if(multiplexTransportConfig.requiresAudioSupport() == null){ + multiplexTransportConfig.setRequiresAudioSupport(isMediaApp); + } + } + + super.start(); + } + } @Override - void onProxyClosed(SdlDisconnectedReason reason) { - Log.i(TAG,"Proxy is closed."); - if(managerListener != null){ - managerListener.onDestroy(); + protected void initialize(){ + // Instantiate sub managers + this.permissionManager = new PermissionManager(_internalInterface); + this.fileManager = new FileManager(_internalInterface, context, fileManagerConfig); + if (lockScreenConfig.isEnabled()) { + this.lockScreenManager = new LockScreenManager(lockScreenConfig, context, _internalInterface); + } + this.screenManager = new ScreenManager(_internalInterface, this.fileManager); + if(getAppTypes().contains(AppHMIType.NAVIGATION) || getAppTypes().contains(AppHMIType.PROJECTION)){ + this.videoStreamManager = new VideoStreamManager(_internalInterface); + } else { + this.videoStreamManager = null; + } + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN + && (getAppTypes().contains(AppHMIType.NAVIGATION) || getAppTypes().contains(AppHMIType.PROJECTION)) ) { + this.audioStreamManager = new AudioStreamManager(_internalInterface, context); + } else { + this.audioStreamManager = null; } - if (!reason.equals(SdlDisconnectedReason.LANGUAGE_CHANGE)){ - dispose(); + // Start sub managers + this.permissionManager.start(subManagerListener); + this.fileManager.start(subManagerListener); + if (lockScreenConfig.isEnabled()){ + this.lockScreenManager.start(subManagerListener); } + this.screenManager.start(subManagerListener); } @Override @@ -153,33 +209,15 @@ public class SdlManager extends BaseSdlManager{ } @Override - protected void initialize(){ - // Instantiate sub managers - this.permissionManager = new PermissionManager(_internalInterface); - this.fileManager = new FileManager(_internalInterface, context, fileManagerConfig); - if (lockScreenConfig.isEnabled()) { - this.lockScreenManager = new LockScreenManager(lockScreenConfig, context, _internalInterface); - } - this.screenManager = new ScreenManager(_internalInterface, this.fileManager); - if(getAppTypes().contains(AppHMIType.NAVIGATION) || getAppTypes().contains(AppHMIType.PROJECTION)){ - this.videoStreamManager = new VideoStreamManager(_internalInterface); - } else { - this.videoStreamManager = null; - } - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN - && (getAppTypes().contains(AppHMIType.NAVIGATION) || getAppTypes().contains(AppHMIType.PROJECTION)) ) { - this.audioStreamManager = new AudioStreamManager(_internalInterface, context); - } else { - this.audioStreamManager = null; + void onProxyClosed(SdlDisconnectedReason reason) { + Log.i(TAG,"Proxy is closed."); + if(managerListener != null){ + managerListener.onDestroy(); } - // Start sub managers - this.permissionManager.start(subManagerListener); - this.fileManager.start(subManagerListener); - if (lockScreenConfig.isEnabled()){ - this.lockScreenManager.start(subManagerListener); + if (!reason.equals(SdlDisconnectedReason.LANGUAGE_CHANGE)){ + dispose(); } - this.screenManager.start(subManagerListener); } /** Dispose SdlManager and clean its resources @@ -226,8 +264,6 @@ public class SdlManager extends BaseSdlManager{ } // MANAGER GETTERS - - /** * Gets the VideoStreamManager. <br> * The VideoStreamManager returned will only be not null if the registered app type is @@ -255,7 +291,6 @@ public class SdlManager extends BaseSdlManager{ return audioStreamManager; } - /** * Gets the LockScreenManager. <br> * <strong>Note: LockScreenManager should be used only after SdlManager.start() CompletionListener callback is completed successfully.</strong> @@ -269,59 +304,9 @@ public class SdlManager extends BaseSdlManager{ return lockScreenManager; } - - // PROTECTED GETTERS - protected LockScreenConfig getLockScreenConfig() { return lockScreenConfig; } - - - // LIFECYCLE / OTHER - - // STARTUP - - /** - * Starts up a SdlManager, and calls provided callback called once all BaseSubManagers are done setting up - */ - @Override - public void start(){ - if (lifecycleManager == null) { - if(transport!= null && transport.getTransportType() == TransportType.MULTIPLEX){ - //Do the thing - MultiplexTransportConfig multiplexTransportConfig = (MultiplexTransportConfig)(transport); - final MultiplexTransportConfig.TransportListener devListener = multiplexTransportConfig.getTransportListener(); - multiplexTransportConfig.setTransportListener(new MultiplexTransportConfig.TransportListener() { - @Override - public void onTransportEvent(List<TransportRecord> connectedTransports, boolean audioStreamTransportAvail, boolean videoStreamTransportAvail) { - - //Pass to submanagers that need it - if(videoStreamManager != null){ - videoStreamManager.handleTransportUpdated(connectedTransports, audioStreamTransportAvail, videoStreamTransportAvail); - } - - if(audioStreamManager != null){ - audioStreamManager.handleTransportUpdated(connectedTransports, audioStreamTransportAvail, videoStreamTransportAvail); - } - //If the developer supplied a listener to start, it is time to call that - if(devListener != null){ - devListener.onTransportEvent(connectedTransports,audioStreamTransportAvail,videoStreamTransportAvail); - } - } - }); - - //If the requires audio support has not been set, it should be set to true if the - //app is a media app, and false otherwise - if(multiplexTransportConfig.requiresAudioSupport() == null){ - multiplexTransportConfig.setRequiresAudioSupport(isMediaApp); - } - } - - super.start(); - } - } - - // BUILDER public static class Builder extends BaseSdlManager.Builder{ /** @@ -358,7 +343,6 @@ public class SdlManager extends BaseSdlManager{ return this; } - /** * Sets the Context * @param context @@ -368,7 +352,6 @@ public class SdlManager extends BaseSdlManager{ return this; } - /** * Build SdlManager ang get it ready to be started * <strong>Note: new instance of SdlManager should be created on every connection. SdlManager cannot be reused after getting disposed.</strong> 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 71f3adc8f..dca8d0253 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 @@ -36,14 +36,11 @@ import android.support.annotation.RestrictTo; import com.smartdevicelink.SdlConnection.SdlSession; import com.smartdevicelink.SdlConnection.SdlSession2; -import com.smartdevicelink.proxy.SystemCapabilityManager; import com.smartdevicelink.transport.BaseTransportConfig; import com.smartdevicelink.transport.MultiplexTransportConfig; import com.smartdevicelink.transport.TCPTransportConfig; import com.smartdevicelink.transport.enums.TransportType; -import java.util.HashMap; - /** * The lifecycle manager creates a central point for all SDL session logic to converge. It should only be used by * the library itself. Usage outside the library is not permitted and will not be protected for in the future. @@ -52,17 +49,7 @@ import java.util.HashMap; @RestrictTo(RestrictTo.Scope.LIBRARY) public class LifecycleManager extends BaseLifecycleManager { public LifecycleManager(AppConfig appConfig, BaseTransportConfig config, LifecycleListener listener){ - - this.lifecycleListener = listener; - - this.rpcListeners = new HashMap<>(); - this.rpcResponseListeners = new HashMap<>(); - this.rpcNotificationListeners = new HashMap<>(); - this.rpcRequestListeners = new HashMap<>(); - - this.appConfig = appConfig; - this.minimumProtocolVersion = appConfig.getMinimumProtocolVersion(); - this.minimumRPCVersion = appConfig.getMinimumRPCVersion(); + super(appConfig, config, listener); if (config != null && config.getTransportType().equals(TransportType.MULTIPLEX)) { this.session = new SdlSession2(sdlConnectionListener, (MultiplexTransportConfig) config); @@ -71,7 +58,5 @@ public class LifecycleManager extends BaseLifecycleManager { }else { this.session = SdlSession.createSession((byte)getProtocolVersion().getMajor(),sdlConnectionListener, config); } - - this.systemCapabilityManager = new SystemCapabilityManager(internalInterface); } } diff --git a/base/src/main/java/com/smartdevicelink/managers/BaseSdlManager.java b/base/src/main/java/com/smartdevicelink/managers/BaseSdlManager.java index cc5494ff9..c09c0560c 100644 --- a/base/src/main/java/com/smartdevicelink/managers/BaseSdlManager.java +++ b/base/src/main/java/com/smartdevicelink/managers/BaseSdlManager.java @@ -110,7 +110,6 @@ abstract class BaseSdlManager { FileManager fileManager; ScreenManager screenManager; - // INTERNAL INTERFACE /** * This is from the LifeCycleManager directly. In the future if there is a reason to be a man in the middle @@ -118,7 +117,6 @@ abstract class BaseSdlManager { */ ISdl _internalInterface; - // Initialize with anonymous lifecycleListener final LifecycleManager.LifecycleListener lifecycleListener = new LifecycleManager.LifecycleListener() { boolean initStarted = false; @@ -149,7 +147,6 @@ abstract class BaseSdlManager { BaseSdlManager.this.onProxyClosed(reason); } - @Override public void onError(LifecycleManager lifeCycleManager, String info, Exception e) { @@ -167,30 +164,12 @@ abstract class BaseSdlManager { } }; - // PROTECTED GETTERS - protected String getAppName() { return appName; } - - protected String getAppId() { return appId; } - - protected String getShortAppName() { return shortAppName; } - - protected Version getMinimumProtocolVersion() { return minimumProtocolVersion; } - - protected Version getMinimumRPCVersion() { return minimumRPCVersion; } - - protected Language getHmiLanguage() { return hmiLanguage; } - - protected TemplateColorScheme getDayColorScheme() { return dayColorScheme; } - - protected TemplateColorScheme getNightColorScheme() { return nightColorScheme; } - - protected Vector<AppHMIType> getAppTypes() { return hmiTypes; } - - protected Vector<String> getVrSynonyms() { return vrSynonyms; } - - protected Vector<TTSChunk> getTtsChunks() { return ttsChunks; } - - protected BaseTransportConfig getTransport() { return transport; } + // ABSTRACT METHODS + abstract void retryChangeRegistration(); + abstract void onProxyClosed(SdlDisconnectedReason reason); + abstract void checkState(); + abstract void initialize(); + public abstract void dispose(); protected void checkLifecycleConfiguration() { final Language actualLanguage = lifecycleManager.getRegisterAppInterfaceResponse().getLanguage(); @@ -321,14 +300,6 @@ abstract class BaseSdlManager { } } - abstract void retryChangeRegistration(); - abstract void onProxyClosed(SdlDisconnectedReason reason); - abstract void checkState(); - abstract void initialize(); - public abstract void dispose(); - - - /** * Starts up a SdlManager, and calls provided callback called once all BaseSubManagers are done setting up */ @@ -362,7 +333,6 @@ abstract class BaseSdlManager { lifecycleManager.start(); } - void onReady(){ // Set the app icon if (BaseSdlManager.this.appIcon != null && BaseSdlManager.this.appIcon.getName() != null) { @@ -383,11 +353,32 @@ abstract class BaseSdlManager { } } + // PROTECTED GETTERS + protected String getAppName() { return appName; } + protected String getAppId() { return appId; } + protected String getShortAppName() { return shortAppName; } + protected Version getMinimumProtocolVersion() { return minimumProtocolVersion; } + protected Version getMinimumRPCVersion() { return minimumRPCVersion; } + protected Language getHmiLanguage() { return hmiLanguage; } + + protected TemplateColorScheme getDayColorScheme() { return dayColorScheme; } + + protected TemplateColorScheme getNightColorScheme() { return nightColorScheme; } + + protected Vector<AppHMIType> getAppTypes() { return hmiTypes; } + + protected Vector<String> getVrSynonyms() { return vrSynonyms; } + + protected Vector<TTSChunk> getTtsChunks() { return ttsChunks; } + + protected BaseTransportConfig getTransport() { return transport; } + + protected FileManagerConfig getFileManagerConfig() { return fileManagerConfig; } // MANAGER GETTERS /** @@ -464,10 +455,6 @@ abstract class BaseSdlManager { return null; } - // PROTECTED GETTERS - - protected FileManagerConfig getFileManagerConfig() { return fileManagerConfig; } - /** * Retrieves the auth token, if any, that was attached to the StartServiceACK for the RPC * service from the module. For example, this should be used to login to a user account. @@ -499,7 +486,6 @@ abstract class BaseSdlManager { * @param listener listener for updates and completions */ public void sendSequentialRPCs(final List<? extends RPCMessage> rpcs, final OnMultipleRequestListener listener){ - List<RPCRequest> rpcRequestList = new ArrayList<>(); for (int i = 0; i < rpcs.size(); i++) { if (rpcs.get(i) instanceof RPCRequest){ @@ -524,7 +510,6 @@ abstract class BaseSdlManager { * @param listener listener for updates and completions */ public void sendRPCs(List<? extends RPCMessage> rpcs, final OnMultipleRequestListener listener) { - List<RPCRequest> rpcRequestList = new ArrayList<>(); for (int i = 0; i < rpcs.size(); i++) { if (rpcs.get(i) instanceof RPCRequest){ @@ -569,10 +554,6 @@ abstract class BaseSdlManager { _internalInterface.removeOnRPCRequestListener(requestId, listener); } - // LIFECYCLE / OTHER - - - // BUILDER public static class Builder { SdlManager sdlManager; @@ -677,7 +658,6 @@ abstract class BaseSdlManager { * MEDIA HMIType should be included. */ public Builder setAppTypes(final Vector<AppHMIType> hmiTypes){ - sdlManager.hmiTypes = hmiTypes; if (hmiTypes != null) { @@ -770,7 +750,6 @@ abstract class BaseSdlManager { } public SdlManager build() { - if (sdlManager.appName == null) { throw new IllegalArgumentException("You must specify an app name by calling setAppName"); } @@ -820,5 +799,4 @@ abstract class BaseSdlManager { lifecycleManager.startRPCEncryption(); } } - } 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 241670bbe..3f7f6c73e 100644 --- a/base/src/main/java/com/smartdevicelink/managers/lifecycle/BaseLifecycleManager.java +++ b/base/src/main/java/com/smartdevicelink/managers/lifecycle/BaseLifecycleManager.java @@ -104,49 +104,51 @@ import java.util.concurrent.CopyOnWriteArrayList; abstract class BaseLifecycleManager { private static final String TAG = "Lifecycle Manager"; - public static final Version MAX_SUPPORTED_RPC_VERSION = new Version(6, 0, 0); // Protected Correlation IDs - private final int REGISTER_APP_INTERFACE_CORRELATION_ID = 65529, + private final int REGISTER_APP_INTERFACE_CORRELATION_ID = 65529, UNREGISTER_APP_INTERFACE_CORRELATION_ID = 65530; - // Sdl Synchronization Objects private static final Object RPC_LISTENER_LOCK = new Object(), ON_UPDATE_LISTENER_LOCK = new Object(), ON_REQUEST_LISTENER_LOCK = new Object(), ON_NOTIFICATION_LISTENER_LOCK = new Object(); - - SdlSession session; AppConfig appConfig; - - //protected Version protocolVersion = new Version(1,0,0); - protected Version rpcSpecVersion = MAX_SUPPORTED_RPC_VERSION; - - + Version rpcSpecVersion = MAX_SUPPORTED_RPC_VERSION; HashMap<Integer, CopyOnWriteArrayList<OnRPCListener>> rpcListeners; HashMap<Integer, OnRPCResponseListener> rpcResponseListeners; HashMap<Integer, CopyOnWriteArrayList<OnRPCNotificationListener>> rpcNotificationListeners; HashMap<Integer, CopyOnWriteArrayList<OnRPCRequestListener>> rpcRequestListeners; - SystemCapabilityManager systemCapabilityManager; private EncryptionLifecycleManager encryptionLifecycleManager; - - protected RegisterAppInterfaceResponse raiResponse = null; - + RegisterAppInterfaceResponse raiResponse = null; private OnHMIStatus currentHMIStatus; - protected boolean firstTimeFull = true; - + boolean firstTimeFull = true; LifecycleListener lifecycleListener; - private List<Class<? extends SdlSecurityBase>> _secList = null; private String authToken; Version minimumProtocolVersion; Version minimumRPCVersion; + BaseLifecycleManager(AppConfig appConfig, BaseTransportConfig config, LifecycleListener listener){ + this.lifecycleListener = listener; + + this.rpcListeners = new HashMap<>(); + this.rpcResponseListeners = new HashMap<>(); + this.rpcNotificationListeners = new HashMap<>(); + this.rpcRequestListeners = new HashMap<>(); + + this.appConfig = appConfig; + this.minimumProtocolVersion = appConfig.getMinimumProtocolVersion(); + this.minimumRPCVersion = appConfig.getMinimumRPCVersion(); + + this.systemCapabilityManager = new SystemCapabilityManager(internalInterface); + } + public void start(){ try { setupInternalRpcListeners(); @@ -154,7 +156,6 @@ abstract class BaseLifecycleManager { } catch (SdlException e) { e.printStackTrace(); } - } /** @@ -322,7 +323,6 @@ abstract class BaseLifecycleManager { return this.raiResponse; } - /** * Get the current OnHMIStatus * @return OnHMIStatus object represents the current OnHMIStatus @@ -353,7 +353,6 @@ abstract class BaseLifecycleManager { return null; } - /* ******************************************************************************************************* ********************************** INTERNAL - RPC LISTENERS !! START !! ********************************* *********************************************************************************************************/ @@ -367,7 +366,6 @@ abstract class BaseLifecycleManager { addRpcListener(FunctionID.UNREGISTER_APP_INTERFACE, rpcListener); } - private OnRPCListener rpcListener = new OnRPCListener() { @Override public void onReceived(RPCMessage message) { @@ -723,8 +721,6 @@ abstract class BaseLifecycleManager { **************************************** RPC LISTENERS !! END !! **************************************** *********************************************************************************************************/ - - private void sendRPCMessagePrivate(RPCMessage message){ try { //FIXME this is temporary until the next major release of the library where OK is removed @@ -757,7 +753,6 @@ abstract class BaseLifecycleManager { } } - message.format(rpcSpecVersion,true); byte[] msgBytes = JsonRPCMarshaller.marshall(message, (byte)getProtocolVersion().getMajor()); @@ -833,8 +828,6 @@ abstract class BaseLifecycleManager { } } - - /* ******************************************************************************************************* *************************************** ISdlConnectionListener START ************************************ *********************************************************************************************************/ @@ -1354,7 +1347,6 @@ abstract class BaseLifecycleManager { } } - /** * Temporary method to bridge the new PLAY_PAUSE and OKAY button functionality with the old * OK button name. This should be removed during the next major release diff --git a/javaSE/src/main/java/com/smartdevicelink/managers/SdlManager.java b/javaSE/src/main/java/com/smartdevicelink/managers/SdlManager.java index 53843c1bd..a5e36b8b2 100644 --- a/javaSE/src/main/java/com/smartdevicelink/managers/SdlManager.java +++ b/javaSE/src/main/java/com/smartdevicelink/managers/SdlManager.java @@ -42,7 +42,6 @@ import com.smartdevicelink.proxy.rpc.enums.SdlDisconnectedReason; import com.smartdevicelink.transport.enums.TransportType; import com.smartdevicelink.util.DebugTool; - /** * <strong>SDLManager</strong> <br> * @@ -57,16 +56,43 @@ import com.smartdevicelink.util.DebugTool; */ public class SdlManager extends BaseSdlManager { + /** + * Starts up a SdlManager, and calls provided callback called once all BaseSubManagers are done setting up + */ + @SuppressWarnings("unchecked") + public void start() { + Runtime.getRuntime().addShutdownHook(new Thread() { + @Override + public void run() { + dispose(); + } + }); - @Override - void onProxyClosed(SdlDisconnectedReason reason) { - Log.i(TAG,"Proxy is closed."); - if(managerListener != null){ - managerListener.onDestroy(SdlManager.this); + Log.i(TAG, "start"); + if (lifecycleManager == null) { + if (transport != null + && (transport.getTransportType().equals(TransportType.WEB_SOCKET_SERVER) || transport.getTransportType().equals(TransportType.CUSTOM))) { + super.start(); + } else { + throw new RuntimeException("No transport provided"); + } } } @Override + protected void initialize(){ + // Instantiate sub managers + this.permissionManager = new PermissionManager(_internalInterface); + this.fileManager = new FileManager(_internalInterface, fileManagerConfig); + this.screenManager = new ScreenManager(_internalInterface, this.fileManager); + + // Start sub managers + this.permissionManager.start(subManagerListener); + this.fileManager.start(subManagerListener); + this.screenManager.start(subManagerListener); + } + + @Override void checkState() { if (permissionManager != null && fileManager != null && screenManager != null ){ if (permissionManager.getState() == BaseSubManager.READY && fileManager.getState() == BaseSubManager.READY && screenManager.getState() == BaseSubManager.READY){ @@ -116,16 +142,11 @@ public class SdlManager extends BaseSdlManager { } @Override - protected void initialize(){ - // Instantiate sub managers - this.permissionManager = new PermissionManager(_internalInterface); - this.fileManager = new FileManager(_internalInterface, fileManagerConfig); - this.screenManager = new ScreenManager(_internalInterface, this.fileManager); - - // Start sub managers - this.permissionManager.start(subManagerListener); - this.fileManager.start(subManagerListener); - this.screenManager.start(subManagerListener); + void onProxyClosed(SdlDisconnectedReason reason) { + Log.i(TAG,"Proxy is closed."); + if(managerListener != null){ + managerListener.onDestroy(SdlManager.this); + } } @Override @@ -154,29 +175,6 @@ public class SdlManager extends BaseSdlManager { transitionToState(BaseSubManager.SHUTDOWN); } - /** - * Starts up a SdlManager, and calls provided callback called once all BaseSubManagers are done setting up - */ - @SuppressWarnings("unchecked") - public void start() { - Runtime.getRuntime().addShutdownHook(new Thread() { - @Override - public void run() { - dispose(); - } - }); - - Log.i(TAG, "start"); - if (lifecycleManager == null) { - if (transport != null - && (transport.getTransportType().equals(TransportType.WEB_SOCKET_SERVER) || transport.getTransportType().equals(TransportType.CUSTOM))) { - super.start(); - } else { - throw new RuntimeException("No transport provided"); - } - } - } - // BUILDER public static class Builder extends BaseSdlManager.Builder { /** 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 0025f3368..e3c45516a 100644 --- a/javaSE/src/main/java/com/smartdevicelink/managers/lifecycle/LifecycleManager.java +++ b/javaSE/src/main/java/com/smartdevicelink/managers/lifecycle/LifecycleManager.java @@ -35,11 +35,8 @@ package com.smartdevicelink.managers.lifecycle; import android.support.annotation.RestrictTo; import com.smartdevicelink.SdlConnection.SdlSession; -import com.smartdevicelink.proxy.SystemCapabilityManager; import com.smartdevicelink.transport.BaseTransportConfig; -import java.util.HashMap; - /** * The lifecycle manager creates a central point for all SDL session logic to converge. It should only be used by * the library itself. Usage outside the library is not permitted and will not be protected for in the future. @@ -47,19 +44,7 @@ import java.util.HashMap; @RestrictTo(RestrictTo.Scope.LIBRARY) public class LifecycleManager extends BaseLifecycleManager { public LifecycleManager(AppConfig appConfig, BaseTransportConfig config, LifecycleListener listener){ - - this.lifecycleListener = listener; - - this.rpcListeners = new HashMap<>(); - this.rpcResponseListeners = new HashMap<>(); - this.rpcNotificationListeners = new HashMap<>(); - this.rpcRequestListeners = new HashMap<>(); - - this.appConfig = appConfig; - this.minimumProtocolVersion = appConfig.getMinimumProtocolVersion(); - this.minimumRPCVersion = appConfig.getMinimumRPCVersion(); + super(appConfig, config, listener); this.session = new SdlSession(sdlConnectionListener, config); - - this.systemCapabilityManager = new SystemCapabilityManager(internalInterface); } } |