summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBretty White <geekman3454@protonmail.com>2018-07-12 16:35:14 -0400
committerBretty White <geekman3454@protonmail.com>2018-07-12 16:35:14 -0400
commitecfca9020a947cb0237bc4b66d40303538d96347 (patch)
tree73df9f28aa3daaa797013775d30d378817face92
parentb99a28fcd5ba09327d8643eb1d27d12391a51769 (diff)
parentb5573a9ae7ef7adb5489a6b4f1714afd95b7ac61 (diff)
downloadsdl_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.java19
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;
+ }
}
}