summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBretty White <geekman3454@protonmail.com>2018-05-16 14:11:07 -0400
committerBretty White <geekman3454@protonmail.com>2018-05-16 14:11:07 -0400
commit8b975682b8b8b59596c2733497da0ed3c4713d80 (patch)
tree4c393a666d64a1157b4616ffe7b005f236230336
parenteaf008d2834f42d328dba951562f90d91c52cdea (diff)
downloadsdl_android-8b975682b8b8b59596c2733497da0ed3c4713d80.tar.gz
base sub manager logic
-rw-r--r--sdl_android/src/main/java/com/smartdevicelink/api/BaseSubManager.java45
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;
+ }
}