summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBretty White <geekman3454@protonmail.com>2018-07-11 15:05:55 -0400
committerBretty White <geekman3454@protonmail.com>2018-07-11 15:05:55 -0400
commit41b0e6f5314d4b28747fd64e980fbcbe14ca575c (patch)
treea6ac89f006a6ec7efa05c31bf643c19b03b9810c
parentd880df58a032b2b507e7209a35e3b566d85b7214 (diff)
downloadsdl_android-41b0e6f5314d4b28747fd64e980fbcbe14ca575c.tar.gz
multiple updates to SdlManager (see desc)
- added day/night color schemes - renamed RPC sending requests - added checks for required parameters - auto setting of media - renamed setHMITypes to setAppTypes
-rw-r--r--sdl_android/src/main/java/com/smartdevicelink/api/SdlManager.java77
-rw-r--r--sdl_android/src/main/java/com/smartdevicelink/proxy/SdlProxyBase.java6
2 files changed, 63 insertions, 20 deletions
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 2ea78850a..3f36a595f 100644
--- a/sdl_android/src/main/java/com/smartdevicelink/api/SdlManager.java
+++ b/sdl_android/src/main/java/com/smartdevicelink/api/SdlManager.java
@@ -1,6 +1,7 @@
package com.smartdevicelink.api;
import android.content.Context;
+import android.support.annotation.NonNull;
import com.smartdevicelink.exception.SdlException;
import com.smartdevicelink.protocol.enums.FunctionID;
@@ -16,6 +17,7 @@ import com.smartdevicelink.proxy.interfaces.IVideoStreamListener;
import com.smartdevicelink.proxy.interfaces.OnSystemCapabilityListener;
import com.smartdevicelink.proxy.rpc.SdlMsgVersion;
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.SdlDisconnectedReason;
@@ -56,6 +58,7 @@ public class SdlManager implements ProxyBridge.LifecycleListener {
private Context context;
private Vector<String> vrSynonyms;
private Vector<TTSChunk> ttsChunks;
+ private TemplateColorScheme dayColorScheme, nightColorScheme;
private ProxyBridge proxyBridge;
//public LockScreenConfig lockScreenConfig;
@@ -103,6 +106,14 @@ public class SdlManager implements ProxyBridge.LifecycleListener {
public static class Builder {
SdlManager sdlManager;
+ /**
+ * Main Builder for SDL Manager<br>
+ *
+ * The following setters are <strong>REQUIRED:</strong><br>
+ *
+ * • setAppId <br>
+ * • setAppName
+ */
public Builder(){
sdlManager = new SdlManager();
}
@@ -111,7 +122,7 @@ public class SdlManager implements ProxyBridge.LifecycleListener {
* Sets the App ID
* @param appId
*/
- public Builder setAppId(final String appId){
+ public Builder setAppId(@NonNull final String appId){
sdlManager.appId = appId;
return this;
}
@@ -120,7 +131,7 @@ public class SdlManager implements ProxyBridge.LifecycleListener {
* Sets the Application Name
* @param appName
*/
- public Builder setAppName(final String appName){
+ public Builder setAppName(@NonNull final String appName){
sdlManager.appName = appName;
return this;
}
@@ -135,15 +146,6 @@ public class SdlManager implements ProxyBridge.LifecycleListener {
}
/**
- * Sets if the app is a media app
- * @param isMediaApp
- */
- public Builder setIsMediaApp(final Boolean isMediaApp){
- sdlManager.isMediaApp = isMediaApp;
- return this;
- }
-
- /**
* Sets the Language of the App
* @param hmiLanguage
*/
@@ -152,17 +154,36 @@ public class SdlManager implements ProxyBridge.LifecycleListener {
return this;
}
+ public Builder setDayColorScheme(final TemplateColorScheme dayColorScheme){
+ sdlManager.dayColorScheme = dayColorScheme;
+ return this;
+ }
+
+ public Builder setnightColorScheme(final TemplateColorScheme nightColorScheme){
+ sdlManager.nightColorScheme = nightColorScheme;
+ return this;
+ }
/*public Builder setLockScreenConfig (final LockScreenConfig lockScreenConfig){
sdlManager.lockScreenConfig = lockScreenConfig;
return this;
}*/
/**
- * Sets the vector of HMI Types
+ * Sets the vector of AppHMIType
* @param hmiTypes
*/
- public Builder setHMITypes(final Vector<AppHMIType> hmiTypes){
- sdlManager.hmiTypes = hmiTypes;
+ public Builder setAppTypes(final Vector<AppHMIType> hmiTypes){
+
+ if (hmiTypes != null) {
+ sdlManager.hmiTypes = hmiTypes;
+ sdlManager.isMediaApp = hmiTypes.contains(AppHMIType.MEDIA);
+ }else {
+ Vector<AppHMIType> hmiTypesDefault = new Vector<>();
+ hmiTypesDefault.add(AppHMIType.DEFAULT);
+ sdlManager.hmiTypes = hmiTypesDefault;
+ sdlManager.isMediaApp = false;
+ }
+
return this;
}
@@ -207,7 +228,27 @@ public class SdlManager implements ProxyBridge.LifecycleListener {
public SdlManager build() {
try {
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) {};
+
+ if (sdlManager.hmiTypes == null) {
+ Vector<AppHMIType> hmiTypesDefault = new Vector<>();
+ hmiTypesDefault.add(AppHMIType.DEFAULT);
+ sdlManager.hmiTypes = hmiTypesDefault;
+ sdlManager.isMediaApp = false;
+ }
+
+ if (sdlManager.hmiLanguage == null){
+ sdlManager.hmiLanguage = Language.EN_US;
+ }
+
+ if (sdlManager.appName == null) {
+ throw new IllegalArgumentException("You must specify an app name by calling setAppName");
+ }
+
+ if (sdlManager.appId == null) {
+ throw new IllegalArgumentException("You must specify an app ID by calling setAppId");
+ }
+
+ 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();
}
@@ -243,15 +284,15 @@ public class SdlManager implements ProxyBridge.LifecycleListener {
// SENDING REQUESTS
- public void sendRPCRequest(RPCRequest request) throws SdlException {
+ public void sendRPC(RPCRequest request) throws SdlException {
proxy.sendRPCRequest(request);
}
- public void sendSequentialRequests(final List<? extends RPCRequest> rpcs, final OnMultipleRequestListener listener) throws SdlException {
+ public void sendSequentialRPCs(final List<? extends RPCRequest> rpcs, final OnMultipleRequestListener listener) throws SdlException {
proxy.sendSequentialRequests(rpcs, listener);
}
- public void sendRequests(List<? extends RPCRequest> rpcs, final OnMultipleRequestListener listener) throws SdlException {
+ public void sendRPCs(List<? extends RPCRequest> rpcs, final OnMultipleRequestListener listener) throws SdlException {
proxy.sendRequests(rpcs, listener);
}
diff --git a/sdl_android/src/main/java/com/smartdevicelink/proxy/SdlProxyBase.java b/sdl_android/src/main/java/com/smartdevicelink/proxy/SdlProxyBase.java
index f18a3bdad..610c22d15 100644
--- a/sdl_android/src/main/java/com/smartdevicelink/proxy/SdlProxyBase.java
+++ b/sdl_android/src/main/java/com/smartdevicelink/proxy/SdlProxyBase.java
@@ -620,15 +620,17 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
* @param hmiDisplayLanguageDesired Desired language for HMI.
* @param appType Type of application.
* @param appID Application identifier.
+ * @param dayColorScheme TemplateColorScheme for the day
+ * @param nightColorScheme TemplateColorScheme for the night
* @param transportConfig Configuration of transport to be used by underlying connection.
* @param vrSynonyms List of synonyms.
* @param ttsName TTS name.
* @throws SdlException
*/
public SdlProxyBase(proxyListenerType listener, String appName,String shortAppName, Boolean isMediaApp, Language languageDesired, Language hmiDisplayLanguageDesired, Vector<AppHMIType> appType, String appID,
- BaseTransportConfig transportConfig, Vector<String> vrSynonyms, Vector<TTSChunk> ttsName) throws SdlException {
+ BaseTransportConfig transportConfig, Vector<String> vrSynonyms, Vector<TTSChunk> ttsName, TemplateColorScheme dayColorScheme, TemplateColorScheme nightColorScheme) throws SdlException {
performBaseCommon(listener, null, true, appName, ttsName, shortAppName, vrSynonyms, isMediaApp,
- null, languageDesired, hmiDisplayLanguageDesired, appType, appID, null, null,null, false, false, null, null, transportConfig);
+ null, languageDesired, hmiDisplayLanguageDesired, appType, appID, null, dayColorScheme,nightColorScheme, false, false, null, null, transportConfig);
}
/**