summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBretty White <geekman3454@protonmail.com>2018-07-18 16:29:39 -0400
committerBretty White <geekman3454@protonmail.com>2018-07-18 16:29:39 -0400
commitec14c74ad5f1aa01026bdd075a38810460bddabf (patch)
tree97035654cc6d5342426658d63ac399ba706f8bf3
parent77f9fb3b227035f4b0b919552bcd63d2698c3da3 (diff)
downloadsdl_android-ec14c74ad5f1aa01026bdd075a38810460bddabf.tar.gz
change to completion listener
-rw-r--r--sdl_android/src/main/java/com/smartdevicelink/api/BaseSubManager.java20
-rw-r--r--sdl_android/src/main/java/com/smartdevicelink/api/InitializationListener.java9
-rw-r--r--sdl_android/src/main/java/com/smartdevicelink/api/SdlManager.java15
3 files changed, 27 insertions, 17 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 ac7e020f9..890c40247 100644
--- a/sdl_android/src/main/java/com/smartdevicelink/api/BaseSubManager.java
+++ b/sdl_android/src/main/java/com/smartdevicelink/api/BaseSubManager.java
@@ -20,6 +20,7 @@ public abstract class BaseSubManager {
private final Object STATE_LOCK = new Object();
public static final int SETTING_UP = 0x00, READY = 0x30, SHUTDOWN = 0x60;
protected final ISdl internalInterface;
+ private CompletionListener completionListener;
public BaseSubManager(@NonNull ISdl internalInterface){
this.internalInterface = internalInterface;
@@ -27,6 +28,18 @@ public abstract class BaseSubManager {
}
/**
+ * Called to start
+ * @param listener
+ */
+ public void start(CompletionListener listener){
+ this.completionListener = listener;
+ if(state == READY){
+ completionListener.onComplete(true);
+ completionListener = null;
+ }
+ }
+
+ /**
* <p>Called when manager is being torn down</p>
*/
public void dispose(){
@@ -37,6 +50,13 @@ public abstract class BaseSubManager {
synchronized (STATE_LOCK) {
this.state = state;
}
+ if(state == READY){
+ completionListener.onComplete(true);
+ completionListener = null;
+ }else if(state == SHUTDOWN){
+ completionListener.onComplete(false);
+ completionListener = null;
+ }
}
public int getState() {
diff --git a/sdl_android/src/main/java/com/smartdevicelink/api/InitializationListener.java b/sdl_android/src/main/java/com/smartdevicelink/api/InitializationListener.java
deleted file mode 100644
index f7a342ff0..000000000
--- a/sdl_android/src/main/java/com/smartdevicelink/api/InitializationListener.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package com.smartdevicelink.api;
-
-public interface InitializationListener {
- /**
- * Returns whether a initialization was successful or not
- * @param success - success or fail
- */
- void OnInitialized(boolean success);
-}
diff --git a/sdl_android/src/main/java/com/smartdevicelink/api/SdlManager.java b/sdl_android/src/main/java/com/smartdevicelink/api/SdlManager.java
index 3b037981a..50defe985 100644
--- a/sdl_android/src/main/java/com/smartdevicelink/api/SdlManager.java
+++ b/sdl_android/src/main/java/com/smartdevicelink/api/SdlManager.java
@@ -64,10 +64,10 @@ public class SdlManager implements ProxyBridge.LifecycleListener {
private TemplateColorScheme dayColorScheme, nightColorScheme;
private final ProxyBridge proxyBridge= new ProxyBridge(this);
+ private CompletionListener initListener;
+ private boolean initialized = false;
//public LockScreenConfig lockScreenConfig;
- private InitializationListener initListener;
- private boolean initialized = false;
// Managers
/*
@@ -79,11 +79,11 @@ public class SdlManager implements ProxyBridge.LifecycleListener {
private PermissionManager permissionManager;
*/
- InitializationListener subManagerListener = new InitializationListener() {
+ CompletionListener subManagerListener = new CompletionListener() {
boolean allSucceeded = true;
int subManagerCount = 1; // Update per amount of sub managers implemented
@Override
- public void OnInitialized(boolean success) {
+ public void onComplete(boolean success) {
if(!success){
allSucceeded = false;
}
@@ -93,7 +93,7 @@ public class SdlManager implements ProxyBridge.LifecycleListener {
initialized = true;
}
if(initListener != null){
- initListener.OnInitialized(allSucceeded);
+ initListener.onComplete(allSucceeded);
initListener = null;
}
}
@@ -278,7 +278,6 @@ public class SdlManager implements ProxyBridge.LifecycleListener {
sdlManager.hmiLanguage = Language.EN_US;
}
- sdlManager.initialize();
sdlManager.proxy = new SdlProxyBase(sdlManager.proxyBridge, sdlManager.appName, sdlManager.shortAppName, sdlManager.isMediaApp, sdlManager.hmiLanguage, sdlManager.hmiLanguage, sdlManager.hmiTypes, sdlManager.appId, sdlManager.transport, sdlManager.vrSynonyms, sdlManager.ttsChunks, sdlManager.dayColorScheme, sdlManager.nightColorScheme) {};
} catch (SdlException e) {
e.printStackTrace();
@@ -406,10 +405,10 @@ public class SdlManager implements ProxyBridge.LifecycleListener {
// LIFECYCLE / OTHER
// STARTUP
- public void start(InitializationListener listener){
+ public void start(CompletionListener listener){
initListener = listener;
if(initialized){
- listener.OnInitialized(true);
+ listener.onComplete(true);
}
}