diff options
author | Bretty White <geekman3454@protonmail.com> | 2018-07-12 16:35:14 -0400 |
---|---|---|
committer | Bretty White <geekman3454@protonmail.com> | 2018-07-12 16:35:14 -0400 |
commit | ecfca9020a947cb0237bc4b66d40303538d96347 (patch) | |
tree | 73df9f28aa3daaa797013775d30d378817face92 | |
parent | b99a28fcd5ba09327d8643eb1d27d12391a51769 (diff) | |
parent | b5573a9ae7ef7adb5489a6b4f1714afd95b7ac61 (diff) | |
download | sdl_android-ecfca9020a947cb0237bc4b66d40303538d96347.tar.gz |
Merge branch 'feature/issue_782_Android_Managers' into feature/sdlmanager_tests
-rw-r--r-- | sdl_android/src/main/java/com/smartdevicelink/api/BaseSubManager.java | 19 |
1 files changed, 12 insertions, 7 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 0096621e0..ac7e020f9 100644 --- a/sdl_android/src/main/java/com/smartdevicelink/api/BaseSubManager.java +++ b/sdl_android/src/main/java/com/smartdevicelink/api/BaseSubManager.java @@ -16,27 +16,32 @@ import com.smartdevicelink.proxy.interfaces.ISdl; public abstract class BaseSubManager { // states - if this gets more complicated we can move elsewhere - public int state, SETTING_UP = 0x00, READY = 0x30, SHUTDOWN = 0x60; - + private int state; + private final Object STATE_LOCK = new Object(); + public static final int SETTING_UP = 0x00, READY = 0x30, SHUTDOWN = 0x60; protected final ISdl internalInterface; public BaseSubManager(@NonNull ISdl internalInterface){ this.internalInterface = internalInterface; - this.state = SETTING_UP; + transitionToState(SETTING_UP); } /** * <p>Called when manager is being torn down</p> */ public void dispose(){ - this.state = SHUTDOWN; + transitionToState(SHUTDOWN); } protected void transitionToState(int state) { - this.state = state; + synchronized (STATE_LOCK) { + this.state = state; + } } - protected int getState() { - return state; + public int getState() { + synchronized (STATE_LOCK) { + return state; + } } } |