diff options
author | Bretty White <geekman3454@protonmail.com> | 2018-05-16 14:11:07 -0400 |
---|---|---|
committer | Bretty White <geekman3454@protonmail.com> | 2018-05-16 14:11:07 -0400 |
commit | 8b975682b8b8b59596c2733497da0ed3c4713d80 (patch) | |
tree | 4c393a666d64a1157b4616ffe7b005f236230336 | |
parent | eaf008d2834f42d328dba951562f90d91c52cdea (diff) | |
download | sdl_android-8b975682b8b8b59596c2733497da0ed3c4713d80.tar.gz |
base sub manager logic
-rw-r--r-- | sdl_android/src/main/java/com/smartdevicelink/api/BaseSubManager.java | 45 |
1 files changed, 43 insertions, 2 deletions
diff --git a/sdl_android/src/main/java/com/smartdevicelink/api/BaseSubManager.java b/sdl_android/src/main/java/com/smartdevicelink/api/BaseSubManager.java index 5945c3b24..3a99dde82 100644 --- a/sdl_android/src/main/java/com/smartdevicelink/api/BaseSubManager.java +++ b/sdl_android/src/main/java/com/smartdevicelink/api/BaseSubManager.java @@ -1,7 +1,48 @@ package com.smartdevicelink.api; +import android.support.annotation.NonNull; + +import com.smartdevicelink.proxy.interfaces.ISdl; + /** - * Created by brettywhite on 5/16/18. + * <strong>BaseSubManager</strong> <br> + * + * Note: This class is extended by SubManagers <br> + * + * It is broken down to these areas: <br> + * + * 1. <br> */ -public class BaseSubManager { +public abstract class BaseSubManager { + + // states - if this gets more complicated we can move elsewhere + public enum ManagerState { + SETTING_UP, + READY, + SHUTDOWN, + ; + } + + protected ISdl internalInterface; + protected ManagerState state; + + public BaseSubManager(@NonNull ISdl internalInterface){ + this.internalInterface = internalInterface; + this.state = ManagerState.SETTING_UP; + } + + /** + * <p>Called when manager is being torn down</p> + */ + public void dispose(){ + this.state = ManagerState.SHUTDOWN; + } + + protected void transitionToState(ManagerState state) { + this.state = state; + } + + protected ManagerState getState() { + return state; + } } |