diff options
author | BrettyWhite <geekman3454@protonmail.com> | 2019-08-16 14:36:51 -0400 |
---|---|---|
committer | BrettyWhite <geekman3454@protonmail.com> | 2019-08-16 14:36:51 -0400 |
commit | b095ff253baaa46a2d9bd0e46357f63ba76bf5ac (patch) | |
tree | 768bf5a7002b13f7cab98b4522acfd1e12a3fdd1 | |
parent | 0dbbfacd7848661298246ab0023c3700e75ddb71 (diff) | |
download | sdl_android-b095ff253baaa46a2d9bd0e46357f63ba76bf5ac.tar.gz |
change back to previous wayfeature/Implement_SDL0054_Change_Registration_Manager
3 files changed, 120 insertions, 77 deletions
diff --git a/android/sdl_android/src/main/java/com/smartdevicelink/managers/SdlManager.java b/android/sdl_android/src/main/java/com/smartdevicelink/managers/SdlManager.java index 73c30b949..dce7d27b8 100644 --- a/android/sdl_android/src/main/java/com/smartdevicelink/managers/SdlManager.java +++ b/android/sdl_android/src/main/java/com/smartdevicelink/managers/SdlManager.java @@ -35,6 +35,8 @@ package com.smartdevicelink.managers; import android.annotation.SuppressLint; import android.content.Context; import android.os.Build; +import android.os.Handler; +import android.os.Looper; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.util.Log; @@ -43,6 +45,7 @@ import com.smartdevicelink.exception.SdlException; import com.smartdevicelink.managers.audio.AudioStreamManager; import com.smartdevicelink.managers.file.FileManager; import com.smartdevicelink.managers.file.filetypes.SdlArtwork; +import com.smartdevicelink.managers.lifecycle.LifecycleConfigurationUpdate; import com.smartdevicelink.managers.lockscreen.LockScreenConfig; import com.smartdevicelink.managers.lockscreen.LockScreenManager; import com.smartdevicelink.managers.permission.PermissionManager; @@ -52,6 +55,7 @@ import com.smartdevicelink.protocol.enums.FunctionID; import com.smartdevicelink.protocol.enums.SessionType; import com.smartdevicelink.proxy.RPCMessage; import com.smartdevicelink.proxy.RPCRequest; +import com.smartdevicelink.proxy.RPCResponse; import com.smartdevicelink.proxy.SdlProxyBase; import com.smartdevicelink.proxy.SystemCapabilityManager; import com.smartdevicelink.proxy.callbacks.OnServiceEnded; @@ -61,6 +65,7 @@ import com.smartdevicelink.proxy.interfaces.ISdl; import com.smartdevicelink.proxy.interfaces.ISdlServiceListener; import com.smartdevicelink.proxy.interfaces.IVideoStreamListener; import com.smartdevicelink.proxy.interfaces.OnSystemCapabilityListener; +import com.smartdevicelink.proxy.rpc.ChangeRegistration; import com.smartdevicelink.proxy.rpc.OnHMIStatus; import com.smartdevicelink.proxy.rpc.RegisterAppInterfaceResponse; import com.smartdevicelink.proxy.rpc.SdlMsgVersion; @@ -69,12 +74,14 @@ import com.smartdevicelink.proxy.rpc.TTSChunk; import com.smartdevicelink.proxy.rpc.TemplateColorScheme; import com.smartdevicelink.proxy.rpc.enums.AppHMIType; import com.smartdevicelink.proxy.rpc.enums.Language; +import com.smartdevicelink.proxy.rpc.enums.Result; import com.smartdevicelink.proxy.rpc.enums.SdlDisconnectedReason; import com.smartdevicelink.proxy.rpc.enums.SystemCapabilityType; import com.smartdevicelink.proxy.rpc.listeners.OnMultipleRequestListener; import com.smartdevicelink.proxy.rpc.listeners.OnRPCListener; import com.smartdevicelink.proxy.rpc.listeners.OnRPCNotificationListener; import com.smartdevicelink.proxy.rpc.listeners.OnRPCRequestListener; +import com.smartdevicelink.proxy.rpc.listeners.OnRPCResponseListener; import com.smartdevicelink.security.SdlSecurityBase; import com.smartdevicelink.streaming.audio.AudioStreamingCodec; import com.smartdevicelink.streaming.audio.AudioStreamingParams; @@ -86,6 +93,8 @@ import com.smartdevicelink.transport.utl.TransportRecord; import com.smartdevicelink.util.DebugTool; import com.smartdevicelink.util.Version; +import org.json.JSONException; + import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -231,7 +240,66 @@ public class SdlManager extends BaseSdlManager{ @Override protected void checkLifecycleConfiguration(){ - this.checkLifecycleConfigurationPrivate(managerListener); + Language actualLanguage = this.getRegisterAppInterfaceResponse().getLanguage(); + + if (!actualLanguage.equals(hmiLanguage)) { + + LifecycleConfigurationUpdate lcu = managerListener.managerShouldUpdateLifecycle(actualLanguage); + + if (lcu != null) { + // go through and change sdlManager properties that were changed via the LCU update + hmiLanguage = actualLanguage; + + if (lcu.getAppName() != null) { + appName = lcu.getAppName(); + } + + if (lcu.getShortAppName() != null) { + shortAppName = lcu.getShortAppName(); + } + + if (lcu.getTtsName() != null) { + ttsChunks = lcu.getTtsName(); + } + + if (lcu.getVoiceRecognitionCommandNames() != null) { + vrSynonyms = lcu.getVoiceRecognitionCommandNames(); + } + + ChangeRegistration changeRegistration = new ChangeRegistration(actualLanguage, actualLanguage); + changeRegistration.setAppName(lcu.getAppName()); + changeRegistration.setNgnMediaScreenAppName(lcu.getShortAppName()); + changeRegistration.setTtsName(lcu.getTtsName()); + changeRegistration.setVrSynonyms(lcu.getVoiceRecognitionCommandNames()); + changeRegistration.setOnRPCResponseListener(new OnRPCResponseListener() { + @Override + public void onResponse(int correlationId, RPCResponse response) { + try { + DebugTool.logInfo(response.serializeJSON().toString()); + } catch (JSONException e) { + e.printStackTrace(); + } + } + + @Override + public void onError(int correlationId, Result resultCode, String info) { + DebugTool.logError("Change Registration onError: " + resultCode + " | Info: " + info); + changeRegistrationRetry++; + if (changeRegistrationRetry < MAX_RETRY) { + final Handler handler = new Handler(Looper.getMainLooper()); + handler.postDelayed(new Runnable() { + @Override + public void run() { + checkLifecycleConfiguration(); + DebugTool.logInfo("Retry Change Registration Count: " + changeRegistrationRetry); + } + }, 3000); + } + } + }); + this.sendRPC(changeRegistration); + } + } } @Override diff --git a/base/src/main/java/com/smartdevicelink/managers/BaseSdlManager.java b/base/src/main/java/com/smartdevicelink/managers/BaseSdlManager.java index 9126d79a0..73a9c3dfd 100644 --- a/base/src/main/java/com/smartdevicelink/managers/BaseSdlManager.java +++ b/base/src/main/java/com/smartdevicelink/managers/BaseSdlManager.java @@ -31,34 +31,24 @@ */ package com.smartdevicelink.managers; -import android.os.Handler; -import android.os.Looper; import android.util.Log; -import com.smartdevicelink.exception.SdlException; -import com.smartdevicelink.managers.lifecycle.LifecycleConfigurationUpdate; import com.smartdevicelink.protocol.enums.FunctionID; import com.smartdevicelink.proxy.RPCMessage; import com.smartdevicelink.proxy.RPCNotification; -import com.smartdevicelink.proxy.RPCResponse; -import com.smartdevicelink.proxy.rpc.ChangeRegistration; import com.smartdevicelink.proxy.rpc.OnHMIStatus; import com.smartdevicelink.proxy.rpc.RegisterAppInterfaceResponse; import com.smartdevicelink.proxy.rpc.TTSChunk; import com.smartdevicelink.proxy.rpc.TemplateColorScheme; import com.smartdevicelink.proxy.rpc.enums.AppHMIType; import com.smartdevicelink.proxy.rpc.enums.Language; -import com.smartdevicelink.proxy.rpc.enums.Result; import com.smartdevicelink.proxy.rpc.listeners.OnMultipleRequestListener; import com.smartdevicelink.proxy.rpc.listeners.OnRPCNotificationListener; import com.smartdevicelink.proxy.rpc.listeners.OnRPCRequestListener; -import com.smartdevicelink.proxy.rpc.listeners.OnRPCResponseListener; import com.smartdevicelink.transport.BaseTransportConfig; import com.smartdevicelink.util.DebugTool; import com.smartdevicelink.util.Version; -import org.json.JSONException; - import java.util.List; import java.util.Map; import java.util.Queue; @@ -73,7 +63,7 @@ abstract class BaseSdlManager { final Object STATE_LOCK = new Object(); int state = -1; - private static final int MAX_RETRY = 3; + static final int MAX_RETRY = 3; int changeRegistrationRetry = 0; String appId, appName, shortAppName; boolean isMediaApp; @@ -188,70 +178,6 @@ abstract class BaseSdlManager { } } - void checkLifecycleConfigurationPrivate(SdlManagerListener managerListener){ - - Language actualLanguage = this.getRegisterAppInterfaceResponse().getLanguage(); - - if (!actualLanguage.equals(hmiLanguage)) { - - LifecycleConfigurationUpdate lcu = managerListener.managerShouldUpdateLifecycle(actualLanguage); - - if (lcu != null) { - // go through and change sdlManager properties that were changed via the LCU update - hmiLanguage = actualLanguage; - - if (lcu.getAppName() != null) { - appName = lcu.getAppName(); - } - - if (lcu.getShortAppName() != null) { - shortAppName = lcu.getShortAppName(); - } - - if (lcu.getTtsName() != null) { - ttsChunks = lcu.getTtsName(); - } - - if (lcu.getVoiceRecognitionCommandNames() != null) { - vrSynonyms = lcu.getVoiceRecognitionCommandNames(); - } - - ChangeRegistration changeRegistration = new ChangeRegistration(actualLanguage, actualLanguage); - changeRegistration.setAppName(lcu.getAppName()); - changeRegistration.setNgnMediaScreenAppName(lcu.getShortAppName()); - changeRegistration.setTtsName(lcu.getTtsName()); - changeRegistration.setVrSynonyms(lcu.getVoiceRecognitionCommandNames()); - changeRegistration.setOnRPCResponseListener(new OnRPCResponseListener() { - @Override - public void onResponse(int correlationId, RPCResponse response) { - try { - DebugTool.logInfo(response.serializeJSON().toString()); - } catch (JSONException e) { - e.printStackTrace(); - } - } - - @Override - public void onError(int correlationId, Result resultCode, String info) { - DebugTool.logError("Change Registration onError: " + resultCode + " | Info: " + info); - changeRegistrationRetry++; - if (changeRegistrationRetry < MAX_RETRY) { - final Handler handler = new Handler(Looper.getMainLooper()); - handler.postDelayed(new Runnable() { - @Override - public void run() { - checkLifecycleConfiguration(); - DebugTool.logInfo("Retry Change Registration Count: " + changeRegistrationRetry); - } - }, 3000); - } - } - }); - this.sendRPC(changeRegistration); - } - } - } - abstract void checkState(); protected abstract void initialize(); diff --git a/javaSE/src/main/java/com/smartdevicelink/managers/SdlManager.java b/javaSE/src/main/java/com/smartdevicelink/managers/SdlManager.java index b716de39e..10a9d73f3 100644 --- a/javaSE/src/main/java/com/smartdevicelink/managers/SdlManager.java +++ b/javaSE/src/main/java/com/smartdevicelink/managers/SdlManager.java @@ -36,6 +36,7 @@ import android.support.annotation.NonNull; import android.util.Log; import com.smartdevicelink.managers.file.FileManager; import com.smartdevicelink.managers.file.filetypes.SdlArtwork; +import com.smartdevicelink.managers.lifecycle.LifecycleConfigurationUpdate; import com.smartdevicelink.managers.lifecycle.LifecycleManager; import com.smartdevicelink.managers.permission.PermissionManager; import com.smartdevicelink.managers.screen.ScreenManager; @@ -43,20 +44,24 @@ import com.smartdevicelink.protocol.enums.FunctionID; import com.smartdevicelink.protocol.enums.SessionType; import com.smartdevicelink.proxy.RPCMessage; import com.smartdevicelink.proxy.RPCRequest; +import com.smartdevicelink.proxy.RPCResponse; import com.smartdevicelink.proxy.SystemCapabilityManager; import com.smartdevicelink.proxy.interfaces.ISdl; import com.smartdevicelink.proxy.rpc.*; import com.smartdevicelink.proxy.rpc.enums.AppHMIType; import com.smartdevicelink.proxy.rpc.enums.Language; +import com.smartdevicelink.proxy.rpc.enums.Result; import com.smartdevicelink.proxy.rpc.enums.SdlDisconnectedReason; import com.smartdevicelink.proxy.rpc.listeners.OnMultipleRequestListener; import com.smartdevicelink.proxy.rpc.listeners.OnRPCNotificationListener; import com.smartdevicelink.proxy.rpc.listeners.OnRPCRequestListener; +import com.smartdevicelink.proxy.rpc.listeners.OnRPCResponseListener; import com.smartdevicelink.security.SdlSecurityBase; import com.smartdevicelink.transport.BaseTransportConfig; import com.smartdevicelink.transport.enums.TransportType; import com.smartdevicelink.util.DebugTool; import com.smartdevicelink.util.Version; +import org.json.JSONException; import java.util.*; @@ -215,7 +220,51 @@ public class SdlManager extends BaseSdlManager{ @Override protected void checkLifecycleConfiguration(){ - this.checkLifecycleConfigurationPrivate(managerListener); + Language actualLanguage = lifecycleManager.getRegisterAppInterfaceResponse().getLanguage(); + LifecycleConfigurationUpdate lcu = managerListener.managerShouldUpdateLifecycle(actualLanguage); + + if (lcu != null){ + // go through and change sdlManager properties that were changed via the LCU update + hmiLanguage = actualLanguage; + + if (lcu.getAppName() != null){ + appName = lcu.getAppName(); + } + + if (lcu.getShortAppName() != null){ + shortAppName = lcu.getShortAppName(); + } + + if (lcu.getTtsName() != null){ + ttsChunks = lcu.getTtsName(); + } + + if (lcu.getVoiceRecognitionCommandNames() != null){ + vrSynonyms = lcu.getVoiceRecognitionCommandNames(); + } + + ChangeRegistration changeRegistration = new ChangeRegistration(actualLanguage,actualLanguage); + changeRegistration.setAppName(lcu.getAppName()); + changeRegistration.setNgnMediaScreenAppName(lcu.getShortAppName()); + changeRegistration.setTtsName(lcu.getTtsName()); + changeRegistration.setVrSynonyms(lcu.getVoiceRecognitionCommandNames()); + changeRegistration.setOnRPCResponseListener(new OnRPCResponseListener() { + @Override + public void onResponse(int correlationId, RPCResponse response) { + try { + Log.v(TAG, response.serializeJSON().toString()); + } catch (JSONException e) { + e.printStackTrace(); + } + } + + @Override + public void onError(int correlationId, Result resultCode, String info){ + Log.e(TAG, "Change Registration onError: "+ resultCode+ " | Info: "+ info); + } + }); + _internalInterface.sendRPC(changeRegistration); + } } @Override |