summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoey Grover <joeygrover@gmail.com>2017-09-25 13:28:31 -0400
committerJoey Grover <joeygrover@gmail.com>2017-09-25 13:28:31 -0400
commitf796e725063b539c9ab1563d47061fa6de0d51a2 (patch)
tree1fc6932df99ba6a9e657a4ec380731af2c69a345
parent9bd438a8ebb1e57e39ac1a92e4997eb22684a7e8 (diff)
parent3b0adfdf0ead7c1fe91ae65a51229aadc09a454b (diff)
downloadsdl_android-f796e725063b539c9ab1563d47061fa6de0d51a2.tar.gz
Merge branch 'develop' of https://github.com/smartdevicelink/sdl_android into feature/issue_469_update
# Conflicts: # sdl_android/src/main/java/com/smartdevicelink/proxy/SdlProxyBase.java
-rw-r--r--sdl_android/src/androidTest/java/com/smartdevicelink/test/BaseRpcTests.java2
-rw-r--r--sdl_android/src/androidTest/java/com/smartdevicelink/test/Test.java10
-rw-r--r--sdl_android/src/androidTest/java/com/smartdevicelink/test/Validator.java68
-rw-r--r--sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/RPCRequestFactoryTests.java80
-rw-r--r--sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/RPCRequestTest.java48
-rw-r--r--sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/SystemCapabilityManagerTests.java138
-rw-r--r--sdl_android/src/main/java/com/smartdevicelink/proxy/RPCRequest.java5
-rw-r--r--sdl_android/src/main/java/com/smartdevicelink/proxy/SdlProxyALM.java1671
-rw-r--r--sdl_android/src/main/java/com/smartdevicelink/proxy/SdlProxyBase.java103
-rw-r--r--sdl_android/src/main/java/com/smartdevicelink/proxy/SystemCapabilityManager.java167
-rw-r--r--sdl_android/src/main/java/com/smartdevicelink/proxy/interfaces/OnSystemCapabilityListener.java6
-rw-r--r--sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/SystemCapability.java17
-rw-r--r--sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/enums/SystemCapabilityType.java383
13 files changed, 1779 insertions, 919 deletions
diff --git a/sdl_android/src/androidTest/java/com/smartdevicelink/test/BaseRpcTests.java b/sdl_android/src/androidTest/java/com/smartdevicelink/test/BaseRpcTests.java
index 9670492b0..c30f26a7f 100644
--- a/sdl_android/src/androidTest/java/com/smartdevicelink/test/BaseRpcTests.java
+++ b/sdl_android/src/androidTest/java/com/smartdevicelink/test/BaseRpcTests.java
@@ -168,7 +168,7 @@ public abstract class BaseRpcTests extends AndroidTestCase {
Integer correlationId;
if (msg instanceof RPCRequest) {
correlationId = ((RPCRequest) msg).getCorrelationID();
- assertNull("Correlation ID of the RPC message was not null.", correlationId);
+ assertNotNull("Correlation ID of the RPC message was null.", correlationId);
//assertEquals("Correlation ID didn't match expected correlation ID.", CORR_ID, (int) correlationId);
}
else if (msg instanceof RPCResponse) {
diff --git a/sdl_android/src/androidTest/java/com/smartdevicelink/test/Test.java b/sdl_android/src/androidTest/java/com/smartdevicelink/test/Test.java
index 58ee7065c..782692d69 100644
--- a/sdl_android/src/androidTest/java/com/smartdevicelink/test/Test.java
+++ b/sdl_android/src/androidTest/java/com/smartdevicelink/test/Test.java
@@ -10,6 +10,7 @@ import com.smartdevicelink.proxy.rpc.Coordinate;
import com.smartdevicelink.proxy.rpc.DIDResult;
import com.smartdevicelink.proxy.rpc.DeviceInfo;
import com.smartdevicelink.proxy.rpc.DisplayCapabilities;
+import com.smartdevicelink.proxy.rpc.HMICapabilities;
import com.smartdevicelink.proxy.rpc.HMIPermissions;
import com.smartdevicelink.proxy.rpc.HapticRect;
import com.smartdevicelink.proxy.rpc.Image;
@@ -219,9 +220,13 @@ public class Test {
public static final VideoStreamingCodec GENERAL_VIDEOSTREAMINGCODEC = VideoStreamingCodec.H264;
public static final VideoStreamingCapability GENERAL_VIDEOSTREAMINGCAPABILITY = new VideoStreamingCapability();
public static final VideoStreamingFormat GENERAL_VIDEOSTREAMINGFORMAT = new VideoStreamingFormat();
+ public static final HMICapabilities GENERAL_HMICAPABILITIES = new HMICapabilities();
+
+
public static final MetadataTags GENERAL_METADATASTRUCT = new MetadataTags();
public static final Rectangle GENERAL_RECTANGLE = new Rectangle();
public static final HapticRect GENERAL_HAPTIC_RECT = new HapticRect();
+
public static final List<Long> GENERAL_LONG_LIST = Arrays.asList(new Long[]{ 1L, 2L });
public static final List<Turn> GENERAL_TURN_LIST = new ArrayList<Turn>();
public static final List<Choice> GENERAL_CHOICE_LIST = new ArrayList<Choice>();
@@ -491,6 +496,10 @@ public class Test {
GENERAL_VIDEOSTREAMINGCAPABILITY.setPreferredResolution(GENERAL_IMAGERESOLUTION);
GENERAL_VIDEOSTREAMINGCAPABILITY.setSupportedFormats(GENERAL_VIDEOSTREAMINGFORMAT_LIST);
+ GENERAL_HMICAPABILITIES.setNavigationAvilable(GENERAL_BOOLEAN);
+ GENERAL_HMICAPABILITIES.setVideoStreamingAvailable(GENERAL_BOOLEAN);
+ GENERAL_HMICAPABILITIES.setPhoneCallAvilable(GENERAL_BOOLEAN);
+
List<MetadataType> exampleList = new ArrayList<>();
exampleList.add(0, MetadataType.CURRENT_TEMPERATURE);
exampleList.add(1, MetadataType.MEDIA_ALBUM);
@@ -508,6 +517,7 @@ public class Test {
GENERAL_HAPTIC_RECT.setId(GENERAL_INTEGER);
GENERAL_HAPTIC_RECT.setRect(GENERAL_RECTANGLE);
+
try {
JSON_HMIPERMISSIONS.put(HMIPermissions.KEY_ALLOWED, GENERAL_HMILEVEL_LIST);
diff --git a/sdl_android/src/androidTest/java/com/smartdevicelink/test/Validator.java b/sdl_android/src/androidTest/java/com/smartdevicelink/test/Validator.java
index 966370e54..090dce405 100644
--- a/sdl_android/src/androidTest/java/com/smartdevicelink/test/Validator.java
+++ b/sdl_android/src/androidTest/java/com/smartdevicelink/test/Validator.java
@@ -22,6 +22,7 @@ import com.smartdevicelink.proxy.rpc.DisplayCapabilities;
import com.smartdevicelink.proxy.rpc.ECallInfo;
import com.smartdevicelink.proxy.rpc.EmergencyEvent;
import com.smartdevicelink.proxy.rpc.GPSData;
+import com.smartdevicelink.proxy.rpc.HMICapabilities;
import com.smartdevicelink.proxy.rpc.HMIPermissions;
import com.smartdevicelink.proxy.rpc.HeadLampStatus;
import com.smartdevicelink.proxy.rpc.Headers;
@@ -51,10 +52,13 @@ import com.smartdevicelink.proxy.rpc.TouchEventCapabilities;
import com.smartdevicelink.proxy.rpc.Turn;
import com.smartdevicelink.proxy.rpc.VehicleDataResult;
import com.smartdevicelink.proxy.rpc.VehicleType;
+import com.smartdevicelink.proxy.rpc.VideoStreamingCapability;
import com.smartdevicelink.proxy.rpc.VideoStreamingFormat;
import com.smartdevicelink.proxy.rpc.VrHelpItem;
import com.smartdevicelink.proxy.rpc.enums.FileType;
import com.smartdevicelink.proxy.rpc.enums.HMILevel;
+import com.smartdevicelink.proxy.rpc.enums.HmiZoneCapabilities;
+import com.smartdevicelink.proxy.rpc.enums.SpeechCapabilities;
public class Validator{
@@ -1606,4 +1610,68 @@ public class Validator{
return true;
}
+
+ public static boolean validateHMICapabilities(HMICapabilities hmiA, HMICapabilities hmiB){
+ if(hmiA.isPhoneCallAvailable() != hmiB.isPhoneCallAvailable()){
+ return false;
+ }
+
+ if(hmiA.isVideoStreamingAvailable() != hmiB.isVideoStreamingAvailable()){
+ return false;
+ }
+
+ if(hmiA.isNavigationAvailable() != hmiB.isNavigationAvailable()){
+ return false;
+ }
+
+ return true;
+ }
+
+ public static boolean validateHMIZoneCapabilities(List<HmiZoneCapabilities> hmizA, List<HmiZoneCapabilities> hmizB){
+ for(int i = 0; i < hmizA.size(); i++){
+ if(!hmizA.get(i).equals(hmizB.get(i))){
+ return false;
+ }
+ }
+ return true;
+ }
+
+ public static boolean validateSpeechCapabilities(List<SpeechCapabilities> spA, List<SpeechCapabilities> spB){
+ for(int i = 0; i < spA.size(); i++){
+ if(!spA.get(i).equals(spB.get(i))){
+ return false;
+ }
+ }
+ return true;
+ }
+
+ public static boolean validateVideoStreamingFormat(VideoStreamingFormat a, VideoStreamingFormat b){
+ if(!a.getCodec().equals(b.getCodec())){
+ return false;
+ }
+
+ if(!a.getProtocol().equals(b.getProtocol())){
+ return false;
+ }
+
+ return true;
+ }
+
+ public static boolean validateVideoStreamingCapability(VideoStreamingCapability a, VideoStreamingCapability b){
+ if(!validateImageResolution(a.getPreferredResolution(), b.getPreferredResolution())){
+ return false;
+ }
+
+ if(!a.getMaxBitrate().equals(b.getMaxBitrate())){
+ return false;
+ }
+
+ for(int i = 0; i < a.getSupportedFormats().size(); i++){
+ if(!validateVideoStreamingFormat(a.getSupportedFormats().get(i), b.getSupportedFormats().get(i))){
+ return false;
+ }
+ }
+
+ return true;
+ }
}
diff --git a/sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/RPCRequestFactoryTests.java b/sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/RPCRequestFactoryTests.java
index b334058ea..e31aedbe7 100644
--- a/sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/RPCRequestFactoryTests.java
+++ b/sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/RPCRequestFactoryTests.java
@@ -80,7 +80,7 @@ public class RPCRequestFactoryTests extends TestCase {
assertEquals(Test.MATCH, testInt, testBSR.getCorrelationID());
testBSR = RPCRequestFactory.buildSystemRequest(testData, null);
- assertNull(Test.NULL, testBSR.getCorrelationID());
+ assertNotNull(Test.NULL, testBSR.getCorrelationID());
testBSR = RPCRequestFactory.buildSystemRequest(null, testInt);
assertNull(Test.NULL, testBSR);
@@ -95,7 +95,7 @@ public class RPCRequestFactoryTests extends TestCase {
assertEquals(Test.MATCH, testInt, testBSR.getCorrelationID());
testBSR = RPCRequestFactory.buildSystemRequestLegacy(testVData, null);
- assertNull(Test.NULL, testBSR.getCorrelationID());
+ assertNotNull(Test.NOT_NULL, testBSR.getCorrelationID());
testBSR = RPCRequestFactory.buildSystemRequestLegacy(null, testInt);
assertNull(Test.NULL, testBSR);
@@ -145,7 +145,7 @@ public class RPCRequestFactoryTests extends TestCase {
assertNull(Test.NULL, testBAC.getMenuParams());
assertNull(Test.NULL, testBAC.getVrCommands());
assertNull(Test.NULL, testBAC.getCmdIcon());
- assertNull(Test.NULL, testBAC.getCorrelationID());
+ assertNotNull(Test.NOT_NULL, testBAC.getCorrelationID());
// Test -- buildAddCommand(Integer commandID, String menuText, Integer parentID, Integer position, Vector<String> vrCommands, String IconValue, ImageType IconType, Integer correlationID)
testIconValue = "icon";
@@ -167,7 +167,7 @@ public class RPCRequestFactoryTests extends TestCase {
assertNull(Test.NULL, testBAC.getMenuParams());
assertNull(Test.NULL, testBAC.getVrCommands());
assertNull(Test.NULL, testBAC.getCmdIcon());
- assertNull(Test.NULL, testBAC.getCorrelationID());
+ assertNotNull(Test.NOT_NULL, testBAC.getCorrelationID());
// Test -- buildAddCommand(Integer commandID, String menuText, Integer parentID, Integer position, Vector<String> vrCommands, Integer correlationID)
testBAC = RPCRequestFactory.buildAddCommand(testCommandID, testMenuText, testParentID, testPosition, testVrCommands, testCorrelationID);
@@ -182,7 +182,7 @@ public class RPCRequestFactoryTests extends TestCase {
assertNull(Test.NULL, testBAC.getCmdID());
assertNull(Test.NULL, testBAC.getMenuParams());
assertNull(Test.NULL, testBAC.getVrCommands());
- assertNull(Test.NULL, testBAC.getCorrelationID());
+ assertNotNull(Test.NOT_NULL, testBAC.getCorrelationID());
// Test -- buildAddCommand(Integer commandID, String menuText, Vector<String> vrCommands, Integer correlationID)
testBAC = RPCRequestFactory.buildAddCommand(testCommandID, testMenuText, testVrCommands, testCorrelationID);
@@ -195,7 +195,7 @@ public class RPCRequestFactoryTests extends TestCase {
assertNull(Test.NULL, testBAC.getCmdID());
assertNull(Test.NULL, testBAC.getMenuParams());
assertNull(Test.NULL, testBAC.getVrCommands());
- assertNull(Test.NULL, testBAC.getCorrelationID());
+ assertNotNull(Test.NOT_NULL, testBAC.getCorrelationID());
// Test -- buildAddCommand(Integer commandID, Vector<String> vrCommands, Integer correlationID)
testBAC = RPCRequestFactory.buildAddCommand(testCommandID, testVrCommands, testCorrelationID);
@@ -206,7 +206,7 @@ public class RPCRequestFactoryTests extends TestCase {
testBAC = RPCRequestFactory.buildAddCommand(null, null, null);
assertNull(Test.NULL, testBAC.getCmdID());
assertNull(Test.NULL, testBAC.getVrCommands());
- assertNull(Test.NULL, testBAC.getCorrelationID());
+ assertNotNull(Test.NOT_NULL, testBAC.getCorrelationID());
}
public void testBuildAddSubMenu () {
@@ -232,7 +232,7 @@ public class RPCRequestFactoryTests extends TestCase {
assertNull(Test.NULL, testBASM.getMenuID());
assertNull(Test.NULL, testBASM.getMenuName());
assertNull(Test.NULL, testBASM.getPosition());
- assertNull(Test.NULL, testBASM.getCorrelationID());
+ assertNotNull(Test.NOT_NULL, testBASM.getCorrelationID());
}
public void testBuildAlert () {
@@ -294,7 +294,7 @@ public class RPCRequestFactoryTests extends TestCase {
assertNull(Test.NULL, testAlert.getPlayTone());
assertNull(Test.NULL, testAlert.getDuration());
assertNull(Test.NULL, testAlert.getSoftButtons());
- assertNull(Test.NULL, testAlert.getCorrelationID());
+ assertNotNull(Test.NOT_NULL, testAlert.getCorrelationID());
// Test -- buildAlert(String ttsText, Boolean playTone, Integer correlationID)
// ^ Calls another build method.
@@ -323,7 +323,7 @@ public class RPCRequestFactoryTests extends TestCase {
assertNull(Test.NULL, testAlert.getAlertText2());
assertNull(Test.NULL, testAlert.getPlayTone());
assertNull(Test.NULL, testAlert.getDuration());
- assertNull(Test.NULL, testAlert.getCorrelationID());
+ assertNotNull(Test.NOT_NULL, testAlert.getCorrelationID());
}
public void testBuildCreateInteractionChoiceSet () {
@@ -346,7 +346,7 @@ public class RPCRequestFactoryTests extends TestCase {
testBCICS = RPCRequestFactory.buildCreateInteractionChoiceSet(null, null, null);
assertNull(Test.NULL, testBCICS.getChoiceSet());
assertNull(Test.NULL, testBCICS.getInteractionChoiceSetID());
- assertNull(Test.NULL, testBCICS.getCorrelationID());
+ assertNotNull(Test.NOT_NULL, testBCICS.getCorrelationID());
}
public void testBuildDeleteCommand () {
@@ -363,7 +363,7 @@ public class RPCRequestFactoryTests extends TestCase {
testDC = RPCRequestFactory.buildDeleteCommand(null, null);
assertNull(Test.NULL, testDC.getCmdID());
- assertNull(Test.NULL, testDC.getCorrelationID());
+ assertNotNull(Test.NOT_NULL, testDC.getCorrelationID());
}
@@ -381,7 +381,7 @@ public class RPCRequestFactoryTests extends TestCase {
assertEquals(Test.MATCH, testFileName, testDF.getSdlFileName());
testDF = RPCRequestFactory.buildDeleteFile(null, null);
- assertNull(Test.NULL, testDF.getCorrelationID());
+ assertNotNull(Test.NOT_NULL, testDF.getCorrelationID());
assertNull(Test.NULL, testDF.getSdlFileName());
}
@@ -400,7 +400,7 @@ public class RPCRequestFactoryTests extends TestCase {
testDICS = RPCRequestFactory.buildDeleteInteractionChoiceSet(null, null);
assertNull(Test.NULL, testDICS.getInteractionChoiceSetID());
- assertNull(Test.NULL, testDICS.getCorrelationID());
+ assertNotNull(Test.NOT_NULL, testDICS.getCorrelationID());
}
public void testBuildDeleteSubMenu () {
@@ -417,7 +417,7 @@ public class RPCRequestFactoryTests extends TestCase {
testDSM = RPCRequestFactory.buildDeleteSubMenu(null, null);
assertNull(Test.NULL, testDSM.getMenuID());
- assertNull(Test.NULL, testDSM.getCorrelationID());
+ assertNotNull(Test.NOT_NULL, testDSM.getCorrelationID());
}
public void testBuildListFiles () {
@@ -430,7 +430,7 @@ public class RPCRequestFactoryTests extends TestCase {
assertEquals(Test.MATCH, testCorrelationID, testLF.getCorrelationID());
testLF = RPCRequestFactory.buildListFiles(null);
- assertNull(Test.NULL, testLF.getCorrelationID());
+ assertNotNull(Test.NOT_NULL, testLF.getCorrelationID());
}
@SuppressWarnings("deprecation")
@@ -480,7 +480,7 @@ public class RPCRequestFactoryTests extends TestCase {
assertNull(Test.NULL, testPI.getInteractionMode());
assertNull(Test.NULL, testPI.getTimeout());
assertNull(Test.NULL, testPI.getVrHelp());
- assertNull(Test.NULL, testPI.getCorrelationID());
+ assertNotNull(Test.NOT_NULL, testPI.getCorrelationID());
// Test -- buildPerformInteraction(String initPrompt, String displayText, Vector<Integer> interactionChoiceSetIDList, String helpPrompt, String timeoutPrompt, InteractionMode interactionMode, Integer timeout, Vector<VrHelpItem> vrHelp, Integer correlationID)
// ^ Calls another build method.
@@ -510,7 +510,7 @@ public class RPCRequestFactoryTests extends TestCase {
assertNull(Test.NULL, testPI.getTimeoutPrompt());
assertNull(Test.NULL, testPI.getInteractionMode());
assertNull(Test.NULL, testPI.getTimeout());
- assertNull(Test.NULL, testPI.getCorrelationID());
+ assertNotNull(Test.NOT_NULL, testPI.getCorrelationID());
// Test -- buildPerformInteraction(String initPrompt, String displayText, Vector<Integer> interactionChoiceSetIDList, String helpPrompt, String timeoutPrompt, InteractionMode interactionMode, Integer timeout, Integer correlationID)
// ^ Calls another build method.
@@ -538,7 +538,7 @@ public class RPCRequestFactoryTests extends TestCase {
assertNull(Test.NULL, testPI.getHelpPrompt());
assertNull(Test.NULL, testPI.getInteractionMode());
assertNull(Test.NULL, testPI.getTimeout());
- assertNull(Test.NULL, testPI.getCorrelationID());
+ assertNotNull(Test.NOT_NULL, testPI.getCorrelationID());
// Test -- buildPerformInteraction(String initPrompt, String displayText, Vector<Integer> interactionChoiceSetIDList, String helpPrompt, InteractionMode interactionMode, Integer timeout, Integer correlationID)
// ^ Calls another build method.
@@ -567,7 +567,7 @@ public class RPCRequestFactoryTests extends TestCase {
assertNull(Test.NULL, testPF.getFileType());
assertNull(Test.NULL, testPF.getPersistentFile());
assertNull(Test.NULL, testPF.getFileData());
- assertNull(Test.NULL, testPF.getCorrelationID());
+ assertNotNull(Test.NOT_NULL, testPF.getCorrelationID());
// Test -- buildPutFile(String sdlFileName, Integer iOffset, Integer iLength)
testPF = RPCRequestFactory.buildPutFile(testFileName, testOffset, testLength);
@@ -665,7 +665,7 @@ public class RPCRequestFactoryTests extends TestCase {
testSAI = RPCRequestFactory.buildSetAppIcon(null, null);
assertNull(Test.NULL, testSAI.getSdlFileName());
- assertNull(Test.NULL, testSAI.getCorrelationID());
+ assertNotNull(Test.NOT_NULL, testSAI.getCorrelationID());
}
@@ -698,7 +698,7 @@ public class RPCRequestFactoryTests extends TestCase {
testSBP = RPCRequestFactory.buildSetGlobalProperties((Vector<TTSChunk>) null, null, null);
assertNull(Test.NULL, testSBP.getHelpPrompt());
assertNull(Test.NULL, testSBP.getTimeoutPrompt());
- assertNull(Test.NULL, testSBP.getCorrelationID());
+ assertNotNull(Test.NOT_NULL, testSBP.getCorrelationID());
// Test -- buildSetGlobalProperties(String helpPrompt, String timeoutPrompt, String vrHelpTitle, Vector<VrHelpItem> vrHelp, Integer correlationID)
// ^ Calls another build method.
@@ -716,7 +716,7 @@ public class RPCRequestFactoryTests extends TestCase {
assertNull(Test.NULL, testSBP.getTimeoutPrompt());
assertNull(Test.NULL, testSBP.getVrHelpTitle());
assertNull(Test.NULL, testSBP.getVrHelp());
- assertNull(Test.NULL, testSBP.getCorrelationID());
+ assertNotNull(Test.NOT_NULL, testSBP.getCorrelationID());
}
public void testBuildSetMediaClockTimer () {
@@ -736,7 +736,7 @@ public class RPCRequestFactoryTests extends TestCase {
testSMCT = RPCRequestFactory.buildSetMediaClockTimer(null, null, null, null, null);
assertNull(Test.NULL, testSMCT.getStartTime());
assertNull(Test.NULL, testSMCT.getUpdateMode());
- assertNull(Test.NULL, testSMCT.getCorrelationID());
+ assertNotNull(Test.NOT_NULL, testSMCT.getCorrelationID());
// Test -- buildSetMediaClockTimer(UpdateMode updateMode, Integer correlationID)
// ^ Calls another build method.
@@ -784,7 +784,7 @@ public class RPCRequestFactoryTests extends TestCase {
assertNull(Test.NULL, testShow.getSoftButtons());
assertNull(Test.NULL, testShow.getCustomPresets());
assertNull(Test.NULL, testShow.getAlignment());
- assertNull(Test.NULL, testShow.getCorrelationID());
+ assertNotNull(Test.NOT_NULL, testShow.getCorrelationID());
// Test -- buildShow(String mainText1, String mainText2, String mainText3, String mainText4, TextAlignment alignment, Integer correlationID)
// ^ Calls another build method.
@@ -805,7 +805,7 @@ public class RPCRequestFactoryTests extends TestCase {
assertNull(Test.NULL, testShow.getMediaClock());
assertNull(Test.NULL, testShow.getMediaTrack());
assertNull(Test.NULL, testShow.getAlignment());
- assertNull(Test.NULL, testShow.getCorrelationID());
+ assertNotNull(Test.NOT_NULL, testShow.getCorrelationID());
// Test -- buildShow(String mainText1, String mainText2, TextAlignment alignment, Integer correlationID)
// ^ Calls another build method.
@@ -825,7 +825,7 @@ public class RPCRequestFactoryTests extends TestCase {
testSpeak = RPCRequestFactory.buildSpeak((String) null, null);
assertNull(Test.NULL, testSpeak.getTtsChunks());
- assertNull(Test.NULL, testSpeak.getCorrelationID());
+ assertNotNull(Test.NOT_NULL, testSpeak.getCorrelationID());
// Test -- buildSpeak(Vector<TTSChunk> ttsChunks, Integer correlationID)
testSpeak = RPCRequestFactory.buildSpeak(testTTSChunks, testCorrelationID);
@@ -834,7 +834,7 @@ public class RPCRequestFactoryTests extends TestCase {
testSpeak = RPCRequestFactory.buildSpeak((Vector<TTSChunk>) null, null);
assertNull(Test.NULL, testSpeak.getTtsChunks());
- assertNull(Test.NULL, testSpeak.getCorrelationID());
+ assertNotNull(Test.NOT_NULL, testSpeak.getCorrelationID());
}
public void testBuildSubscribeButton () {
@@ -850,7 +850,7 @@ public class RPCRequestFactoryTests extends TestCase {
testSB = RPCRequestFactory.buildSubscribeButton(null, null);
assertNull(Test.NULL, testSB.getButtonName());
- assertNull(Test.NULL, testSB.getCorrelationID());
+ assertNotNull(Test.NOT_NULL, testSB.getCorrelationID());
}
@@ -864,7 +864,7 @@ public class RPCRequestFactoryTests extends TestCase {
assertEquals(Test.MATCH, testCorrelationID, testUAI.getCorrelationID());
testUAI = RPCRequestFactory.buildUnregisterAppInterface(null);
- assertNull(Test.NULL, testUAI.getCorrelationID());
+ assertNotNull(Test.NOT_NULL, testUAI.getCorrelationID());
}
public void testBuildUnsubscribeButton () {
@@ -880,7 +880,7 @@ public class RPCRequestFactoryTests extends TestCase {
testUB = RPCRequestFactory.buildUnsubscribeButton(null, null);
assertNull(Test.NULL, testUB.getButtonName());
- assertNull(Test.NULL, testUB.getCorrelationID());
+ assertNotNull(Test.NOT_NULL, testUB.getCorrelationID());
}
@@ -909,7 +909,7 @@ public class RPCRequestFactoryTests extends TestCase {
assertEquals(Test.MATCH, testCorrelationID, testSVD.getCorrelationID());
testSVD = RPCRequestFactory.BuildSubscribeVehicleData(testGPS, testSpeed, testRPM, testFuelLevel, testFuelLevelState, testInstantFuelConsumption, testExternalTemperature, testPRNDL, testTirePressure, testOdometer, testBeltStatus, testBodyInformation, testDeviceStatus, testDriverBraking, null);
- assertNull(Test.NULL, testSVD.getCorrelationID());
+ assertNotNull(Test.NULL, testSVD.getCorrelationID());
}
public void testBuildUnsubscribeVehicleData () {
@@ -937,7 +937,7 @@ public class RPCRequestFactoryTests extends TestCase {
assertEquals(Test.MATCH, testCorrelationID, testUVD.getCorrelationID());
testUVD = RPCRequestFactory.BuildUnsubscribeVehicleData(testGPS, testSpeed, testRPM, testFuelLevel, testFuelLevelState, testInstantFuelConsumption, testExternalTemperature, testPRNDL, testTirePressure, testOdometer, testBeltStatus, testBodyInformation, testDeviceStatus, testDriverBraking, null);
- assertNull(Test.NULL, testUVD.getCorrelationID());
+ assertNotNull(Test.NULL, testUVD.getCorrelationID());
}
public void testBuildGetVehicleData () {
@@ -966,7 +966,7 @@ public class RPCRequestFactoryTests extends TestCase {
assertEquals(Test.MATCH, testCorrelationID, testGVD.getCorrelationID());
testGVD = RPCRequestFactory.BuildGetVehicleData(testGPS, testSpeed, testRPM, testFuelLevel, testFuelLevelState, testInstantFuelConsumption, testExternalTemperature, testVIN, testPRNDL, testTirePressure, testOdometer, testBeltStatus, testBodyInformation, testDeviceStatus, testDriverBraking, null);
- assertNull(Test.NULL, testGVD.getCorrelationID());
+ assertNotNull(Test.NULL, testGVD.getCorrelationID());
}
public void testBuildScrollableMessage () {
@@ -988,7 +988,7 @@ public class RPCRequestFactoryTests extends TestCase {
assertNull(Test.NULL, testSM.getScrollableMessageBody());
assertNull(Test.NULL, testSM.getTimeout());
assertNull(Test.NULL, testSM.getSoftButtons());
- assertNull(Test.NULL, testSM.getCorrelationID());
+ assertNotNull(Test.NOT_NULL, testSM.getCorrelationID());
}
public void testBuildSlider () {
@@ -1013,7 +1013,7 @@ public class RPCRequestFactoryTests extends TestCase {
assertNull(Test.NULL, testSlider.getSliderHeader());
assertNull(Test.NULL, testSlider.getSliderFooter());
assertNull(Test.NULL, testSlider.getTimeout());
- assertNull(Test.NULL, testSlider.getCorrelationID());
+ assertNotNull(Test.NOT_NULL, testSlider.getCorrelationID());
}
public void testBuildChangeRegistration () {
@@ -1031,7 +1031,7 @@ public class RPCRequestFactoryTests extends TestCase {
testCR = RPCRequestFactory.BuildChangeRegistration(null, null, null);
assertNull(Test.NULL, testCR.getLanguage());
assertNull(Test.NULL, testCR.getHmiDisplayLanguage());
- assertNull(Test.NULL, testCR.getCorrelationID());
+ assertNotNull(Test.NOT_NULL, testCR.getCorrelationID());
}
public void testBuildSetDisplayLayout () {
@@ -1047,7 +1047,7 @@ public class RPCRequestFactoryTests extends TestCase {
testSDL = RPCRequestFactory.BuildSetDisplayLayout(null, null);
assertNull(Test.NULL, testSDL.getDisplayLayout());
- assertNull(Test.NULL, testSDL.getCorrelationID());
+ assertNotNull(Test.NOT_NULL, testSDL.getCorrelationID());
}
public void testBuildPerformAudioPassThru () {
@@ -1085,7 +1085,7 @@ public class RPCRequestFactoryTests extends TestCase {
assertNull(Test.NULL, testPAPT.getBitsPerSample());
assertNull(Test.NULL, testPAPT.getAudioType());
assertNull(Test.NULL, testPAPT.getMuteAudio());
- assertNull(Test.NULL, testPAPT.getCorrelationID());
+ assertNotNull(Test.NOT_NULL, testPAPT.getCorrelationID());
}
public void testBuildEndAudioPassThru () {
@@ -1098,6 +1098,6 @@ public class RPCRequestFactoryTests extends TestCase {
assertEquals(Test.MATCH, testCorrelationID, testEAPT.getCorrelationID());
testEAPT = RPCRequestFactory.BuildEndAudioPassThru(null);
- assertNull(Test.NULL, testEAPT.getCorrelationID());
+ assertNotNull(Test.NOT_NULL, testEAPT.getCorrelationID());
}
} \ No newline at end of file
diff --git a/sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/RPCRequestTest.java b/sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/RPCRequestTest.java
new file mode 100644
index 000000000..5c1b9436d
--- /dev/null
+++ b/sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/RPCRequestTest.java
@@ -0,0 +1,48 @@
+package com.smartdevicelink.test.proxy;
+
+import android.test.AndroidTestCase;
+
+import com.smartdevicelink.protocol.enums.FunctionID;
+import com.smartdevicelink.proxy.RPCMessage;
+import com.smartdevicelink.proxy.RPCRequest;
+import com.smartdevicelink.proxy.RPCResponse;
+import com.smartdevicelink.proxy.rpc.GetSystemCapability;
+import com.smartdevicelink.test.Config;
+import com.smartdevicelink.test.JsonUtils;
+
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import java.util.Iterator;
+
+public class RPCRequestTest extends AndroidTestCase {
+
+ public static final int SDL_VERSION_UNDER_TEST = Config.SDL_VERSION_UNDER_TEST;
+
+ private static final int CORR_ID = 402;
+
+ protected RPCRequest msg;
+
+ @Override
+ public void setUp(){
+ this.msg = new GetSystemCapability();
+
+ }
+
+ public void testCreation(){
+ assertNotNull("Object creation failed.", msg);
+ }
+
+ public void testGetCorrelationId(){
+ assertNotNull(this.msg.getCorrelationID());
+ }
+ public void testSettingCorrelationId(){
+ assertNotNull(this.msg.getCorrelationID());
+ msg.setCorrelationID(CORR_ID);
+ assertEquals("Correlation ID doesn't match expected ID.", CORR_ID, (int)msg.getCorrelationID());
+
+ }
+
+
+} \ No newline at end of file
diff --git a/sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/SystemCapabilityManagerTests.java b/sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/SystemCapabilityManagerTests.java
new file mode 100644
index 000000000..89c15ab16
--- /dev/null
+++ b/sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/SystemCapabilityManagerTests.java
@@ -0,0 +1,138 @@
+package com.smartdevicelink.test.proxy;
+
+import android.test.AndroidTestCase;
+
+import com.smartdevicelink.proxy.RPCRequest;
+import com.smartdevicelink.proxy.SystemCapabilityManager;
+import com.smartdevicelink.proxy.interfaces.OnSystemCapabilityListener;
+import com.smartdevicelink.proxy.rpc.AudioPassThruCapabilities;
+import com.smartdevicelink.proxy.rpc.ButtonCapabilities;
+import com.smartdevicelink.proxy.rpc.DisplayCapabilities;
+import com.smartdevicelink.proxy.rpc.GetSystemCapability;
+import com.smartdevicelink.proxy.rpc.GetSystemCapabilityResponse;
+import com.smartdevicelink.proxy.rpc.HMICapabilities;
+import com.smartdevicelink.proxy.rpc.PresetBankCapabilities;
+import com.smartdevicelink.proxy.rpc.RegisterAppInterfaceResponse;
+import com.smartdevicelink.proxy.rpc.SoftButtonCapabilities;
+import com.smartdevicelink.proxy.rpc.SystemCapability;
+import com.smartdevicelink.proxy.rpc.VideoStreamingCapability;
+import com.smartdevicelink.proxy.rpc.enums.HmiZoneCapabilities;
+import com.smartdevicelink.proxy.rpc.enums.SpeechCapabilities;
+import com.smartdevicelink.proxy.rpc.enums.SystemCapabilityType;
+import com.smartdevicelink.test.Test;
+import com.smartdevicelink.test.Validator;
+import com.smartdevicelink.util.CorrelationIdGenerator;
+
+import java.util.List;
+
+import static android.R.id.list;
+
+public class SystemCapabilityManagerTests extends AndroidTestCase {
+ public static final String TAG = "SystemCapabilityManagerTests";
+ public static SystemCapabilityManager systemCapabilityManager;
+
+ @Override
+ protected void setUp() throws Exception{
+ super.setUp();
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ }
+
+ public SystemCapabilityManager createSampleManager(){
+ SystemCapabilityManager systemCapabilityManager = new SystemCapabilityManager(new SystemCapabilityManager.ISystemCapabilityManager() {
+ @Override
+ public void onSendPacketRequest(RPCRequest message) {
+
+ }
+ });
+
+ RegisterAppInterfaceResponse raiResponse = new RegisterAppInterfaceResponse();
+
+ raiResponse.setHmiCapabilities(Test.GENERAL_HMICAPABILITIES);
+ raiResponse.setDisplayCapabilities(Test.GENERAL_DISPLAYCAPABILITIES);
+ raiResponse.setAudioPassThruCapabilities(Test.GENERAL_AUDIOPASSTHRUCAPABILITIES_LIST);
+ raiResponse.setButtonCapabilities(Test.GENERAL_BUTTONCAPABILITIES_LIST);
+ raiResponse.setHmiZoneCapabilities(Test.GENERAL_HMIZONECAPABILITIES_LIST);
+ raiResponse.setPresetBankCapabilities(Test.GENERAL_PRESETBANKCAPABILITIES);
+ raiResponse.setSoftButtonCapabilities(Test.GENERAL_SOFTBUTTONCAPABILITIES_LIST);
+ raiResponse.setSpeechCapabilities(Test.GENERAL_SPEECHCAPABILITIES_LIST);
+ raiResponse.setSuccess(true);
+
+ systemCapabilityManager.parseRAIResponse(raiResponse);
+ return systemCapabilityManager;
+ }
+
+ public void testParseRAI() {
+ systemCapabilityManager = createSampleManager();
+
+ assertTrue(Test.TRUE,
+ Validator.validateHMICapabilities(Test.GENERAL_HMICAPABILITIES, (HMICapabilities) systemCapabilityManager.getCapability(SystemCapabilityType.HMI)));
+ assertTrue(Test.TRUE,
+ Validator.validateDisplayCapabilities(Test.GENERAL_DISPLAYCAPABILITIES, (DisplayCapabilities) systemCapabilityManager.getCapability(SystemCapabilityType.DISPLAY)));
+ assertTrue(Test.TRUE,
+ Validator.validateAudioPassThruCapabilities(Test.GENERAL_AUDIOPASSTHRUCAPABILITIES_LIST, (List<AudioPassThruCapabilities>) systemCapabilityManager.getCapability(SystemCapabilityType.AUDIO_PASSTHROUGH)));
+ assertTrue(Test.TRUE,
+ Validator.validateButtonCapabilities(Test.GENERAL_BUTTONCAPABILITIES_LIST, (List<ButtonCapabilities> )systemCapabilityManager.getCapability(SystemCapabilityType.BUTTON)));
+ assertTrue(Test.TRUE,
+ Validator.validateHMIZoneCapabilities(Test.GENERAL_HMIZONECAPABILITIES_LIST, (List<HmiZoneCapabilities>) systemCapabilityManager.getCapability(SystemCapabilityType.HMI_ZONE)));
+ assertTrue(Test.TRUE,
+ Validator.validatePresetBankCapabilities(Test.GENERAL_PRESETBANKCAPABILITIES, (PresetBankCapabilities) systemCapabilityManager.getCapability(SystemCapabilityType.PRESET_BANK)));
+ assertTrue(Test.TRUE,
+ Validator.validateSoftButtonCapabilities(Test.GENERAL_SOFTBUTTONCAPABILITIES_LIST, (List<SoftButtonCapabilities>) systemCapabilityManager.getCapability(SystemCapabilityType.SOFTBUTTON)));
+ assertTrue(Test.TRUE,
+ Validator.validateSpeechCapabilities(Test.GENERAL_SPEECHCAPABILITIES_LIST, (List<SpeechCapabilities>) systemCapabilityManager.getCapability(SystemCapabilityType.SPEECH)));
+ }
+
+ public void testGetVSCapability(){
+ VideoStreamingCapability vsCapability = new VideoStreamingCapability();
+ vsCapability.setMaxBitrate(Test.GENERAL_INT);
+ vsCapability.setPreferredResolution(Test.GENERAL_IMAGERESOLUTION);
+ vsCapability.setSupportedFormats(Test.GENERAL_VIDEOSTREAMINGFORMAT_LIST);
+
+ SystemCapability cap = new SystemCapability();
+ cap.setSystemCapabilityType(SystemCapabilityType.VIDEO_STREAMING);
+ cap.setCapabilityForType(SystemCapabilityType.VIDEO_STREAMING, vsCapability);
+
+ final SystemCapability referenceCapability = cap;
+
+ systemCapabilityManager = new SystemCapabilityManager(new SystemCapabilityManager.ISystemCapabilityManager() {
+ @Override
+ public void onSendPacketRequest(RPCRequest message) {
+ GetSystemCapabilityResponse response = new GetSystemCapabilityResponse();
+ response.setSystemCapability(referenceCapability);
+ response.setSuccess(true);
+ message.getOnRPCResponseListener().onResponse(CorrelationIdGenerator.generateId(), response);
+ }
+ });
+
+ systemCapabilityManager.getCapability(SystemCapabilityType.VIDEO_STREAMING, new OnSystemCapabilityListener() {
+ @Override
+ public void onCapabilityRetrieved(Object capability) {
+ assertTrue(Test.TRUE,
+ Validator.validateVideoStreamingCapability(
+ (VideoStreamingCapability) referenceCapability.getCapabilityForType(SystemCapabilityType.VIDEO_STREAMING),
+ (VideoStreamingCapability) capability));
+ }
+
+ @Override
+ public void onError(String info) {
+ assertTrue(false);
+ }
+ });
+ }
+
+ public void testListConversion(){
+ SystemCapabilityManager systemCapabilityManager = createSampleManager();
+ Object capability = systemCapabilityManager.getCapability(SystemCapabilityType.SOFTBUTTON);
+ assertNotNull(capability);
+ List<SoftButtonCapabilities> list = SystemCapabilityManager.convertToList(capability, SoftButtonCapabilities.class);
+ assertNotNull(list);
+
+
+ }
+
+
+}
diff --git a/sdl_android/src/main/java/com/smartdevicelink/proxy/RPCRequest.java b/sdl_android/src/main/java/com/smartdevicelink/proxy/RPCRequest.java
index 50493870d..370ffe1ec 100644
--- a/sdl_android/src/main/java/com/smartdevicelink/proxy/RPCRequest.java
+++ b/sdl_android/src/main/java/com/smartdevicelink/proxy/RPCRequest.java
@@ -6,6 +6,7 @@ package com.smartdevicelink.proxy;
import java.util.Hashtable;
import com.smartdevicelink.proxy.rpc.listeners.OnRPCResponseListener;
+import com.smartdevicelink.util.CorrelationIdGenerator;
public class RPCRequest extends RPCMessage {
@@ -21,6 +22,10 @@ public class RPCRequest extends RPCMessage {
}
public Integer getCorrelationID() {
+ //First we check to see if a correlation ID is set. If not, create one.
+ if(!function.containsKey(RPCMessage.KEY_CORRELATION_ID)){
+ setCorrelationID(CorrelationIdGenerator.generateId());
+ }
return (Integer)function.get(RPCMessage.KEY_CORRELATION_ID);
}
diff --git a/sdl_android/src/main/java/com/smartdevicelink/proxy/SdlProxyALM.java b/sdl_android/src/main/java/com/smartdevicelink/proxy/SdlProxyALM.java
index 2bdbdf82e..a9cec4f10 100644
--- a/sdl_android/src/main/java/com/smartdevicelink/proxy/SdlProxyALM.java
+++ b/sdl_android/src/main/java/com/smartdevicelink/proxy/SdlProxyALM.java
@@ -16,6 +16,7 @@ import com.smartdevicelink.proxy.rpc.HMICapabilities;
import com.smartdevicelink.proxy.rpc.PresetBankCapabilities;
import com.smartdevicelink.proxy.rpc.SdlMsgVersion;
import com.smartdevicelink.proxy.rpc.SoftButtonCapabilities;
+import com.smartdevicelink.proxy.rpc.SystemCapability;
import com.smartdevicelink.proxy.rpc.TTSChunk;
import com.smartdevicelink.proxy.rpc.VehicleType;
import com.smartdevicelink.proxy.rpc.enums.AppHMIType;
@@ -24,334 +25,337 @@ import com.smartdevicelink.proxy.rpc.enums.Language;
import com.smartdevicelink.proxy.rpc.enums.PrerecordedSpeech;
import com.smartdevicelink.proxy.rpc.enums.SdlDisconnectedReason;
import com.smartdevicelink.proxy.rpc.enums.SpeechCapabilities;
+import com.smartdevicelink.proxy.rpc.enums.SystemCapabilityType;
import com.smartdevicelink.proxy.rpc.enums.VrCapabilities;
import com.smartdevicelink.trace.SdlTrace;
import com.smartdevicelink.transport.BTTransportConfig;
-import com.smartdevicelink.transport.BaseTransportConfig;
-import com.smartdevicelink.transport.MultiplexTransportConfig;
+import com.smartdevicelink.transport.BaseTransportConfig;
+import com.smartdevicelink.transport.MultiplexTransportConfig;
import com.smartdevicelink.transport.enums.TransportType;
-
+
+import static com.smartdevicelink.proxy.SystemCapabilityManager.convertToList;
+
public class SdlProxyALM extends SdlProxyBase<IProxyListenerALM> {
-
+
private static final String SDL_LIB_TRACE_KEY = "42baba60-eb57-11df-98cf-0800200c9a66";
@SuppressWarnings("unused")
- private static final String SDL_LIB_PRIVATE_TOKEN = "{DAE1A88C-6C16-4768-ACA5-6F1247EA01C2}";
+ private static final String SDL_LIB_PRIVATE_TOKEN = "{DAE1A88C-6C16-4768-ACA5-6F1247EA01C2}";
/**
* @deprecated
* Constructor for the SdlProxy object, the proxy for communicating between the App and SDL
- *
+ *
* Takes advantage of the advanced lifecycle management.
- * @param listener - Reference to the object in the App listening to callbacks from SDL.
- * @param appName - Name of the application displayed on SDL.
+ * @param listener - Reference to the object in the App listening to callbacks from SDL.
+ * @param appName - Name of the application displayed on SDL.
* @param isMediaApp - Indicates if the app is a media application.
*/
@Deprecated
- public SdlProxyALM(IProxyListenerALM listener, String appName, Boolean isMediaApp,
- Language languageDesired, Language hmiDisplayLanguageDesired, String appID) throws SdlException {
- super( listener,
- /*sdl proxy configuration resources*/null,
- /*enable advanced lifecycle management*/true,
+ public SdlProxyALM(IProxyListenerALM listener, String appName, Boolean isMediaApp,
+ Language languageDesired, Language hmiDisplayLanguageDesired, String appID) throws SdlException {
+ super( listener,
+ /*sdl proxy configuration resources*/null,
+ /*enable advanced lifecycle management*/true,
appName,
- /*TTS Name*/null,
- /*ngn media app*/null,
- /*vr synonyms*/null,
- /*is media app*/isMediaApp,
- /*sdlMsgVersion*/null,
- /*language desired*/languageDesired,
- /*HMI Display Language Desired*/hmiDisplayLanguageDesired,
- /*App Type*/null,
- /*App ID*/appID,
- /*autoActivateID*/null,
- /*callbackToUIThread*/ false,
+ /*TTS Name*/null,
+ /*ngn media app*/null,
+ /*vr synonyms*/null,
+ /*is media app*/isMediaApp,
+ /*sdlMsgVersion*/null,
+ /*language desired*/languageDesired,
+ /*HMI Display Language Desired*/hmiDisplayLanguageDesired,
+ /*App Type*/null,
+ /*App ID*/appID,
+ /*autoActivateID*/null,
+ /*callbackToUIThread*/ false,
new BTTransportConfig());
}
-
+
/**
* Constructor for the SdlProxy object, the proxy for communicating between the App and SDL
- *
+ *
* Takes advantage of the advanced lifecycle management.
* @param context - Used to create a multiplexing transport config
- * @param listener - Reference to the object in the App listening to callbacks from SDL.
- * @param appName - Name of the application displayed on SDL.
+ * @param listener - Reference to the object in the App listening to callbacks from SDL.
+ * @param appName - Name of the application displayed on SDL.
* @param isMediaApp - Indicates if the app is a media application.
*/
- public SdlProxyALM(Context context,IProxyListenerALM listener, String appName, Boolean isMediaApp,
- Language languageDesired, Language hmiDisplayLanguageDesired, String appID) throws SdlException {
- super( listener,
- /*sdl proxy configuration resources*/null,
- /*enable advanced lifecycle management*/true,
+ public SdlProxyALM(Context context,IProxyListenerALM listener, String appName, Boolean isMediaApp,
+ Language languageDesired, Language hmiDisplayLanguageDesired, String appID) throws SdlException {
+ super( listener,
+ /*sdl proxy configuration resources*/null,
+ /*enable advanced lifecycle management*/true,
appName,
- /*TTS Name*/null,
- /*ngn media app*/null,
- /*vr synonyms*/null,
- /*is media app*/isMediaApp,
- /*sdlMsgVersion*/null,
- /*language desired*/languageDesired,
- /*HMI Display Language Desired*/hmiDisplayLanguageDesired,
- /*App Type*/null,
- /*App ID*/appID,
- /*autoActivateID*/null,
- /*callbackToUIThread*/ false,
+ /*TTS Name*/null,
+ /*ngn media app*/null,
+ /*vr synonyms*/null,
+ /*is media app*/isMediaApp,
+ /*sdlMsgVersion*/null,
+ /*language desired*/languageDesired,
+ /*HMI Display Language Desired*/hmiDisplayLanguageDesired,
+ /*App Type*/null,
+ /*App ID*/appID,
+ /*autoActivateID*/null,
+ /*callbackToUIThread*/ false,
new MultiplexTransportConfig(context,appID));
-
+
SdlTrace.logProxyEvent("Application constructed SdlProxyALM (using legacy constructor for BT transport) instance passing in: IProxyListener, appName, and isMediaApp.", SDL_LIB_TRACE_KEY);
}
/**
* @deprecated
* Constructor for the SdlProxy object, the proxy for communicating between the App and SDL.
- *
- * Takes advantage of the advanced lifecycle management.
- *
- * @param listener - Reference to the object in the App listening to callbacks from SDL.
- * @param appName - Name of the application displayed on SDL.
- * @param ngnMediaScreenAppName - Name of the application displayed on SDL for Navigation equipped
- * vehicles. Limited to five characters.
- * @param vrSynonyms - A vector of strings, all of which can be used as voice commands to
+ *
+ * Takes advantage of the advanced lifecycle management.
+ *
+ * @param listener - Reference to the object in the App listening to callbacks from SDL.
+ * @param appName - Name of the application displayed on SDL.
+ * @param ngnMediaScreenAppName - Name of the application displayed on SDL for Navigation equipped
+ * vehicles. Limited to five characters.
+ * @param vrSynonyms - A vector of strings, all of which can be used as voice commands to
* @param isMediaApp - Indicates if the app is a media application.
* @param sdlMsgVersion - Indicates the version of SDL SmartDeviceLink Messages desired. Must be less than
- * or equal to the version of SDL SmartDeviceLink running on the vehicle.
+ * or equal to the version of SDL SmartDeviceLink running on the vehicle.
* @param languageDesired - Indicates the language desired for the SDL interface.
* @param autoActivateID - ID used to re-register previously registered application.
* @throws SdlException
*/
@Deprecated
- public SdlProxyALM(IProxyListenerALM listener, String appName, String ngnMediaScreenAppName,
- Vector<String> vrSynonyms, Boolean isMediaApp, SdlMsgVersion sdlMsgVersion,
- Language languageDesired, Language hmiDisplayLanguageDesired, String appID,
- String autoActivateID) throws SdlException {
- super( listener,
- /*sdl proxy configuration resources*/null,
- /*enable advanced lifecycle management*/true,
+ public SdlProxyALM(IProxyListenerALM listener, String appName, String ngnMediaScreenAppName,
+ Vector<String> vrSynonyms, Boolean isMediaApp, SdlMsgVersion sdlMsgVersion,
+ Language languageDesired, Language hmiDisplayLanguageDesired, String appID,
+ String autoActivateID) throws SdlException {
+ super( listener,
+ /*sdl proxy configuration resources*/null,
+ /*enable advanced lifecycle management*/true,
appName,
- /*TTS Name*/null,
+ /*TTS Name*/null,
ngnMediaScreenAppName,
vrSynonyms,
isMediaApp,
sdlMsgVersion,
languageDesired,
- /*HMI Display Language Desired*/hmiDisplayLanguageDesired,
- /*App Type*/null,
- /*App ID*/appID,
+ /*HMI Display Language Desired*/hmiDisplayLanguageDesired,
+ /*App Type*/null,
+ /*App ID*/appID,
autoActivateID,
- /*callbackToUIThread*/ false,
+ /*callbackToUIThread*/ false,
new BTTransportConfig());
-
+
SdlTrace.logProxyEvent("Application constructed SdlProxyALM (using legacy constructor for BT transport) instance passing in: IProxyListener, appName, ngnMediaScreenAppName, " +
"vrSynonyms, isMediaApp, sdlMsgVersion, languageDesired, and autoActivateID.", SDL_LIB_TRACE_KEY);
}
/**
* Constructor for the SdlProxy object, the proxy for communicating between the App and SDL.
- *
- * Takes advantage of the advanced lifecycle management.
- *
+ *
+ * Takes advantage of the advanced lifecycle management.
+ *
* @param context - Used to create a multiplexing transport config
- * @param listener - Reference to the object in the App listening to callbacks from SDL.
- * @param appName - Name of the application displayed on SDL.
- * @param ngnMediaScreenAppName - Name of the application displayed on SDL for Navigation equipped
- * vehicles. Limited to five characters.
- * @param vrSynonyms - A vector of strings, all of which can be used as voice commands to
+ * @param listener - Reference to the object in the App listening to callbacks from SDL.
+ * @param appName - Name of the application displayed on SDL.
+ * @param ngnMediaScreenAppName - Name of the application displayed on SDL for Navigation equipped
+ * vehicles. Limited to five characters.
+ * @param vrSynonyms - A vector of strings, all of which can be used as voice commands to
* @param isMediaApp - Indicates if the app is a media application.
* @param sdlMsgVersion - Indicates the version of SDL SmartDeviceLink Messages desired. Must be less than
- * or equal to the version of SDL SmartDeviceLink running on the vehicle.
+ * or equal to the version of SDL SmartDeviceLink running on the vehicle.
* @param languageDesired - Indicates the language desired for the SDL interface.
* @param autoActivateID - ID used to re-register previously registered application.
* @throws SdlException
*/
- public SdlProxyALM(Context context,IProxyListenerALM listener, String appName, String ngnMediaScreenAppName,
- Vector<String> vrSynonyms, Boolean isMediaApp, SdlMsgVersion sdlMsgVersion,
- Language languageDesired, Language hmiDisplayLanguageDesired, String appID,
- String autoActivateID) throws SdlException {
- super( listener,
- /*sdl proxy configuration resources*/null,
- /*enable advanced lifecycle management*/true,
+ public SdlProxyALM(Context context,IProxyListenerALM listener, String appName, String ngnMediaScreenAppName,
+ Vector<String> vrSynonyms, Boolean isMediaApp, SdlMsgVersion sdlMsgVersion,
+ Language languageDesired, Language hmiDisplayLanguageDesired, String appID,
+ String autoActivateID) throws SdlException {
+ super( listener,
+ /*sdl proxy configuration resources*/null,
+ /*enable advanced lifecycle management*/true,
appName,
- /*TTS Name*/null,
+ /*TTS Name*/null,
ngnMediaScreenAppName,
vrSynonyms,
isMediaApp,
sdlMsgVersion,
languageDesired,
- /*HMI Display Language Desired*/hmiDisplayLanguageDesired,
- /*App Type*/null,
- /*App ID*/appID,
+ /*HMI Display Language Desired*/hmiDisplayLanguageDesired,
+ /*App Type*/null,
+ /*App ID*/appID,
autoActivateID,
- /*callbackToUIThread*/ false,
+ /*callbackToUIThread*/ false,
new MultiplexTransportConfig(context,appID));
-
+
SdlTrace.logProxyEvent("Application constructed SdlProxyALM (using legacy constructor for BT transport) instance passing in: IProxyListener, appName, ngnMediaScreenAppName, " +
"vrSynonyms, isMediaApp, sdlMsgVersion, languageDesired, and autoActivateID.", SDL_LIB_TRACE_KEY);
}
/**
* @deprecated
* Constructor for the SdlProxy object, the proxy for communicating between the App and SDL.
- *
- * Takes advantage of the advanced lifecycle management.
- *
- * @param listener - Reference to the object in the App listening to callbacks from SDL.
- * @param appName - Name of the application displayed on SDL.
- * @param ngnMediaScreenAppName - Name of the application displayed on SDL for Navigation equipped
- * vehicles. Limited to five characters.
- * @param vrSynonyms - A vector of strings, all of which can be used as voice commands to
+ *
+ * Takes advantage of the advanced lifecycle management.
+ *
+ * @param listener - Reference to the object in the App listening to callbacks from SDL.
+ * @param appName - Name of the application displayed on SDL.
+ * @param ngnMediaScreenAppName - Name of the application displayed on SDL for Navigation equipped
+ * vehicles. Limited to five characters.
+ * @param vrSynonyms - A vector of strings, all of which can be used as voice commands to
* @param isMediaApp - Indicates if the app is a media application.
* @param sdlMsgVersion - Indicates the version of SDL SmartDeviceLink Messages desired. Must be less than
- * or equal to the version of SDL SmartDeviceLink running on the vehicle.
+ * or equal to the version of SDL SmartDeviceLink running on the vehicle.
* @param languageDesired - Indicates the language desired for the SDL interface.
* @param autoActivateID - ID used to re-register previously registered application.
* @throws SdlException
*/
@Deprecated
- public SdlProxyALM(IProxyListenerALM listener, SdlProxyConfigurationResources sdlProxyConfigurationResources,
- String appName, String ngnMediaScreenAppName, Vector<String> vrSynonyms,
- Boolean isMediaApp, SdlMsgVersion sdlMsgVersion, Language languageDesired,
- Language hmiDisplayLanguageDesired, String appID, String autoActivateID) throws SdlException {
- super( listener,
- sdlProxyConfigurationResources,
- /*enable advanced lifecycle management*/true,
+ public SdlProxyALM(IProxyListenerALM listener, SdlProxyConfigurationResources sdlProxyConfigurationResources,
+ String appName, String ngnMediaScreenAppName, Vector<String> vrSynonyms,
+ Boolean isMediaApp, SdlMsgVersion sdlMsgVersion, Language languageDesired,
+ Language hmiDisplayLanguageDesired, String appID, String autoActivateID) throws SdlException {
+ super( listener,
+ sdlProxyConfigurationResources,
+ /*enable advanced lifecycle management*/true,
appName,
- /*TTS Name*/null,
+ /*TTS Name*/null,
ngnMediaScreenAppName,
vrSynonyms,
isMediaApp,
sdlMsgVersion,
languageDesired,
- /*HMI Display Language Desired*/hmiDisplayLanguageDesired,
- /*App Type*/null,
- /*App ID*/appID,
+ /*HMI Display Language Desired*/hmiDisplayLanguageDesired,
+ /*App Type*/null,
+ /*App ID*/appID,
autoActivateID,
- /*callbackToUIThread*/ false,
+ /*callbackToUIThread*/ false,
new BTTransportConfig());
-
+
SdlTrace.logProxyEvent("Application constructed SdlProxyALM (using legacy constructor for BT transport) instance passing in: IProxyListener, sdlProxyConfigurationResources, " +
"appName, ngnMediaScreenAppName, vrSynonyms, isMediaApp, sdlMsgVersion, languageDesired, and autoActivateID.", SDL_LIB_TRACE_KEY);
}
/**
* Constructor for the SdlProxy object, the proxy for communicating between the App and SDL.
- *
- * Takes advantage of the advanced lifecycle management.
- *
+ *
+ * Takes advantage of the advanced lifecycle management.
+ *
* @param context - Used to create a multiplexing transport config
- * @param listener - Reference to the object in the App listening to callbacks from SDL.
- * @param appName - Name of the application displayed on SDL.
- * @param ngnMediaScreenAppName - Name of the application displayed on SDL for Navigation equipped
- * vehicles. Limited to five characters.
- * @param vrSynonyms - A vector of strings, all of which can be used as voice commands to
+ * @param listener - Reference to the object in the App listening to callbacks from SDL.
+ * @param appName - Name of the application displayed on SDL.
+ * @param ngnMediaScreenAppName - Name of the application displayed on SDL for Navigation equipped
+ * vehicles. Limited to five characters.
+ * @param vrSynonyms - A vector of strings, all of which can be used as voice commands to
* @param isMediaApp - Indicates if the app is a media application.
* @param sdlMsgVersion - Indicates the version of SDL SmartDeviceLink Messages desired. Must be less than
- * or equal to the version of SDL SmartDeviceLink running on the vehicle.
+ * or equal to the version of SDL SmartDeviceLink running on the vehicle.
* @param languageDesired - Indicates the language desired for the SDL interface.
* @param autoActivateID - ID used to re-register previously registered application.
* @throws SdlException
*/
- public SdlProxyALM(Context context,IProxyListenerALM listener, SdlProxyConfigurationResources sdlProxyConfigurationResources,
- String appName, String ngnMediaScreenAppName, Vector<String> vrSynonyms,
- Boolean isMediaApp, SdlMsgVersion sdlMsgVersion, Language languageDesired,
- Language hmiDisplayLanguageDesired, String appID, String autoActivateID) throws SdlException {
- super( listener,
- sdlProxyConfigurationResources,
- /*enable advanced lifecycle management*/true,
+ public SdlProxyALM(Context context,IProxyListenerALM listener, SdlProxyConfigurationResources sdlProxyConfigurationResources,
+ String appName, String ngnMediaScreenAppName, Vector<String> vrSynonyms,
+ Boolean isMediaApp, SdlMsgVersion sdlMsgVersion, Language languageDesired,
+ Language hmiDisplayLanguageDesired, String appID, String autoActivateID) throws SdlException {
+ super( listener,
+ sdlProxyConfigurationResources,
+ /*enable advanced lifecycle management*/true,
appName,
- /*TTS Name*/null,
+ /*TTS Name*/null,
ngnMediaScreenAppName,
vrSynonyms,
isMediaApp,
sdlMsgVersion,
languageDesired,
- /*HMI Display Language Desired*/hmiDisplayLanguageDesired,
- /*App Type*/null,
- /*App ID*/appID,
+ /*HMI Display Language Desired*/hmiDisplayLanguageDesired,
+ /*App Type*/null,
+ /*App ID*/appID,
autoActivateID,
- /*callbackToUIThread*/ false,
+ /*callbackToUIThread*/ false,
new MultiplexTransportConfig(context,appID));
-
+
SdlTrace.logProxyEvent("Application constructed SdlProxyALM (using legacy constructor for BT transport) instance passing in: IProxyListener, sdlProxyConfigurationResources, " +
"appName, ngnMediaScreenAppName, vrSynonyms, isMediaApp, sdlMsgVersion, languageDesired, and autoActivateID.", SDL_LIB_TRACE_KEY);
}
/**
* @deprecated
* Constructor for the SdlProxy object, the proxy for communicating between the App and SDL.
- *
- * Takes advantage of the advanced lifecycle management.
- *
- * @param listener - Reference to the object in the App listening to callbacks from SDL.
- * @param appName - Name of the application displayed on SDL.
- * @param ngnMediaScreenAppName - Name of the application displayed on SDL for Navigation equipped
- * vehicles. Limited to five characters.
- * @param vrSynonyms - A vector of strings, all of which can be used as voice commands to
+ *
+ * Takes advantage of the advanced lifecycle management.
+ *
+ * @param listener - Reference to the object in the App listening to callbacks from SDL.
+ * @param appName - Name of the application displayed on SDL.
+ * @param ngnMediaScreenAppName - Name of the application displayed on SDL for Navigation equipped
+ * vehicles. Limited to five characters.
+ * @param vrSynonyms - A vector of strings, all of which can be used as voice commands to
* @param isMediaApp - Indicates if the app is a media application.
* @param sdlMsgVersion - Indicates the version of SDL SmartDeviceLink Messages desired. Must be less than
- * or equal to the version of SDL SmartDeviceLink running on the vehicle.
+ * or equal to the version of SDL SmartDeviceLink running on the vehicle.
* @param languageDesired - Indicates the language desired for the SDL interface.
* @param autoActivateID - ID used to re-register previously registered application.
* @param callbackToUIThread - If true, all callbacks will occur on the UI thread.
* @throws SdlException
*/
@Deprecated
- public SdlProxyALM(IProxyListenerALM listener, String appName, String ngnMediaScreenAppName,
- Vector<String> vrSynonyms, Boolean isMediaApp, SdlMsgVersion sdlMsgVersion,
- Language languageDesired, Language hmiDisplayLanguageDesired, String appID,
- String autoActivateID, boolean callbackToUIThread) throws SdlException {
- super( listener,
- /*sdl proxy configuration resources*/null,
- /*enable advanced lifecycle management*/true,
+ public SdlProxyALM(IProxyListenerALM listener, String appName, String ngnMediaScreenAppName,
+ Vector<String> vrSynonyms, Boolean isMediaApp, SdlMsgVersion sdlMsgVersion,
+ Language languageDesired, Language hmiDisplayLanguageDesired, String appID,
+ String autoActivateID, boolean callbackToUIThread) throws SdlException {
+ super( listener,
+ /*sdl proxy configuration resources*/null,
+ /*enable advanced lifecycle management*/true,
appName,
- /*TTS Name*/null,
+ /*TTS Name*/null,
ngnMediaScreenAppName,
vrSynonyms,
isMediaApp,
sdlMsgVersion,
languageDesired,
- /*HMI Display Language Desired*/hmiDisplayLanguageDesired,
- /*App Type*/null,
- /*App ID*/appID,
+ /*HMI Display Language Desired*/hmiDisplayLanguageDesired,
+ /*App Type*/null,
+ /*App ID*/appID,
autoActivateID,
callbackToUIThread,
new BTTransportConfig());
-
+
SdlTrace.logProxyEvent("Application constructed SdlProxyALM (using legacy constructor for BT transport) instance passing in: IProxyListener, " +
"appName, ngnMediaScreenAppName, vrSynonyms, isMediaApp, sdlMsgVersion, languageDesired, autoActivateID, " +
"and callbackToUIThread", SDL_LIB_TRACE_KEY);
}
/**
* Constructor for the SdlProxy object, the proxy for communicating between the App and SDL.
- *
- * Takes advantage of the advanced lifecycle management.
- *
+ *
+ * Takes advantage of the advanced lifecycle management.
+ *
* @param context - Used to create a multiplexing transport config
- * @param listener - Reference to the object in the App listening to callbacks from SDL.
- * @param appName - Name of the application displayed on SDL.
- * @param ngnMediaScreenAppName - Name of the application displayed on SDL for Navigation equipped
- * vehicles. Limited to five characters.
- * @param vrSynonyms - A vector of strings, all of which can be used as voice commands to
+ * @param listener - Reference to the object in the App listening to callbacks from SDL.
+ * @param appName - Name of the application displayed on SDL.
+ * @param ngnMediaScreenAppName - Name of the application displayed on SDL for Navigation equipped
+ * vehicles. Limited to five characters.
+ * @param vrSynonyms - A vector of strings, all of which can be used as voice commands to
* @param isMediaApp - Indicates if the app is a media application.
* @param sdlMsgVersion - Indicates the version of SDL SmartDeviceLink Messages desired. Must be less than
- * or equal to the version of SDL SmartDeviceLink running on the vehicle.
+ * or equal to the version of SDL SmartDeviceLink running on the vehicle.
* @param languageDesired - Indicates the language desired for the SDL interface.
* @param autoActivateID - ID used to re-register previously registered application.
* @param callbackToUIThread - If true, all callbacks will occur on the UI thread.
* @throws SdlException
*/
- public SdlProxyALM(Context context,IProxyListenerALM listener, String appName, String ngnMediaScreenAppName,
- Vector<String> vrSynonyms, Boolean isMediaApp, SdlMsgVersion sdlMsgVersion,
- Language languageDesired, Language hmiDisplayLanguageDesired, String appID,
- String autoActivateID, boolean callbackToUIThread) throws SdlException {
- super( listener,
- /*sdl proxy configuration resources*/null,
- /*enable advanced lifecycle management*/true,
+ public SdlProxyALM(Context context,IProxyListenerALM listener, String appName, String ngnMediaScreenAppName,
+ Vector<String> vrSynonyms, Boolean isMediaApp, SdlMsgVersion sdlMsgVersion,
+ Language languageDesired, Language hmiDisplayLanguageDesired, String appID,
+ String autoActivateID, boolean callbackToUIThread) throws SdlException {
+ super( listener,
+ /*sdl proxy configuration resources*/null,
+ /*enable advanced lifecycle management*/true,
appName,
- /*TTS Name*/null,
+ /*TTS Name*/null,
ngnMediaScreenAppName,
vrSynonyms,
isMediaApp,
sdlMsgVersion,
languageDesired,
- /*HMI Display Language Desired*/hmiDisplayLanguageDesired,
- /*App Type*/null,
- /*App ID*/appID,
+ /*HMI Display Language Desired*/hmiDisplayLanguageDesired,
+ /*App Type*/null,
+ /*App ID*/appID,
autoActivateID,
callbackToUIThread,
new MultiplexTransportConfig(context,appID));
-
+
SdlTrace.logProxyEvent("Application constructed SdlProxyALM (using legacy constructor for BT transport) instance passing in: IProxyListener, " +
"appName, ngnMediaScreenAppName, vrSynonyms, isMediaApp, sdlMsgVersion, languageDesired, autoActivateID, " +
"and callbackToUIThread", SDL_LIB_TRACE_KEY);
@@ -359,360 +363,360 @@ public class SdlProxyALM extends SdlProxyBase<IProxyListenerALM> {
/**
* @deprecated
* Constructor for the SdlProxy object, the proxy for communicating between the App and SDL.
- *
- * Takes advantage of the advanced lifecycle management.
- *
- * @param listener - Reference to the object in the App listening to callbacks from SDL.
- * @param appName - Name of the application displayed on SDL.
- * @param ngnMediaScreenAppName - Name of the application displayed on SDL for Navigation equipped
- * vehicles. Limited to five characters.
- * @param vrSynonyms - A vector of strings, all of which can be used as voice commands to
+ *
+ * Takes advantage of the advanced lifecycle management.
+ *
+ * @param listener - Reference to the object in the App listening to callbacks from SDL.
+ * @param appName - Name of the application displayed on SDL.
+ * @param ngnMediaScreenAppName - Name of the application displayed on SDL for Navigation equipped
+ * vehicles. Limited to five characters.
+ * @param vrSynonyms - A vector of strings, all of which can be used as voice commands to
* @param isMediaApp - Indicates if the app is a media application.
* @param sdlMsgVersion - Indicates the version of SDL SmartDeviceLink Messages desired. Must be less than
- * or equal to the version of SDL SmartDeviceLink running on the vehicle.
+ * or equal to the version of SDL SmartDeviceLink running on the vehicle.
* @param languageDesired - Indicates the language desired for the SDL interface.
* @param autoActivateID - ID used to re-register previously registered application.
* @param callbackToUIThread - If true, all callbacks will occur on the UI thread.
* @throws SdlException
*/
@Deprecated
- public SdlProxyALM(IProxyListenerALM listener, SdlProxyConfigurationResources sdlProxyConfigurationResources,
- String appName, String ngnMediaScreenAppName, Vector<String> vrSynonyms, Boolean isMediaApp,
- SdlMsgVersion sdlMsgVersion, Language languageDesired, Language hmiDisplayLanguageDesired,
- String appID, String autoActivateID,
- boolean callbackToUIThread) throws SdlException {
- super( listener,
+ public SdlProxyALM(IProxyListenerALM listener, SdlProxyConfigurationResources sdlProxyConfigurationResources,
+ String appName, String ngnMediaScreenAppName, Vector<String> vrSynonyms, Boolean isMediaApp,
+ SdlMsgVersion sdlMsgVersion, Language languageDesired, Language hmiDisplayLanguageDesired,
+ String appID, String autoActivateID,
+ boolean callbackToUIThread) throws SdlException {
+ super( listener,
sdlProxyConfigurationResources,
- /*enable advanced lifecycle management*/true,
+ /*enable advanced lifecycle management*/true,
appName,
- /*TTS Name*/null,
+ /*TTS Name*/null,
ngnMediaScreenAppName,
vrSynonyms,
isMediaApp,
sdlMsgVersion,
languageDesired,
- /*HMI Display Language Desired*/hmiDisplayLanguageDesired,
- /*App Type*/null,
- /*App ID*/appID,
+ /*HMI Display Language Desired*/hmiDisplayLanguageDesired,
+ /*App Type*/null,
+ /*App ID*/appID,
autoActivateID,
callbackToUIThread,
new BTTransportConfig());
-
+
SdlTrace.logProxyEvent("Application constructed SdlProxyALM (using legacy constructor for BT transport) instance passing in: IProxyListener, sdlProxyConfigurationResources, " +
"appName, ngnMediaScreenAppName, vrSynonyms, isMediaApp, sdlMsgVersion, languageDesired, autoActivateID, " +
"and callbackToUIThread", SDL_LIB_TRACE_KEY);
}
/**
* Constructor for the SdlProxy object, the proxy for communicating between the App and SDL.
- *
- * Takes advantage of the advanced lifecycle management.
- *
+ *
+ * Takes advantage of the advanced lifecycle management.
+ *
* @param context - Used to create a multiplexing transport config
- * @param listener - Reference to the object in the App listening to callbacks from SDL.
- * @param appName - Name of the application displayed on SDL.
- * @param ngnMediaScreenAppName - Name of the application displayed on SDL for Navigation equipped
- * vehicles. Limited to five characters.
- * @param vrSynonyms - A vector of strings, all of which can be used as voice commands to
+ * @param listener - Reference to the object in the App listening to callbacks from SDL.
+ * @param appName - Name of the application displayed on SDL.
+ * @param ngnMediaScreenAppName - Name of the application displayed on SDL for Navigation equipped
+ * vehicles. Limited to five characters.
+ * @param vrSynonyms - A vector of strings, all of which can be used as voice commands to
* @param isMediaApp - Indicates if the app is a media application.
* @param sdlMsgVersion - Indicates the version of SDL SmartDeviceLink Messages desired. Must be less than
- * or equal to the version of SDL SmartDeviceLink running on the vehicle.
+ * or equal to the version of SDL SmartDeviceLink running on the vehicle.
* @param languageDesired - Indicates the language desired for the SDL interface.
* @param autoActivateID - ID used to re-register previously registered application.
* @param callbackToUIThread - If true, all callbacks will occur on the UI thread.
* @throws SdlException
*/
- public SdlProxyALM(Context context,IProxyListenerALM listener, SdlProxyConfigurationResources sdlProxyConfigurationResources,
- String appName, String ngnMediaScreenAppName, Vector<String> vrSynonyms, Boolean isMediaApp,
- SdlMsgVersion sdlMsgVersion, Language languageDesired, Language hmiDisplayLanguageDesired,
- String appID, String autoActivateID,
- boolean callbackToUIThread) throws SdlException {
- super( listener,
+ public SdlProxyALM(Context context,IProxyListenerALM listener, SdlProxyConfigurationResources sdlProxyConfigurationResources,
+ String appName, String ngnMediaScreenAppName, Vector<String> vrSynonyms, Boolean isMediaApp,
+ SdlMsgVersion sdlMsgVersion, Language languageDesired, Language hmiDisplayLanguageDesired,
+ String appID, String autoActivateID,
+ boolean callbackToUIThread) throws SdlException {
+ super( listener,
sdlProxyConfigurationResources,
- /*enable advanced lifecycle management*/true,
+ /*enable advanced lifecycle management*/true,
appName,
- /*TTS Name*/null,
+ /*TTS Name*/null,
ngnMediaScreenAppName,
vrSynonyms,
isMediaApp,
sdlMsgVersion,
languageDesired,
- /*HMI Display Language Desired*/hmiDisplayLanguageDesired,
- /*App Type*/null,
- /*App ID*/appID,
+ /*HMI Display Language Desired*/hmiDisplayLanguageDesired,
+ /*App Type*/null,
+ /*App ID*/appID,
autoActivateID,
callbackToUIThread,
new MultiplexTransportConfig(context,appID));
-
+
SdlTrace.logProxyEvent("Application constructed SdlProxyALM (using legacy constructor for BT transport) instance passing in: IProxyListener, sdlProxyConfigurationResources, " +
"appName, ngnMediaScreenAppName, vrSynonyms, isMediaApp, sdlMsgVersion, languageDesired, autoActivateID, " +
"and callbackToUIThread", SDL_LIB_TRACE_KEY);
}
-
+
@Deprecated
- public SdlProxyALM(IProxyListenerALM listener, SdlProxyConfigurationResources sdlProxyConfigurationResources,
- String appName, String ngnMediaScreenAppName, Vector<String> vrSynonyms, Boolean isMediaApp,
- SdlMsgVersion sdlMsgVersion, Language languageDesired, Language hmiDisplayLanguageDesired,
- String appID, String autoActivateID, boolean callbackToUIThread, boolean preRegister) throws SdlException {
- super( listener,
+ public SdlProxyALM(IProxyListenerALM listener, SdlProxyConfigurationResources sdlProxyConfigurationResources,
+ String appName, String ngnMediaScreenAppName, Vector<String> vrSynonyms, Boolean isMediaApp,
+ SdlMsgVersion sdlMsgVersion, Language languageDesired, Language hmiDisplayLanguageDesired,
+ String appID, String autoActivateID, boolean callbackToUIThread, boolean preRegister) throws SdlException {
+ super( listener,
sdlProxyConfigurationResources,
- /*enable advanced lifecycle management*/true,
+ /*enable advanced lifecycle management*/true,
appName,
- /*TTS Name*/null,
+ /*TTS Name*/null,
ngnMediaScreenAppName,
vrSynonyms,
isMediaApp,
sdlMsgVersion,
languageDesired,
- /*HMI Display Language Desired*/hmiDisplayLanguageDesired,
- /*App Type*/null,
- /*App ID*/appID,
+ /*HMI Display Language Desired*/hmiDisplayLanguageDesired,
+ /*App Type*/null,
+ /*App ID*/appID,
autoActivateID,
callbackToUIThread,
preRegister,
new BTTransportConfig());
-
+
SdlTrace.logProxyEvent("Application constructed SdlProxyALM (using legacy constructor for BT transport) instance passing in: IProxyListener, sdlProxyConfigurationResources, " +
"appName, ngnMediaScreenAppName, vrSynonyms, isMediaApp, sdlMsgVersion, languageDesired, autoActivateID, " +
"callbackToUIThread and version", SDL_LIB_TRACE_KEY);
}
-
- public SdlProxyALM(Context context,IProxyListenerALM listener, SdlProxyConfigurationResources sdlProxyConfigurationResources,
- String appName, String ngnMediaScreenAppName, Vector<String> vrSynonyms, Boolean isMediaApp,
- SdlMsgVersion sdlMsgVersion, Language languageDesired, Language hmiDisplayLanguageDesired,
- String appID, String autoActivateID, boolean callbackToUIThread, boolean preRegister) throws SdlException {
- super( listener,
+
+ public SdlProxyALM(Context context,IProxyListenerALM listener, SdlProxyConfigurationResources sdlProxyConfigurationResources,
+ String appName, String ngnMediaScreenAppName, Vector<String> vrSynonyms, Boolean isMediaApp,
+ SdlMsgVersion sdlMsgVersion, Language languageDesired, Language hmiDisplayLanguageDesired,
+ String appID, String autoActivateID, boolean callbackToUIThread, boolean preRegister) throws SdlException {
+ super( listener,
sdlProxyConfigurationResources,
- /*enable advanced lifecycle management*/true,
+ /*enable advanced lifecycle management*/true,
appName,
- /*TTS Name*/null,
+ /*TTS Name*/null,
ngnMediaScreenAppName,
vrSynonyms,
isMediaApp,
sdlMsgVersion,
languageDesired,
- /*HMI Display Language Desired*/hmiDisplayLanguageDesired,
- /*App Type*/null,
- /*App ID*/appID,
+ /*HMI Display Language Desired*/hmiDisplayLanguageDesired,
+ /*App Type*/null,
+ /*App ID*/appID,
autoActivateID,
callbackToUIThread,
preRegister,
new MultiplexTransportConfig(context,appID));
-
+
SdlTrace.logProxyEvent("Application constructed SdlProxyALM (using legacy constructor for BT transport) instance passing in: IProxyListener, sdlProxyConfigurationResources, " +
"appName, ngnMediaScreenAppName, vrSynonyms, isMediaApp, sdlMsgVersion, languageDesired, autoActivateID, " +
"callbackToUIThread and version", SDL_LIB_TRACE_KEY);
}
-
+
/********************************************** TRANSPORT SWITCHING SUPPORT *****************************************/
/**
* Constructor for the SdlProxy object, the proxy for communicating between the App and SDL via specified transport.
- *
+ *
* Takes advantage of the advanced lifecycle management.
- *
- * @param listener Reference to the object in the App listening to callbacks from SDL.
- * @param appName Name of the application displayed on SDL.
+ *
+ * @param listener Reference to the object in the App listening to callbacks from SDL.
+ * @param appName Name of the application displayed on SDL.
* @param isMediaApp Indicates if the app is a media application.
* @param transportConfig Initial configuration for transport.
* @throws SdlException
*/
- public SdlProxyALM(IProxyListenerALM listener, String appName, Boolean isMediaApp,
- Language languageDesired, Language hmiDisplayLanguageDesired, String appID,
- BaseTransportConfig transportConfig) throws SdlException {
- super( listener,
- /*sdl proxy configuration resources*/null,
- /*enable advanced lifecycle management*/true,
+ public SdlProxyALM(IProxyListenerALM listener, String appName, Boolean isMediaApp,
+ Language languageDesired, Language hmiDisplayLanguageDesired, String appID,
+ BaseTransportConfig transportConfig) throws SdlException {
+ super( listener,
+ /*sdl proxy configuration resources*/null,
+ /*enable advanced lifecycle management*/true,
appName,
- /*TTS Name*/null,
- /*ngn media app*/null,
- /*vr synonyms*/null,
- /*is media app*/isMediaApp,
- /*sdlMsgVersion*/null,
- /*language desired*/languageDesired,
- /*HMI Display Language Desired*/hmiDisplayLanguageDesired,
- /*App Type*/null,
- /*App ID*/appID,
- /*autoActivateID*/null,
- /*callbackToUIThread*/ false,
+ /*TTS Name*/null,
+ /*ngn media app*/null,
+ /*vr synonyms*/null,
+ /*is media app*/isMediaApp,
+ /*sdlMsgVersion*/null,
+ /*language desired*/languageDesired,
+ /*HMI Display Language Desired*/hmiDisplayLanguageDesired,
+ /*App Type*/null,
+ /*App ID*/appID,
+ /*autoActivateID*/null,
+ /*callbackToUIThread*/ false,
transportConfig);
-
+
SdlTrace.logProxyEvent("Application constructed SdlProxyALM (using new constructor with specified transport) instance passing in: IProxyListener, appName, and isMediaApp.", SDL_LIB_TRACE_KEY);
}
-
+
/**
* Constructor for the SdlProxy object, the proxy for communicating between the App and SDL via specified transport.
- *
- * Takes advantage of the advanced lifecycle management.
- *
- * @param listener Reference to the object in the App listening to callbacks from SDL.
- * @param appName Name of the application displayed on SDL.
- * @param ngnMediaScreenAppName Name of the application displayed on SDL for Navigation equipped
- * vehicles. Limited to five characters.
- * @param vrSynonyms A vector of strings, all of which can be used as voice commands to
+ *
+ * Takes advantage of the advanced lifecycle management.
+ *
+ * @param listener Reference to the object in the App listening to callbacks from SDL.
+ * @param appName Name of the application displayed on SDL.
+ * @param ngnMediaScreenAppName Name of the application displayed on SDL for Navigation equipped
+ * vehicles. Limited to five characters.
+ * @param vrSynonyms A vector of strings, all of which can be used as voice commands to
* @param isMediaApp Indicates if the app is a media application.
* @param sdlMsgVersion Indicates the version of SDL SmartDeviceLink Messages desired. Must be less than
- * or equal to the version of SDL SmartDeviceLink running on the vehicle.
+ * or equal to the version of SDL SmartDeviceLink running on the vehicle.
* @param languageDesired Indicates the language desired for the SDL interface.
* @param autoActivateID ID used to re-register previously registered application.
- * @param transportConfig Initial configuration for transport.
+ * @param transportConfig Initial configuration for transport.
* @throws SdlException
*/
- public SdlProxyALM(IProxyListenerALM listener, String appName, String ngnMediaScreenAppName,
- Vector<String> vrSynonyms, Boolean isMediaApp, SdlMsgVersion sdlMsgVersion,
- Language languageDesired, Language hmiDisplayLanguageDesired, String appID,
- String autoActivateID, TransportType transportType, BaseTransportConfig transportConfig) throws SdlException {
- super( listener,
- /*sdl proxy configuration resources*/null,
- /*enable advanced lifecycle management*/true,
+ public SdlProxyALM(IProxyListenerALM listener, String appName, String ngnMediaScreenAppName,
+ Vector<String> vrSynonyms, Boolean isMediaApp, SdlMsgVersion sdlMsgVersion,
+ Language languageDesired, Language hmiDisplayLanguageDesired, String appID,
+ String autoActivateID, TransportType transportType, BaseTransportConfig transportConfig) throws SdlException {
+ super( listener,
+ /*sdl proxy configuration resources*/null,
+ /*enable advanced lifecycle management*/true,
appName,
- /*TTS Name*/null,
+ /*TTS Name*/null,
ngnMediaScreenAppName,
vrSynonyms,
isMediaApp,
sdlMsgVersion,
languageDesired,
- /*HMI Display Language Desired*/hmiDisplayLanguageDesired,
- /*App Type*/null,
- /*App ID*/appID,
+ /*HMI Display Language Desired*/hmiDisplayLanguageDesired,
+ /*App Type*/null,
+ /*App ID*/appID,
autoActivateID,
- /*callbackToUIThread*/ false,
+ /*callbackToUIThread*/ false,
transportConfig);
-
+
SdlTrace.logProxyEvent("Application constructed SdlProxyALM (using new constructor with specified transport) instance passing in: IProxyListener, appName, ngnMediaScreenAppName, " +
"vrSynonyms, isMediaApp, sdlMsgVersion, languageDesired, and autoActivateID.", SDL_LIB_TRACE_KEY);
}
-
+
/**
* Constructor for the SdlProxy object, the proxy for communicating between the App and SDL via specified transport.
- *
- * Takes advantage of the advanced lifecycle management.
- *
- * @param listener Reference to the object in the App listening to callbacks from SDL.
- * @param appName Name of the application displayed on SDL.
- * @param ngnMediaScreenAppName Name of the application displayed on SDL for Navigation equipped
- * vehicles. Limited to five characters.
- * @param vrSynonyms A vector of strings, all of which can be used as voice commands to
+ *
+ * Takes advantage of the advanced lifecycle management.
+ *
+ * @param listener Reference to the object in the App listening to callbacks from SDL.
+ * @param appName Name of the application displayed on SDL.
+ * @param ngnMediaScreenAppName Name of the application displayed on SDL for Navigation equipped
+ * vehicles. Limited to five characters.
+ * @param vrSynonyms A vector of strings, all of which can be used as voice commands to
* @param isMediaApp Indicates if the app is a media application.
* @param sdlMsgVersion Indicates the version of SDL SmartDeviceLink Messages desired. Must be less than
- * or equal to the version of SDL SmartDeviceLink running on the vehicle.
+ * or equal to the version of SDL SmartDeviceLink running on the vehicle.
* @param languageDesired Indicates the language desired for the SDL interface.
* @param autoActivateID ID used to re-register previously registered application.
- * @param transportConfig Initial configuration for transport.
+ * @param transportConfig Initial configuration for transport.
* @throws SdlException
*/
- public SdlProxyALM(IProxyListenerALM listener, SdlProxyConfigurationResources sdlProxyConfigurationResources,
- String appName, String ngnMediaScreenAppName, Vector<String> vrSynonyms,
- Boolean isMediaApp, SdlMsgVersion sdlMsgVersion, Language languageDesired,
- Language hmiDisplayLanguageDesired, String appID, String autoActivateID,
- BaseTransportConfig transportConfig) throws SdlException {
- super( listener,
- sdlProxyConfigurationResources,
- /*enable advanced lifecycle management*/true,
+ public SdlProxyALM(IProxyListenerALM listener, SdlProxyConfigurationResources sdlProxyConfigurationResources,
+ String appName, String ngnMediaScreenAppName, Vector<String> vrSynonyms,
+ Boolean isMediaApp, SdlMsgVersion sdlMsgVersion, Language languageDesired,
+ Language hmiDisplayLanguageDesired, String appID, String autoActivateID,
+ BaseTransportConfig transportConfig) throws SdlException {
+ super( listener,
+ sdlProxyConfigurationResources,
+ /*enable advanced lifecycle management*/true,
appName,
- /*TTS Name*/null,
+ /*TTS Name*/null,
ngnMediaScreenAppName,
vrSynonyms,
isMediaApp,
sdlMsgVersion,
languageDesired,
- /*HMI Display Language Desired*/hmiDisplayLanguageDesired,
- /*App Type*/null,
- /*App ID*/appID,
+ /*HMI Display Language Desired*/hmiDisplayLanguageDesired,
+ /*App Type*/null,
+ /*App ID*/appID,
autoActivateID,
- /*callbackToUIThread*/ false,
+ /*callbackToUIThread*/ false,
transportConfig);
-
+
SdlTrace.logProxyEvent("Application constructed SdlProxyALM (using new constructor with specified transport) instance passing in: IProxyListener, sdlProxyConfigurationResources, " +
"appName, ngnMediaScreenAppName, vrSynonyms, isMediaApp, sdlMsgVersion, languageDesired, and autoActivateID.", SDL_LIB_TRACE_KEY);
}
-
+
/**
* Constructor for the SdlProxy object, the proxy for communicating between the App and SDL via specified transport.
- *
- * Takes advantage of the advanced lifecycle management.
- *
- * @param listener Reference to the object in the App listening to callbacks from SDL.
- * @param appName Name of the application displayed on SDL.
- * @param ngnMediaScreenAppName Name of the application displayed on SDL for Navigation equipped
- * vehicles. Limited to five characters.
- * @param vrSynonyms A vector of strings, all of which can be used as voice commands to
+ *
+ * Takes advantage of the advanced lifecycle management.
+ *
+ * @param listener Reference to the object in the App listening to callbacks from SDL.
+ * @param appName Name of the application displayed on SDL.
+ * @param ngnMediaScreenAppName Name of the application displayed on SDL for Navigation equipped
+ * vehicles. Limited to five characters.
+ * @param vrSynonyms A vector of strings, all of which can be used as voice commands to
* @param isMediaApp Indicates if the app is a media application.
* @param sdlMsgVersion Indicates the version of SDL SmartDeviceLink Messages desired. Must be less than
- * or equal to the version of SDL SmartDeviceLink running on the vehicle.
+ * or equal to the version of SDL SmartDeviceLink running on the vehicle.
* @param languageDesired Indicates the language desired for the SDL interface.
* @param autoActivateID ID used to re-register previously registered application.
* @param callbackToUIThread If true, all callbacks will occur on the UI thread.
- * @param transportConfig Initial configuration for transport.
+ * @param transportConfig Initial configuration for transport.
* @throws SdlException
*/
- public SdlProxyALM(IProxyListenerALM listener, String appName, String ngnMediaScreenAppName,
- Vector<String> vrSynonyms, Boolean isMediaApp, SdlMsgVersion sdlMsgVersion,
- Language languageDesired, Language hmiDisplayLanguageDesired, String appID,
- String autoActivateID, boolean callbackToUIThread,
- BaseTransportConfig transportConfig) throws SdlException {
- super( listener,
- /*sdl proxy configuration resources*/null,
- /*enable advanced lifecycle management*/true,
+ public SdlProxyALM(IProxyListenerALM listener, String appName, String ngnMediaScreenAppName,
+ Vector<String> vrSynonyms, Boolean isMediaApp, SdlMsgVersion sdlMsgVersion,
+ Language languageDesired, Language hmiDisplayLanguageDesired, String appID,
+ String autoActivateID, boolean callbackToUIThread,
+ BaseTransportConfig transportConfig) throws SdlException {
+ super( listener,
+ /*sdl proxy configuration resources*/null,
+ /*enable advanced lifecycle management*/true,
appName,
- /*TTS Name*/null,
+ /*TTS Name*/null,
ngnMediaScreenAppName,
vrSynonyms,
isMediaApp,
sdlMsgVersion,
languageDesired,
- /*HMI Display Language Desired*/hmiDisplayLanguageDesired,
- /*App Type*/null,
- /*App ID*/appID,
+ /*HMI Display Language Desired*/hmiDisplayLanguageDesired,
+ /*App Type*/null,
+ /*App ID*/appID,
autoActivateID,
callbackToUIThread,
transportConfig);
-
+
SdlTrace.logProxyEvent("Application constructed SdlProxyALM (using new constructor with specified transport) instance passing in: IProxyListener, " +
"appName, ngnMediaScreenAppName, vrSynonyms, isMediaApp, sdlMsgVersion, languageDesired, autoActivateID, " +
"and callbackToUIThread", SDL_LIB_TRACE_KEY);
}
-
+
/**
* Constructor for the SdlProxy object, the proxy for communicating between the App and SDL via specified transport.
- *
- * Takes advantage of the advanced lifecycle management.
- *
- * @param listener Reference to the object in the App listening to callbacks from SDL.
- * @param appName Name of the application displayed on SDL.
- * @param ngnMediaScreenAppName Name of the application displayed on SDL for Navigation equipped
+ *
+ * Takes advantage of the advanced lifecycle management.
+ *
+ * @param listener Reference to the object in the App listening to callbacks from SDL.
+ * @param appName Name of the application displayed on SDL.
+ * @param ngnMediaScreenAppName Name of the application displayed on SDL for Navigation equipped
* vehicles. Limited to five characters.
* @param vrSynonyms A vector of strings, all of which can be used as voice commands too
* @param isMediaApp Indicates if the app is a media application.
* @param sdlMsgVersion Indicates the version of SDL SmartDeviceLink Messages desired. Must be less than
- * or equal to the version of SDL SmartDeviceLink running on the vehicle.
+ * or equal to the version of SDL SmartDeviceLink running on the vehicle.
* @param languageDesired Indicates the language desired for the SDL interface.
* @param autoActivateID ID used to re-register previously registered application.
* @param callbackToUIThread If true, all callbacks will occur on the UI thread.
- * @param transportConfig Initial configuration for transport.
+ * @param transportConfig Initial configuration for transport.
* @throws SdlException
*/
- public SdlProxyALM(IProxyListenerALM listener, SdlProxyConfigurationResources sdlProxyConfigurationResources,
- String appName, String ngnMediaScreenAppName, Vector<String> vrSynonyms, Boolean isMediaApp,
- SdlMsgVersion sdlMsgVersion, Language languageDesired, Language hmiDisplayLanguageDesired,
- String appID, String autoActivateID,
- boolean callbackToUIThread, BaseTransportConfig transportConfig) throws SdlException {
- super( listener,
+ public SdlProxyALM(IProxyListenerALM listener, SdlProxyConfigurationResources sdlProxyConfigurationResources,
+ String appName, String ngnMediaScreenAppName, Vector<String> vrSynonyms, Boolean isMediaApp,
+ SdlMsgVersion sdlMsgVersion, Language languageDesired, Language hmiDisplayLanguageDesired,
+ String appID, String autoActivateID,
+ boolean callbackToUIThread, BaseTransportConfig transportConfig) throws SdlException {
+ super( listener,
sdlProxyConfigurationResources,
- /*enable advanced lifecycle management*/true,
+ /*enable advanced lifecycle management*/true,
appName,
- /*TTS Name*/null,
+ /*TTS Name*/null,
ngnMediaScreenAppName,
vrSynonyms,
isMediaApp,
sdlMsgVersion,
languageDesired,
- /*HMI Display Language Desired*/hmiDisplayLanguageDesired,
- /*App Type*/null,
- /*App ID*/appID,
+ /*HMI Display Language Desired*/hmiDisplayLanguageDesired,
+ /*App Type*/null,
+ /*App ID*/appID,
autoActivateID,
callbackToUIThread,
transportConfig);
-
+
SdlTrace.logProxyEvent("Application constructed SdlProxyALM (using new constructor with specified transport) instance passing in: IProxyListener, sdlProxyConfigurationResources, " +
"appName, ngnMediaScreenAppName, vrSynonyms, isMediaApp, sdlMsgVersion, languageDesired, autoActivateID, " +
"and callbackToUIThread", SDL_LIB_TRACE_KEY);
@@ -720,13 +724,13 @@ public class SdlProxyALM extends SdlProxyBase<IProxyListenerALM> {
/**
* Constructor for the SdlProxy object, the proxy for communicating between the App and SDL via specified transport.
- *
- * Takes advantage of the advanced lifecycle management.
- *
+ *
+ * Takes advantage of the advanced lifecycle management.
+ *
* @param listener Reference to the object in the App listening to callbacks from SDL.
* @param sdlProxyConfigurationResources Proxy configuration resources.
* @param appName Name of the application displayed on SDL.
- * @param ngnMediaScreenAppName Name of the application displayed on SDL for Navigation equipped
+ * @param ngnMediaScreenAppName Name of the application displayed on SDL for Navigation equipped
* vehicles. Limited to five characters.
* @param vrSynonyms A vector of strings, all of which can be used as voice commands too
* @param isMediaApp Indicates if the app is a media application.
@@ -738,32 +742,32 @@ public class SdlProxyALM extends SdlProxyBase<IProxyListenerALM> {
* @param autoActivateID ID used to re-register previously registered application.
* @param callbackToUIThread If true, all callbacks will occur on the UI thread.
* @param preRegister Flag that indicates that client should be pre-registred or not
- * @param transportConfig Initial configuration for transport.
+ * @param transportConfig Initial configuration for transport.
* @throws SdlException
*/
- public SdlProxyALM(IProxyListenerALM listener, SdlProxyConfigurationResources sdlProxyConfigurationResources,
- String appName, String ngnMediaScreenAppName, Vector<String> vrSynonyms, Boolean isMediaApp,
- SdlMsgVersion sdlMsgVersion, Language languageDesired, Language hmiDisplayLanguageDesired,
- String appID, String autoActivateID, boolean callbackToUIThread, boolean preRegister,
- BaseTransportConfig transportConfig) throws SdlException {
- super( listener,
+ public SdlProxyALM(IProxyListenerALM listener, SdlProxyConfigurationResources sdlProxyConfigurationResources,
+ String appName, String ngnMediaScreenAppName, Vector<String> vrSynonyms, Boolean isMediaApp,
+ SdlMsgVersion sdlMsgVersion, Language languageDesired, Language hmiDisplayLanguageDesired,
+ String appID, String autoActivateID, boolean callbackToUIThread, boolean preRegister,
+ BaseTransportConfig transportConfig) throws SdlException {
+ super( listener,
sdlProxyConfigurationResources,
- /*enable advanced lifecycle management*/true,
+ /*enable advanced lifecycle management*/true,
appName,
- /*TTS Name*/null,
+ /*TTS Name*/null,
ngnMediaScreenAppName,
vrSynonyms,
isMediaApp,
sdlMsgVersion,
languageDesired,
- /*HMI Display Language Desired*/hmiDisplayLanguageDesired,
- /*App Type*/null,
- /*App ID*/appID,
+ /*HMI Display Language Desired*/hmiDisplayLanguageDesired,
+ /*App Type*/null,
+ /*App ID*/appID,
autoActivateID,
callbackToUIThread,
preRegister,
transportConfig);
-
+
SdlTrace.logProxyEvent("Application constructed SdlProxyALM (using new constructor with specified transport) instance passing in: IProxyListener, sdlProxyConfigurationResources, " +
"appName, ngnMediaScreenAppName, vrSynonyms, isMediaApp, sdlMsgVersion, languageDesired, autoActivateID, " +
"callbackToUIThread and version", SDL_LIB_TRACE_KEY);
@@ -772,9 +776,9 @@ public class SdlProxyALM extends SdlProxyBase<IProxyListenerALM> {
/**
* @deprecated
* Constructor for the SdlProxy object, the proxy for communicating between the App and SDL via specified transport.
- *
- * Takes advantage of the advanced lifecycle management.
- *
+ *
+ * Takes advantage of the advanced lifecycle management.
+ *
* @param listener Reference to the object in the App listening to callbacks from SDL.
* @param appName Name of the application displayed on SDL.
* @param isMediaApp Indicates if the app is a media application.
@@ -784,37 +788,37 @@ public class SdlProxyALM extends SdlProxyBase<IProxyListenerALM> {
* @param callbackToUIThread If true, all callbacks will occur on the UI thread.
* @param preRegister Flag that indicates that client should be pre-registred or not
* @throws SdlException
- */
+ */
@Deprecated
public SdlProxyALM(IProxyListenerALM listener, String appName, Boolean isMediaApp,Language languageDesired, Language hmiDisplayLanguageDesired,
- String appID, boolean callbackToUIThread, boolean preRegister) throws SdlException
+ String appID, boolean callbackToUIThread, boolean preRegister) throws SdlException
{
- super( listener,
- /*sdlProxyConfigurationResources*/null,
- /*enable advanced lifecycle management*/true,
- appName,
- /*ttsName*/null,
- /*ngnMediaScreenAppName*/null,
- /*vrSynonyms*/null,
- isMediaApp,
- /*sdlMsgVersion*/null,
- languageDesired,
- hmiDisplayLanguageDesired,
- /*App Type*/null,
- /*App ID*/appID,
- /*autoActivateID*/null,
- callbackToUIThread,
- preRegister,
- new BTTransportConfig());
-
+ super( listener,
+ /*sdlProxyConfigurationResources*/null,
+ /*enable advanced lifecycle management*/true,
+ appName,
+ /*ttsName*/null,
+ /*ngnMediaScreenAppName*/null,
+ /*vrSynonyms*/null,
+ isMediaApp,
+ /*sdlMsgVersion*/null,
+ languageDesired,
+ hmiDisplayLanguageDesired,
+ /*App Type*/null,
+ /*App ID*/appID,
+ /*autoActivateID*/null,
+ callbackToUIThread,
+ preRegister,
+ new BTTransportConfig());
+
SdlTrace.logProxyEvent("Application constructed SdlProxyALM (using legacy constructor for BT transport) instance passing in: IProxyListener, " +
- "appName, isMediaApp, languageDesired, hmiDisplayLanguageDesired" + "callbackToUIThread and version", SDL_LIB_TRACE_KEY);
+ "appName, isMediaApp, languageDesired, hmiDisplayLanguageDesired" + "callbackToUIThread and version", SDL_LIB_TRACE_KEY);
}
/**
* Constructor for the SdlProxy object, the proxy for communicating between the App and SDL via specified transport.
- *
- * Takes advantage of the advanced lifecycle management.
- *
+ *
+ * Takes advantage of the advanced lifecycle management.
+ *
* @param context - Used to create a multiplexing transport config
* @param listener Reference to the object in the App listening to callbacks from SDL.
* @param appName Name of the application displayed on SDL.
@@ -825,99 +829,99 @@ public class SdlProxyALM extends SdlProxyBase<IProxyListenerALM> {
* @param callbackToUIThread If true, all callbacks will occur on the UI thread.
* @param preRegister Flag that indicates that client should be pre-registred or not
* @throws SdlException
- */
+ */
public SdlProxyALM(Context context,IProxyListenerALM listener, String appName, Boolean isMediaApp,Language languageDesired, Language hmiDisplayLanguageDesired,
- String appID, boolean callbackToUIThread, boolean preRegister) throws SdlException
+ String appID, boolean callbackToUIThread, boolean preRegister) throws SdlException
{
- super( listener,
- /*sdlProxyConfigurationResources*/null,
- /*enable advanced lifecycle management*/true,
- appName,
- /*ttsName*/null,
- /*ngnMediaScreenAppName*/null,
- /*vrSynonyms*/null,
- isMediaApp,
- /*sdlMsgVersion*/null,
- languageDesired,
- hmiDisplayLanguageDesired,
- /*App Type*/null,
- /*App ID*/appID,
- /*autoActivateID*/null,
- callbackToUIThread,
- preRegister,
- new MultiplexTransportConfig(context,appID));
-
+ super( listener,
+ /*sdlProxyConfigurationResources*/null,
+ /*enable advanced lifecycle management*/true,
+ appName,
+ /*ttsName*/null,
+ /*ngnMediaScreenAppName*/null,
+ /*vrSynonyms*/null,
+ isMediaApp,
+ /*sdlMsgVersion*/null,
+ languageDesired,
+ hmiDisplayLanguageDesired,
+ /*App Type*/null,
+ /*App ID*/appID,
+ /*autoActivateID*/null,
+ callbackToUIThread,
+ preRegister,
+ new MultiplexTransportConfig(context,appID));
+
SdlTrace.logProxyEvent("Application constructed SdlProxyALM (using legacy constructor for BT transport) instance passing in: IProxyListener, " +
- "appName, isMediaApp, languageDesired, hmiDisplayLanguageDesired" + "callbackToUIThread and version", SDL_LIB_TRACE_KEY);
+ "appName, isMediaApp, languageDesired, hmiDisplayLanguageDesired" + "callbackToUIThread and version", SDL_LIB_TRACE_KEY);
}
-
+
/**
* @deprecated
* Constructor for the SdlProxy object, the proxy for communicating between the App and SDL via specified transport.
- *
- * Takes advantage of the advanced lifecycle management.
- *
+ *
+ * Takes advantage of the advanced lifecycle management.
+ *
* @param listener Reference to the object in the App listening to callbacks from SDL.
* @param appName Name of the application displayed on SDL.
* @param isMediaApp Indicates if the app is a media application.
* @param appID Identifier of the client application.
* @throws SdlException
- */
+ */
@Deprecated
public SdlProxyALM(IProxyListenerALM listener, String appName, Boolean isMediaApp,String appID) throws SdlException {
- super( listener,
- /*sdlProxyConfigurationResources*/null,
- /*enable advanced lifecycle management*/true,
+ super( listener,
+ /*sdlProxyConfigurationResources*/null,
+ /*enable advanced lifecycle management*/true,
appName,
- /*ttsName*/null,
- /*ngnMediaScreenAppName*/null,
- /*vrSynonyms*/null,
+ /*ttsName*/null,
+ /*ngnMediaScreenAppName*/null,
+ /*vrSynonyms*/null,
isMediaApp,
- /*sdlMsgVersion*/null,
- /*languageDesired*/null,
- /*hmiDisplayLanguageDesired*/null,
- /*App Type*/null,
- /*App ID*/appID,
- /*autoActivateID*/null,
+ /*sdlMsgVersion*/null,
+ /*languageDesired*/null,
+ /*hmiDisplayLanguageDesired*/null,
+ /*App Type*/null,
+ /*App ID*/appID,
+ /*autoActivateID*/null,
false,
false,
new BTTransportConfig());
-
+
SdlTrace.logProxyEvent("Application constructed SdlProxyALM (using legacy constructor for BT transport) instance passing in: IProxyListener, " +
"appName, isMediaApp, appID", SDL_LIB_TRACE_KEY);
}
-
+
/**
* Constructor for the SdlProxy object, the proxy for communicating between the App and SDL via specified transport.
- *
- * Takes advantage of the advanced lifecycle management.
- *
+ *
+ * Takes advantage of the advanced lifecycle management.
+ *
* @param context - Used to create a multiplexing transport config
* @param listener Reference to the object in the App listening to callbacks from SDL.
* @param appName Name of the application displayed on SDL.
* @param isMediaApp Indicates if the app is a media application.
* @param appID Identifier of the client application.
* @throws SdlException
- */
+ */
public SdlProxyALM(Context context,IProxyListenerALM listener, String appName, Boolean isMediaApp,String appID) throws SdlException {
- super( listener,
- /*sdlProxyConfigurationResources*/null,
- /*enable advanced lifecycle management*/true,
+ super( listener,
+ /*sdlProxyConfigurationResources*/null,
+ /*enable advanced lifecycle management*/true,
appName,
- /*ttsName*/null,
- /*ngnMediaScreenAppName*/null,
- /*vrSynonyms*/null,
+ /*ttsName*/null,
+ /*ngnMediaScreenAppName*/null,
+ /*vrSynonyms*/null,
isMediaApp,
- /*sdlMsgVersion*/null,
- /*languageDesired*/null,
- /*hmiDisplayLanguageDesired*/null,
- /*App Type*/null,
- /*App ID*/appID,
- /*autoActivateID*/null,
+ /*sdlMsgVersion*/null,
+ /*languageDesired*/null,
+ /*hmiDisplayLanguageDesired*/null,
+ /*App Type*/null,
+ /*App ID*/appID,
+ /*autoActivateID*/null,
false,
false,
new MultiplexTransportConfig(context,appID));
-
+
SdlTrace.logProxyEvent("Application constructed SdlProxyALM (using legacy constructor for BT transport) instance passing in: IProxyListener, " +
"appName, isMediaApp, appID", SDL_LIB_TRACE_KEY);
}
@@ -925,45 +929,45 @@ public class SdlProxyALM extends SdlProxyBase<IProxyListenerALM> {
/**
* @deprecated
* Constructor for the SdlProxy object, the proxy for communicating between the App and SDL via specified transport.
- *
- * Takes advantage of the advanced lifecycle management.
- *
+ *
+ * Takes advantage of the advanced lifecycle management.
+ *
* @param listener Reference to the object in the App listening to callbacks from SDL.
* @param sdlProxyConfigurationResources Proxy configuration resources.
* @param appName Name of the application displayed on SDL.
* @param isMediaApp Indicates if the app is a media application.
* @param appID Identifier of the client application.
* @throws SdlException
- */
+ */
@Deprecated
public SdlProxyALM(IProxyListenerALM listener, SdlProxyConfigurationResources sdlProxyConfigurationResources, String appName, Boolean isMediaApp,String appID) throws SdlException {
- super( listener,
+ super( listener,
sdlProxyConfigurationResources,
- /*enable advanced lifecycle management*/true,
+ /*enable advanced lifecycle management*/true,
appName,
- /*ttsName*/null,
- /*ngnMediaScreenAppName*/null,
- /*vrSynonyms*/null,
+ /*ttsName*/null,
+ /*ngnMediaScreenAppName*/null,
+ /*vrSynonyms*/null,
isMediaApp,
- /*sdlMsgVersion*/null,
- /*languageDesired*/null,
- /*hmiDisplayLanguageDesired*/null,
- /*App Type*/null,
- /*App ID*/appID,
- /*autoActivateID*/null,
+ /*sdlMsgVersion*/null,
+ /*languageDesired*/null,
+ /*hmiDisplayLanguageDesired*/null,
+ /*App Type*/null,
+ /*App ID*/appID,
+ /*autoActivateID*/null,
false,
false,
new BTTransportConfig());
-
+
SdlTrace.logProxyEvent("Application constructed SdlProxyALM (using legacy constructor for BT transport) instance passing in: IProxyListener, " +
"sdlProxyConfigurationResources, appName, isMediaApp, appID", SDL_LIB_TRACE_KEY);
}
/**
* Constructor for the SdlProxy object, the proxy for communicating between the App and SDL via specified transport.
- *
- * Takes advantage of the advanced lifecycle management.
- *
+ *
+ * Takes advantage of the advanced lifecycle management.
+ *
* @param context - Used to create a multiplexing transport config
* @param listener Reference to the object in the App listening to callbacks from SDL.
* @param sdlProxyConfigurationResources Proxy configuration resources.
@@ -971,49 +975,49 @@ public class SdlProxyALM extends SdlProxyBase<IProxyListenerALM> {
* @param isMediaApp Indicates if the app is a media application.
* @param appID Identifier of the client application.
* @throws SdlException
- */
+ */
public SdlProxyALM(Context context, IProxyListenerALM listener, SdlProxyConfigurationResources sdlProxyConfigurationResources, String appName, Boolean isMediaApp,String appID) throws SdlException {
- super( listener,
+ super( listener,
sdlProxyConfigurationResources,
- /*enable advanced lifecycle management*/true,
+ /*enable advanced lifecycle management*/true,
appName,
- /*ttsName*/null,
- /*ngnMediaScreenAppName*/null,
- /*vrSynonyms*/null,
+ /*ttsName*/null,
+ /*ngnMediaScreenAppName*/null,
+ /*vrSynonyms*/null,
isMediaApp,
- /*sdlMsgVersion*/null,
- /*languageDesired*/null,
- /*hmiDisplayLanguageDesired*/null,
- /*App Type*/null,
- /*App ID*/appID,
- /*autoActivateID*/null,
+ /*sdlMsgVersion*/null,
+ /*languageDesired*/null,
+ /*hmiDisplayLanguageDesired*/null,
+ /*App Type*/null,
+ /*App ID*/appID,
+ /*autoActivateID*/null,
false,
false,
new MultiplexTransportConfig(context,appID));
-
+
SdlTrace.logProxyEvent("Application constructed SdlProxyALM (using legacy constructor for BT transport) instance passing in: IProxyListener, " +
"sdlProxyConfigurationResources, appName, isMediaApp, appID", SDL_LIB_TRACE_KEY);
}
-
+
public SdlProxyALM(IProxyListenerALM listener, String appName, Boolean isMediaApp,String appID,BaseTransportConfig transportConfig) throws SdlException {
- super( listener,
- /*sdlProxyConfigurationResources*/null,
- /*enable advanced lifecycle management*/true,
+ super( listener,
+ /*sdlProxyConfigurationResources*/null,
+ /*enable advanced lifecycle management*/true,
appName,
- /*ttsName*/null,
- /*ngnMediaScreenAppName*/null,
- /*vrSynonyms*/null,
+ /*ttsName*/null,
+ /*ngnMediaScreenAppName*/null,
+ /*vrSynonyms*/null,
isMediaApp,
- /*sdlMsgVersion*/null,
- /*languageDesired*/null,
- /*hmiDisplayLanguageDesired*/null,
- /*App Type*/null,
- /*App ID*/appID,
- /*autoActivateID*/null,
+ /*sdlMsgVersion*/null,
+ /*languageDesired*/null,
+ /*hmiDisplayLanguageDesired*/null,
+ /*App Type*/null,
+ /*App ID*/appID,
+ /*autoActivateID*/null,
false,
false,
transportConfig);
-
+
SdlTrace.logProxyEvent("Application constructed SdlProxyALM (using legacy constructor for BT transport) instance passing in: IProxyListener, " +
"appName, isMediaApp, appID", SDL_LIB_TRACE_KEY);
}
@@ -1021,9 +1025,9 @@ public class SdlProxyALM extends SdlProxyBase<IProxyListenerALM> {
/**
* @deprecated
* Constructor for the SdlProxy object, the proxy for communicating between the App and SDL via specified transport.
- *
- * Takes advantage of the advanced lifecycle management.
- *
+ *
+ * Takes advantage of the advanced lifecycle management.
+ *
* @param listener Reference to the object in the App listening to callbacks from SDL.
* @param appName Name of the application displayed on SDL.
* @param isMediaApp Indicates if the app is a media application.
@@ -1031,36 +1035,36 @@ public class SdlProxyALM extends SdlProxyBase<IProxyListenerALM> {
* @param callbackToUIThread If true, all callbacks will occur on the UI thread.
* @param preRegister Flag that indicates that client should be pre-registred or not
* @throws SdlException
- */
+ */
@Deprecated
- public SdlProxyALM(IProxyListenerALM listener, String appName, Boolean isMediaApp,String appID,
- boolean callbackToUIThread, boolean preRegister) throws SdlException {
- super( listener,
- /*sdlProxyConfigurationResources*/null,
- /*enable advanced lifecycle management*/true,
+ public SdlProxyALM(IProxyListenerALM listener, String appName, Boolean isMediaApp,String appID,
+ boolean callbackToUIThread, boolean preRegister) throws SdlException {
+ super( listener,
+ /*sdlProxyConfigurationResources*/null,
+ /*enable advanced lifecycle management*/true,
appName,
- /*ttsName*/null,
- /*ngnMediaScreenAppName*/null,
- /*vrSynonyms*/null,
+ /*ttsName*/null,
+ /*ngnMediaScreenAppName*/null,
+ /*vrSynonyms*/null,
isMediaApp,
- /*sdlMsgVersion*/null,
- /*languageDesired*/null,
- /*hmiDisplayLanguageDesired*/null,
- /*App Type*/null,
- /*App ID*/appID,
- /*autoActivateID*/null,
+ /*sdlMsgVersion*/null,
+ /*languageDesired*/null,
+ /*hmiDisplayLanguageDesired*/null,
+ /*App Type*/null,
+ /*App ID*/appID,
+ /*autoActivateID*/null,
callbackToUIThread,
preRegister,
new BTTransportConfig());
-
+
SdlTrace.logProxyEvent("Application constructed SdlProxyALM (using legacy constructor for BT transport) instance passing in: IProxyListener, " +
"appName, isMediaApp, " + "callbackToUIThread and version", SDL_LIB_TRACE_KEY);
}
/**
* Constructor for the SdlProxy object, the proxy for communicating between the App and SDL via specified transport.
- *
- * Takes advantage of the advanced lifecycle management.
- *
+ *
+ * Takes advantage of the advanced lifecycle management.
+ *
* @param context - Used to create a multiplexing transport config
* @param listener Reference to the object in the App listening to callbacks from SDL.
* @param appName Name of the application displayed on SDL.
@@ -1069,41 +1073,41 @@ public class SdlProxyALM extends SdlProxyBase<IProxyListenerALM> {
* @param callbackToUIThread If true, all callbacks will occur on the UI thread.
* @param preRegister Flag that indicates that client should be pre-registred or not
* @throws SdlException
- */
- public SdlProxyALM(Context context,IProxyListenerALM listener, String appName, Boolean isMediaApp,String appID,
- boolean callbackToUIThread, boolean preRegister) throws SdlException {
- super( listener,
- /*sdlProxyConfigurationResources*/null,
- /*enable advanced lifecycle management*/true,
+ */
+ public SdlProxyALM(Context context,IProxyListenerALM listener, String appName, Boolean isMediaApp,String appID,
+ boolean callbackToUIThread, boolean preRegister) throws SdlException {
+ super( listener,
+ /*sdlProxyConfigurationResources*/null,
+ /*enable advanced lifecycle management*/true,
appName,
- /*ttsName*/null,
- /*ngnMediaScreenAppName*/null,
- /*vrSynonyms*/null,
+ /*ttsName*/null,
+ /*ngnMediaScreenAppName*/null,
+ /*vrSynonyms*/null,
isMediaApp,
- /*sdlMsgVersion*/null,
- /*languageDesired*/null,
- /*hmiDisplayLanguageDesired*/null,
- /*App Type*/null,
- /*App ID*/appID,
- /*autoActivateID*/null,
+ /*sdlMsgVersion*/null,
+ /*languageDesired*/null,
+ /*hmiDisplayLanguageDesired*/null,
+ /*App Type*/null,
+ /*App ID*/appID,
+ /*autoActivateID*/null,
callbackToUIThread,
preRegister,
new MultiplexTransportConfig(context,appID));
-
+
SdlTrace.logProxyEvent("Application constructed SdlProxyALM (using legacy constructor for BT transport) instance passing in: IProxyListener, " +
"appName, isMediaApp, " + "callbackToUIThread and version", SDL_LIB_TRACE_KEY);
}
/**
* Constructor for the SdlProxy object, the proxy for communicating between the App and SDL via specified transport.
- *
- * Takes advantage of the advanced lifecycle management.
- * @param appService Reference to the apps service object.
+ *
+ * Takes advantage of the advanced lifecycle management.
+ * @param appService Reference to the apps service object.
* @param listener Reference to the object in the App listening to callbacks from SDL.
* @param sdlProxyConfigurationResources Proxy configuration resources.
* @param appName Name of the application displayed on SDL.
* @param ttsName TTS name.
- * @param ngnMediaScreenAppName Name of the application displayed on SDL for Navigation equipped
+ * @param ngnMediaScreenAppName Name of the application displayed on SDL for Navigation equipped
* vehicles. Limited to five characters.
* @param vrSynonyms A vector of strings, all of which can be used as voice commands too
* @param isMediaApp Indicates if the app is a media application.
@@ -1116,14 +1120,14 @@ public class SdlProxyALM extends SdlProxyBase<IProxyListenerALM> {
* @param callbackToUIThread If true, all callbacks will occur on the UI thread.
* @param preRegister Flag that indicates that client should be pre-registred or not
* @throws SdlException
- */
- public SdlProxyALM(Service appService, IProxyListenerALM listener, SdlProxyConfigurationResources sdlProxyConfigurationResources,
- String appName, Vector<TTSChunk> ttsName, String ngnMediaScreenAppName, Vector<String> vrSynonyms, Boolean isMediaApp,
- SdlMsgVersion sdlMsgVersion, Language languageDesired, Language hmiDisplayLanguageDesired,
- String appID, String autoActivateID, boolean callbackToUIThread, boolean preRegister) throws SdlException {
- super( listener,
+ */
+ public SdlProxyALM(Service appService, IProxyListenerALM listener, SdlProxyConfigurationResources sdlProxyConfigurationResources,
+ String appName, Vector<TTSChunk> ttsName, String ngnMediaScreenAppName, Vector<String> vrSynonyms, Boolean isMediaApp,
+ SdlMsgVersion sdlMsgVersion, Language languageDesired, Language hmiDisplayLanguageDesired,
+ String appID, String autoActivateID, boolean callbackToUIThread, boolean preRegister) throws SdlException {
+ super( listener,
sdlProxyConfigurationResources,
- /*enable advanced lifecycle management*/true,
+ /*enable advanced lifecycle management*/true,
appName,
ttsName,
ngnMediaScreenAppName,
@@ -1131,30 +1135,30 @@ public class SdlProxyALM extends SdlProxyBase<IProxyListenerALM> {
isMediaApp,
sdlMsgVersion,
languageDesired,
- /*HMI Display Language Desired*/hmiDisplayLanguageDesired,
- /*App Type*/null,
- /*App ID*/appID,
+ /*HMI Display Language Desired*/hmiDisplayLanguageDesired,
+ /*App Type*/null,
+ /*App ID*/appID,
autoActivateID,
callbackToUIThread,
preRegister,
new MultiplexTransportConfig(appService.getBaseContext(),appID));
-
- this.setAppService(appService);
- this.sendTransportBroadcast();
-
+
+ this.setAppService(appService);
+ this.sendTransportBroadcast();
+
SdlTrace.logProxyEvent("Application constructed SdlProxyALM (using legacy constructor for BT transport) instance passing in: IProxyListener, sdlProxyConfigurationResources, " +
"appName, ngnMediaScreenAppName, vrSynonyms, isMediaApp, sdlMsgVersion, languageDesired, autoActivateID, " +
"callbackToUIThread and version", SDL_LIB_TRACE_KEY);
}
-
-
- public SdlProxyALM(Service appService, IProxyListenerALM listener, SdlProxyConfigurationResources sdlProxyConfigurationResources,
- String appName, Vector<TTSChunk> ttsName, String ngnMediaScreenAppName, Vector<String> vrSynonyms, Boolean isMediaApp,
- SdlMsgVersion sdlMsgVersion, Language languageDesired, Language hmiDisplayLanguageDesired,
- String appID, String autoActivateID, boolean callbackToUIThread, boolean preRegister, BaseTransportConfig transportConfig) throws SdlException {
- super( listener,
+
+
+ public SdlProxyALM(Service appService, IProxyListenerALM listener, SdlProxyConfigurationResources sdlProxyConfigurationResources,
+ String appName, Vector<TTSChunk> ttsName, String ngnMediaScreenAppName, Vector<String> vrSynonyms, Boolean isMediaApp,
+ SdlMsgVersion sdlMsgVersion, Language languageDesired, Language hmiDisplayLanguageDesired,
+ String appID, String autoActivateID, boolean callbackToUIThread, boolean preRegister, BaseTransportConfig transportConfig) throws SdlException {
+ super( listener,
sdlProxyConfigurationResources,
- /*enable advanced lifecycle management*/true,
+ /*enable advanced lifecycle management*/true,
appName,
ttsName,
ngnMediaScreenAppName,
@@ -1162,35 +1166,35 @@ public class SdlProxyALM extends SdlProxyBase<IProxyListenerALM> {
isMediaApp,
sdlMsgVersion,
languageDesired,
- /*HMI Display Language Desired*/hmiDisplayLanguageDesired,
- /*App Type*/null,
- /*App ID*/appID,
+ /*HMI Display Language Desired*/hmiDisplayLanguageDesired,
+ /*App Type*/null,
+ /*App ID*/appID,
autoActivateID,
callbackToUIThread,
preRegister,
transportConfig);
-
- this.setAppService(appService);
- this.sendTransportBroadcast();
-
+
+ this.setAppService(appService);
+ this.sendTransportBroadcast();
+
SdlTrace.logProxyEvent("Application constructed SdlProxyALM (using legacy constructor for BT transport) instance passing in: IProxyListener, sdlProxyConfigurationResources, " +
"appName, ngnMediaScreenAppName, vrSynonyms, isMediaApp, sdlMsgVersion, languageDesired, autoActivateID, " +
"callbackToUIThread and version", SDL_LIB_TRACE_KEY);
}
-
-
-
+
+
+
/**
* @deprecated
* Constructor for the SdlProxy object, the proxy for communicating between the App and SDL via specified transport.
- *
- * Takes advantage of the advanced lifecycle management.
- *
+ *
+ * Takes advantage of the advanced lifecycle management.
+ *
* @param listener Reference to the object in the App listening to callbacks from SDL.
* @param sdlProxyConfigurationResources Proxy configuration resources.
* @param appName Name of the application displayed on SDL.
* @param ttsName TTS name.
- * @param ngnMediaScreenAppName Name of the application displayed on SDL for Navigation equipped
+ * @param ngnMediaScreenAppName Name of the application displayed on SDL for Navigation equipped
* vehicles. Limited to five characters.
* @param vrSynonyms A vector of strings, all of which can be used as voice commands too
* @param isMediaApp Indicates if the app is a media application.
@@ -1203,15 +1207,15 @@ public class SdlProxyALM extends SdlProxyBase<IProxyListenerALM> {
* @param callbackToUIThread If true, all callbacks will occur on the UI thread.
* @param preRegister Flag that indicates that client should be pre-registred or not
* @throws SdlException
- */
+ */
@Deprecated
- public SdlProxyALM(IProxyListenerALM listener, SdlProxyConfigurationResources sdlProxyConfigurationResources,
- String appName, Vector<TTSChunk> ttsName, String ngnMediaScreenAppName, Vector<String> vrSynonyms, Boolean isMediaApp,
- SdlMsgVersion sdlMsgVersion, Language languageDesired, Language hmiDisplayLanguageDesired,
- String appID, String autoActivateID, boolean callbackToUIThread, boolean preRegister) throws SdlException {
- super( listener,
+ public SdlProxyALM(IProxyListenerALM listener, SdlProxyConfigurationResources sdlProxyConfigurationResources,
+ String appName, Vector<TTSChunk> ttsName, String ngnMediaScreenAppName, Vector<String> vrSynonyms, Boolean isMediaApp,
+ SdlMsgVersion sdlMsgVersion, Language languageDesired, Language hmiDisplayLanguageDesired,
+ String appID, String autoActivateID, boolean callbackToUIThread, boolean preRegister) throws SdlException {
+ super( listener,
sdlProxyConfigurationResources,
- /*enable advanced lifecycle management*/true,
+ /*enable advanced lifecycle management*/true,
appName,
ttsName,
ngnMediaScreenAppName,
@@ -1219,29 +1223,29 @@ public class SdlProxyALM extends SdlProxyBase<IProxyListenerALM> {
isMediaApp,
sdlMsgVersion,
languageDesired,
- /*HMI Display Language Desired*/hmiDisplayLanguageDesired,
- /*App Type*/null,
- /*App ID*/appID,
+ /*HMI Display Language Desired*/hmiDisplayLanguageDesired,
+ /*App Type*/null,
+ /*App ID*/appID,
autoActivateID,
callbackToUIThread,
preRegister,
new BTTransportConfig());
-
+
SdlTrace.logProxyEvent("Application constructed SdlProxyALM (using legacy constructor for BT transport) instance passing in: IProxyListener, sdlProxyConfigurationResources, " +
"appName, ngnMediaScreenAppName, vrSynonyms, isMediaApp, sdlMsgVersion, languageDesired, autoActivateID, " +
"callbackToUIThread and version", SDL_LIB_TRACE_KEY);
}
/**
* Constructor for the SdlProxy object, the proxy for communicating between the App and SDL via specified transport.
- *
- * Takes advantage of the advanced lifecycle management.
- *
+ *
+ * Takes advantage of the advanced lifecycle management.
+ *
* @param context - Used to create a multiplexing transport config
* @param listener Reference to the object in the App listening to callbacks from SDL.
* @param sdlProxyConfigurationResources Proxy configuration resources.
* @param appName Name of the application displayed on SDL.
* @param ttsName TTS name.
- * @param ngnMediaScreenAppName Name of the application displayed on SDL for Navigation equipped
+ * @param ngnMediaScreenAppName Name of the application displayed on SDL for Navigation equipped
* vehicles. Limited to five characters.
* @param vrSynonyms A vector of strings, all of which can be used as voice commands too
* @param isMediaApp Indicates if the app is a media application.
@@ -1254,14 +1258,14 @@ public class SdlProxyALM extends SdlProxyBase<IProxyListenerALM> {
* @param callbackToUIThread If true, all callbacks will occur on the UI thread.
* @param preRegister Flag that indicates that client should be pre-registred or not
* @throws SdlException
- */
- public SdlProxyALM(Context context,IProxyListenerALM listener, SdlProxyConfigurationResources sdlProxyConfigurationResources,
- String appName, Vector<TTSChunk> ttsName, String ngnMediaScreenAppName, Vector<String> vrSynonyms, Boolean isMediaApp,
- SdlMsgVersion sdlMsgVersion, Language languageDesired, Language hmiDisplayLanguageDesired,
- String appID, String autoActivateID, boolean callbackToUIThread, boolean preRegister) throws SdlException {
- super( listener,
+ */
+ public SdlProxyALM(Context context,IProxyListenerALM listener, SdlProxyConfigurationResources sdlProxyConfigurationResources,
+ String appName, Vector<TTSChunk> ttsName, String ngnMediaScreenAppName, Vector<String> vrSynonyms, Boolean isMediaApp,
+ SdlMsgVersion sdlMsgVersion, Language languageDesired, Language hmiDisplayLanguageDesired,
+ String appID, String autoActivateID, boolean callbackToUIThread, boolean preRegister) throws SdlException {
+ super( listener,
sdlProxyConfigurationResources,
- /*enable advanced lifecycle management*/true,
+ /*enable advanced lifecycle management*/true,
appName,
ttsName,
ngnMediaScreenAppName,
@@ -1269,30 +1273,30 @@ public class SdlProxyALM extends SdlProxyBase<IProxyListenerALM> {
isMediaApp,
sdlMsgVersion,
languageDesired,
- /*HMI Display Language Desired*/hmiDisplayLanguageDesired,
- /*App Type*/null,
- /*App ID*/appID,
+ /*HMI Display Language Desired*/hmiDisplayLanguageDesired,
+ /*App Type*/null,
+ /*App ID*/appID,
autoActivateID,
callbackToUIThread,
preRegister,
new MultiplexTransportConfig(context,appID));
-
+
SdlTrace.logProxyEvent("Application constructed SdlProxyALM (using legacy constructor for BT transport) instance passing in: IProxyListener, sdlProxyConfigurationResources, " +
"appName, ngnMediaScreenAppName, vrSynonyms, isMediaApp, sdlMsgVersion, languageDesired, autoActivateID, " +
"callbackToUIThread and version", SDL_LIB_TRACE_KEY);
}
-
+
/**
* Constructor for the SdlProxy object, the proxy for communicating between the App and SDL via specified transport.
- *
- * Takes advantage of the advanced lifecycle management.
- *
+ *
+ * Takes advantage of the advanced lifecycle management.
+ *
* @param listener Reference to the object in the App listening to callbacks from SDL.
* @param sdlProxyConfigurationResources Proxy configuration resources.
* @param appName Name of the application displayed on SDL.
* @param ttsName TTS name.
- * @param ngnMediaScreenAppName Name of the application displayed on SDL for Navigation equipped
+ * @param ngnMediaScreenAppName Name of the application displayed on SDL for Navigation equipped
* vehicles. Limited to five characters.
* @param vrSynonyms A vector of strings, all of which can be used as voice commands too
* @param isMediaApp Indicates if the app is a media application.
@@ -1304,17 +1308,17 @@ public class SdlProxyALM extends SdlProxyBase<IProxyListenerALM> {
* @param autoActivateID ID used to re-register previously registered application.
* @param callbackToUIThread If true, all callbacks will occur on the UI thread.
* @param preRegister Flag that indicates that client should be pre-registred or not
- * @param transportConfig Initial configuration for transport.
+ * @param transportConfig Initial configuration for transport.
* @throws SdlException
*/
- public SdlProxyALM(IProxyListenerALM listener, SdlProxyConfigurationResources sdlProxyConfigurationResources,
- String appName, Vector<TTSChunk> ttsName, String ngnMediaScreenAppName, Vector<String> vrSynonyms, Boolean isMediaApp,
- SdlMsgVersion sdlMsgVersion, Language languageDesired, Language hmiDisplayLanguageDesired,
- String appID, String autoActivateID, boolean callbackToUIThread, boolean preRegister,
- BaseTransportConfig transportConfig) throws SdlException {
- super( listener,
+ public SdlProxyALM(IProxyListenerALM listener, SdlProxyConfigurationResources sdlProxyConfigurationResources,
+ String appName, Vector<TTSChunk> ttsName, String ngnMediaScreenAppName, Vector<String> vrSynonyms, Boolean isMediaApp,
+ SdlMsgVersion sdlMsgVersion, Language languageDesired, Language hmiDisplayLanguageDesired,
+ String appID, String autoActivateID, boolean callbackToUIThread, boolean preRegister,
+ BaseTransportConfig transportConfig) throws SdlException {
+ super( listener,
sdlProxyConfigurationResources,
- /*enable advanced lifecycle management*/true,
+ /*enable advanced lifecycle management*/true,
appName,
ttsName,
ngnMediaScreenAppName,
@@ -1322,51 +1326,51 @@ public class SdlProxyALM extends SdlProxyBase<IProxyListenerALM> {
isMediaApp,
sdlMsgVersion,
languageDesired,
- /*HMI Display Language Desired*/hmiDisplayLanguageDesired,
- /*App Type*/null,
- /*App ID*/appID,
+ /*HMI Display Language Desired*/hmiDisplayLanguageDesired,
+ /*App Type*/null,
+ /*App ID*/appID,
autoActivateID,
callbackToUIThread,
preRegister,
transportConfig);
-
+
SdlTrace.logProxyEvent("Application constructed SdlProxyALM (using new constructor with specified transport) instance passing in: IProxyListener, sdlProxyConfigurationResources, " +
"appName, ngnMediaScreenAppName, vrSynonyms, isMediaApp, sdlMsgVersion, languageDesired, autoActivateID, " +
"callbackToUIThread and version", SDL_LIB_TRACE_KEY);
- }
+ }
/**
* @deprecated
* Constructor for the SdlProxy object, the proxy for communicating between the App and SDL via specified transport.
- *
- * Takes advantage of the advanced lifecycle management.
- *
+ *
+ * Takes advantage of the advanced lifecycle management.
+ *
* @param listener Reference to the object in the App listening to callbacks from SDL.
* @param sdlProxyConfigurationResources Proxy configuration resources.
* @param appName Name of the application displayed on SDL.
* @param ttsName TTS name.
- * @param ngnMediaScreenAppName Name of the application displayed on SDL for Navigation equipped
+ * @param ngnMediaScreenAppName Name of the application displayed on SDL for Navigation equipped
* vehicles. Limited to five characters.
* @param vrSynonyms A vector of strings, all of which can be used as voice commands too
* @param isMediaApp Indicates if the app is a media application.
* @param sdlMsgVersion Indicates the version of SDL SmartDeviceLink Messages desired. Must be less than
* or equal to the version of SDL SmartDeviceLink running on the vehicle.
* @param languageDesired Indicates the language desired for the SDL interface.
- * @param hmiDisplayLanguageDesired Desired language in HMI.
- * @param appType Type of application.
+ * @param hmiDisplayLanguageDesired Desired language in HMI.
+ * @param appType Type of application.
* @param appID Identifier of the client application.
* @param autoActivateID ID used to re-register previously registered application.
* @param callbackToUIThread If true, all callbacks will occur on the UI thread.
* @param preRegister Flag that indicates that client should be pre-registred or not
* @throws SdlException
- */
+ */
@Deprecated
- public SdlProxyALM(IProxyListenerALM listener, SdlProxyConfigurationResources sdlProxyConfigurationResources,
- String appName, Vector<TTSChunk> ttsName, String ngnMediaScreenAppName, Vector<String> vrSynonyms, Boolean isMediaApp,
- SdlMsgVersion sdlMsgVersion, Language languageDesired, Language hmiDisplayLanguageDesired,
- Vector<AppHMIType> appType, String appID, String autoActivateID, boolean callbackToUIThread, boolean preRegister) throws SdlException {
- super( listener,
+ public SdlProxyALM(IProxyListenerALM listener, SdlProxyConfigurationResources sdlProxyConfigurationResources,
+ String appName, Vector<TTSChunk> ttsName, String ngnMediaScreenAppName, Vector<String> vrSynonyms, Boolean isMediaApp,
+ SdlMsgVersion sdlMsgVersion, Language languageDesired, Language hmiDisplayLanguageDesired,
+ Vector<AppHMIType> appType, String appID, String autoActivateID, boolean callbackToUIThread, boolean preRegister) throws SdlException {
+ super( listener,
sdlProxyConfigurationResources,
- /*enable advanced lifecycle management*/true,
+ /*enable advanced lifecycle management*/true,
appName,
ttsName,
ngnMediaScreenAppName,
@@ -1374,50 +1378,50 @@ public class SdlProxyALM extends SdlProxyBase<IProxyListenerALM> {
isMediaApp,
sdlMsgVersion,
languageDesired,
- /*HMI Display Language Desired*/hmiDisplayLanguageDesired,
- /*App Type*/appType,
- /*App ID*/appID,
+ /*HMI Display Language Desired*/hmiDisplayLanguageDesired,
+ /*App Type*/appType,
+ /*App ID*/appID,
autoActivateID,
callbackToUIThread,
preRegister,
new BTTransportConfig());
-
+
SdlTrace.logProxyEvent("Application constructed SdlProxyALM (using legacy constructor for BT transport) instance passing in: IProxyListener, sdlProxyConfigurationResources, " +
"appName, ngnMediaScreenAppName, vrSynonyms, isMediaApp, sdlMsgVersion, languageDesired, appType, appID, autoActivateID, " +
"callbackToUIThread and version", SDL_LIB_TRACE_KEY);
- }
+ }
/**
* Constructor for the SdlProxy object, the proxy for communicating between the App and SDL via specified transport.
- *
- * Takes advantage of the advanced lifecycle management.
- *
+ *
+ * Takes advantage of the advanced lifecycle management.
+ *
* @param context - Used to create a multiplexing transport config
* @param listener Reference to the object in the App listening to callbacks from SDL.
* @param sdlProxyConfigurationResources Proxy configuration resources.
* @param appName Name of the application displayed on SDL.
* @param ttsName TTS name.
- * @param ngnMediaScreenAppName Name of the application displayed on SDL for Navigation equipped
+ * @param ngnMediaScreenAppName Name of the application displayed on SDL for Navigation equipped
* vehicles. Limited to five characters.
* @param vrSynonyms A vector of strings, all of which can be used as voice commands too
* @param isMediaApp Indicates if the app is a media application.
* @param sdlMsgVersion Indicates the version of SDL SmartDeviceLink Messages desired. Must be less than
* or equal to the version of SDL SmartDeviceLink running on the vehicle.
* @param languageDesired Indicates the language desired for the SDL interface.
- * @param hmiDisplayLanguageDesired Desired language in HMI.
- * @param appType Type of application.
+ * @param hmiDisplayLanguageDesired Desired language in HMI.
+ * @param appType Type of application.
* @param appID Identifier of the client application.
* @param autoActivateID ID used to re-register previously registered application.
* @param callbackToUIThread If true, all callbacks will occur on the UI thread.
* @param preRegister Flag that indicates that client should be pre-registred or not
* @throws SdlException
- */
- public SdlProxyALM(Context context,IProxyListenerALM listener, SdlProxyConfigurationResources sdlProxyConfigurationResources,
- String appName, Vector<TTSChunk> ttsName, String ngnMediaScreenAppName, Vector<String> vrSynonyms, Boolean isMediaApp,
- SdlMsgVersion sdlMsgVersion, Language languageDesired, Language hmiDisplayLanguageDesired,
- Vector<AppHMIType> appType, String appID, String autoActivateID, boolean callbackToUIThread, boolean preRegister) throws SdlException {
- super( listener,
+ */
+ public SdlProxyALM(Context context,IProxyListenerALM listener, SdlProxyConfigurationResources sdlProxyConfigurationResources,
+ String appName, Vector<TTSChunk> ttsName, String ngnMediaScreenAppName, Vector<String> vrSynonyms, Boolean isMediaApp,
+ SdlMsgVersion sdlMsgVersion, Language languageDesired, Language hmiDisplayLanguageDesired,
+ Vector<AppHMIType> appType, String appID, String autoActivateID, boolean callbackToUIThread, boolean preRegister) throws SdlException {
+ super( listener,
sdlProxyConfigurationResources,
- /*enable advanced lifecycle management*/true,
+ /*enable advanced lifecycle management*/true,
appName,
ttsName,
ngnMediaScreenAppName,
@@ -1425,28 +1429,28 @@ public class SdlProxyALM extends SdlProxyBase<IProxyListenerALM> {
isMediaApp,
sdlMsgVersion,
languageDesired,
- /*HMI Display Language Desired*/hmiDisplayLanguageDesired,
- /*App Type*/appType,
- /*App ID*/appID,
+ /*HMI Display Language Desired*/hmiDisplayLanguageDesired,
+ /*App Type*/appType,
+ /*App ID*/appID,
autoActivateID,
callbackToUIThread,
preRegister,
new MultiplexTransportConfig(context,appID));
-
+
SdlTrace.logProxyEvent("Application constructed SdlProxyALM (using legacy constructor for BT transport) instance passing in: IProxyListener, sdlProxyConfigurationResources, " +
"appName, ngnMediaScreenAppName, vrSynonyms, isMediaApp, sdlMsgVersion, languageDesired, appType, appID, autoActivateID, " +
"callbackToUIThread and version", SDL_LIB_TRACE_KEY);
- }
+ }
/**
* Constructor for the SdlProxy object, the proxy for communicating between the App and SDL via specified transport.
- *
- * Takes advantage of the advanced lifecycle management.
- *
+ *
+ * Takes advantage of the advanced lifecycle management.
+ *
* @param listener Reference to the object in the App listening to callbacks from SDL.
* @param sdlProxyConfigurationResources Proxy configuration resources.
* @param appName Name of the application displayed on SDL.
* @param ttsName TTS name.
- * @param ngnMediaScreenAppName Name of the application displayed on SDL for Navigation equipped
+ * @param ngnMediaScreenAppName Name of the application displayed on SDL for Navigation equipped
* vehicles. Limited to five characters.
* @param vrSynonyms A vector of strings, all of which can be used as voice commands too
* @param isMediaApp Indicates if the app is a media application.
@@ -1459,17 +1463,17 @@ public class SdlProxyALM extends SdlProxyBase<IProxyListenerALM> {
* @param autoActivateID ID used to re-register previously registered application.
* @param callbackToUIThread If true, all callbacks will occur on the UI thread.
* @param preRegister Flag that indicates that client should be pre-registred or not
- * @param transportConfig Initial configuration for transport.
+ * @param transportConfig Initial configuration for transport.
* @throws SdlException
*/
- public SdlProxyALM(IProxyListenerALM listener, SdlProxyConfigurationResources sdlProxyConfigurationResources,
- String appName, Vector<TTSChunk> ttsName, String ngnMediaScreenAppName, Vector<String> vrSynonyms, Boolean isMediaApp,
- SdlMsgVersion sdlMsgVersion, Language languageDesired, Language hmiDisplayLanguageDesired, Vector<AppHMIType> appType,
- String appID, String autoActivateID, boolean callbackToUIThread, boolean preRegister,
- BaseTransportConfig transportConfig) throws SdlException {
- super( listener,
+ public SdlProxyALM(IProxyListenerALM listener, SdlProxyConfigurationResources sdlProxyConfigurationResources,
+ String appName, Vector<TTSChunk> ttsName, String ngnMediaScreenAppName, Vector<String> vrSynonyms, Boolean isMediaApp,
+ SdlMsgVersion sdlMsgVersion, Language languageDesired, Language hmiDisplayLanguageDesired, Vector<AppHMIType> appType,
+ String appID, String autoActivateID, boolean callbackToUIThread, boolean preRegister,
+ BaseTransportConfig transportConfig) throws SdlException {
+ super( listener,
sdlProxyConfigurationResources,
- /*enable advanced lifecycle management*/true,
+ /*enable advanced lifecycle management*/true,
appName,
ttsName,
ngnMediaScreenAppName,
@@ -1477,26 +1481,26 @@ public class SdlProxyALM extends SdlProxyBase<IProxyListenerALM> {
isMediaApp,
sdlMsgVersion,
languageDesired,
- /*HMI Display Language Desired*/hmiDisplayLanguageDesired,
- /*App Type*/appType,
- /*App ID*/appID,
+ /*HMI Display Language Desired*/hmiDisplayLanguageDesired,
+ /*App Type*/appType,
+ /*App ID*/appID,
autoActivateID,
callbackToUIThread,
preRegister,
transportConfig);
-
+
SdlTrace.logProxyEvent("Application constructed SdlProxyALM (using new constructor with specified transport) instance passing in: IProxyListener, sdlProxyConfigurationResources, " +
"appName, ngnMediaScreenAppName, vrSynonyms, isMediaApp, sdlMsgVersion, languageDesired, appType, appID, autoActivateID, " +
"callbackToUIThread and version", SDL_LIB_TRACE_KEY);
}
- public SdlProxyALM(Service appService, IProxyListenerALM listener, SdlProxyConfigurationResources sdlProxyConfigurationResources,
- String appName, Vector<TTSChunk> ttsName, String ngnMediaScreenAppName, Vector<String> vrSynonyms, Boolean isMediaApp,
- SdlMsgVersion sdlMsgVersion, Language languageDesired, Language hmiDisplayLanguageDesired, Vector<AppHMIType> appType,
- String appID, String autoActivateID, boolean callbackToUIThread, boolean preRegister,
- BaseTransportConfig transportConfig) throws SdlException {
- super( listener,
+ public SdlProxyALM(Service appService, IProxyListenerALM listener, SdlProxyConfigurationResources sdlProxyConfigurationResources,
+ String appName, Vector<TTSChunk> ttsName, String ngnMediaScreenAppName, Vector<String> vrSynonyms, Boolean isMediaApp,
+ SdlMsgVersion sdlMsgVersion, Language languageDesired, Language hmiDisplayLanguageDesired, Vector<AppHMIType> appType,
+ String appID, String autoActivateID, boolean callbackToUIThread, boolean preRegister,
+ BaseTransportConfig transportConfig) throws SdlException {
+ super( listener,
sdlProxyConfigurationResources,
- /*enable advanced lifecycle management*/true,
+ /*enable advanced lifecycle management*/true,
appName,
ttsName,
ngnMediaScreenAppName,
@@ -1504,31 +1508,31 @@ public class SdlProxyALM extends SdlProxyBase<IProxyListenerALM> {
isMediaApp,
sdlMsgVersion,
languageDesired,
- /*HMI Display Language Desired*/hmiDisplayLanguageDesired,
- /*App Type*/appType,
- /*App ID*/appID,
+ /*HMI Display Language Desired*/hmiDisplayLanguageDesired,
+ /*App Type*/appType,
+ /*App ID*/appID,
autoActivateID,
callbackToUIThread,
preRegister,
transportConfig);
-
- this.setAppService(appService);
- this.sendTransportBroadcast();
+
+ this.setAppService(appService);
+ this.sendTransportBroadcast();
SdlTrace.logProxyEvent("Application constructed SdlProxyALM (using new constructor with specified transport) instance passing in: IProxyListener, sdlProxyConfigurationResources, " +
"appName, ngnMediaScreenAppName, vrSynonyms, isMediaApp, sdlMsgVersion, languageDesired, appType, appID, autoActivateID, " +
"callbackToUIThread and version", SDL_LIB_TRACE_KEY);
- }
+ }
/**
* Constructor for the SdlProxy object, the proxy for communicating between the App and SDL via specified transport.
- *
- * Takes advantage of the advanced lifecycle management.
- *
+ *
+ * Takes advantage of the advanced lifecycle management.
+ *
* @param listener Reference to the object in the App listening to callbacks from SDL.
* @param sdlProxyConfigurationResources Proxy configuration resources.
* @param appName Name of the application displayed on SDL.
* @param ttsName TTS name.
- * @param ngnMediaScreenAppName Name of the application displayed on SDL for Navigation equipped
+ * @param ngnMediaScreenAppName Name of the application displayed on SDL for Navigation equipped
* vehicles. Limited to five characters.
* @param vrSynonyms A vector of strings, all of which can be used as voice commands too
* @param isMediaApp Indicates if the app is a media application.
@@ -1542,17 +1546,17 @@ public class SdlProxyALM extends SdlProxyBase<IProxyListenerALM> {
* @param callbackToUIThread If true, all callbacks will occur on the UI thread.
* @param preRegister Flag that indicates that client should be pre-registred or not
* @param sHashID HashID used for app resumption
- * @param transportConfig Initial configuration for transport.
+ * @param transportConfig Initial configuration for transport.
* @throws SdlException
*/
- public SdlProxyALM(IProxyListenerALM listener, SdlProxyConfigurationResources sdlProxyConfigurationResources,
- String appName, Vector<TTSChunk> ttsName, String ngnMediaScreenAppName, Vector<String> vrSynonyms, Boolean isMediaApp,
- SdlMsgVersion sdlMsgVersion, Language languageDesired, Language hmiDisplayLanguageDesired, Vector<AppHMIType> appType,
- String appID, String autoActivateID, boolean callbackToUIThread, boolean preRegister, String sHashID,
- BaseTransportConfig transportConfig) throws SdlException {
- super( listener,
+ public SdlProxyALM(IProxyListenerALM listener, SdlProxyConfigurationResources sdlProxyConfigurationResources,
+ String appName, Vector<TTSChunk> ttsName, String ngnMediaScreenAppName, Vector<String> vrSynonyms, Boolean isMediaApp,
+ SdlMsgVersion sdlMsgVersion, Language languageDesired, Language hmiDisplayLanguageDesired, Vector<AppHMIType> appType,
+ String appID, String autoActivateID, boolean callbackToUIThread, boolean preRegister, String sHashID,
+ BaseTransportConfig transportConfig) throws SdlException {
+ super( listener,
sdlProxyConfigurationResources,
- /*enable advanced lifecycle management*/true,
+ /*enable advanced lifecycle management*/true,
appName,
ttsName,
ngnMediaScreenAppName,
@@ -1560,28 +1564,28 @@ public class SdlProxyALM extends SdlProxyBase<IProxyListenerALM> {
isMediaApp,
sdlMsgVersion,
languageDesired,
- /*HMI Display Language Desired*/hmiDisplayLanguageDesired,
- /*App Type*/appType,
- /*App ID*/appID,
+ /*HMI Display Language Desired*/hmiDisplayLanguageDesired,
+ /*App Type*/appType,
+ /*App ID*/appID,
autoActivateID,
callbackToUIThread,
preRegister,
- /*sHashID*/sHashID,
+ /*sHashID*/sHashID,
true,
transportConfig);
-
+
SdlTrace.logProxyEvent("Application constructed SdlProxyALM (using new constructor with specified transport) instance passing in: IProxyListener, sdlProxyConfigurationResources, " +
"appName, ngnMediaScreenAppName, vrSynonyms, isMediaApp, sdlMsgVersion, languageDesired, appType, appID, autoActivateID, " +
"callbackToUIThread and version", SDL_LIB_TRACE_KEY);
}
- public SdlProxyALM(Service appService, IProxyListenerALM listener, SdlProxyConfigurationResources sdlProxyConfigurationResources,
- String appName, Vector<TTSChunk> ttsName, String ngnMediaScreenAppName, Vector<String> vrSynonyms, Boolean isMediaApp,
- SdlMsgVersion sdlMsgVersion, Language languageDesired, Language hmiDisplayLanguageDesired, Vector<AppHMIType> appType,
- String appID, String autoActivateID, boolean callbackToUIThread, boolean preRegister, String sHashID,
- BaseTransportConfig transportConfig) throws SdlException {
- super( listener,
+ public SdlProxyALM(Service appService, IProxyListenerALM listener, SdlProxyConfigurationResources sdlProxyConfigurationResources,
+ String appName, Vector<TTSChunk> ttsName, String ngnMediaScreenAppName, Vector<String> vrSynonyms, Boolean isMediaApp,
+ SdlMsgVersion sdlMsgVersion, Language languageDesired, Language hmiDisplayLanguageDesired, Vector<AppHMIType> appType,
+ String appID, String autoActivateID, boolean callbackToUIThread, boolean preRegister, String sHashID,
+ BaseTransportConfig transportConfig) throws SdlException {
+ super( listener,
sdlProxyConfigurationResources,
- /*enable advanced lifecycle management*/true,
+ /*enable advanced lifecycle management*/true,
appName,
ttsName,
ngnMediaScreenAppName,
@@ -1589,25 +1593,25 @@ public class SdlProxyALM extends SdlProxyBase<IProxyListenerALM> {
isMediaApp,
sdlMsgVersion,
languageDesired,
- /*HMI Display Language Desired*/hmiDisplayLanguageDesired,
- /*App Type*/appType,
- /*App ID*/appID,
+ /*HMI Display Language Desired*/hmiDisplayLanguageDesired,
+ /*App Type*/appType,
+ /*App ID*/appID,
autoActivateID,
callbackToUIThread,
preRegister,
- /*sHashID*/sHashID,
- /*bEnableResume*/true,
+ /*sHashID*/sHashID,
+ /*bEnableResume*/true,
transportConfig);
- this.setAppService(appService);
- this.sendTransportBroadcast();
+ this.setAppService(appService);
+ this.sendTransportBroadcast();
SdlTrace.logProxyEvent("Application constructed SdlProxyALM (using new constructor with specified transport) instance passing in: IProxyListener, sdlProxyConfigurationResources, " +
"appName, ngnMediaScreenAppName, vrSynonyms, isMediaApp, sdlMsgVersion, languageDesired, appType, appID, autoActivateID, " +
"callbackToUIThread and version", SDL_LIB_TRACE_KEY);
- }
+ }
/***************************************** END OF TRANSPORT SWITCHING SUPPORT ***************************************/
-
+
// Allow applications using ALM to reset the proxy (dispose and reinstantiate)
/**
* Disconnects the application from SDL, then recreates the transport such that
@@ -1617,69 +1621,76 @@ public class SdlProxyALM extends SdlProxyBase<IProxyListenerALM> {
public void resetProxy() throws SdlException {
super.cycleProxy(SdlDisconnectedReason.APPLICATION_REQUESTED_DISCONNECT);
}
-
+
/********* Getters for values returned by RegisterAppInterfaceResponse **********/
-
+
/**
* Gets buttonCapabilities set when application interface is registered.
- *
+ *
* @return buttonCapabilities
* @throws SdlException
+ * @deprecated use {@link SystemCapabilityManager#getCapability(SystemCapabilityType)} instead
*/
+ @Deprecated
public List<ButtonCapabilities> getButtonCapabilities() throws SdlException{
// Test if proxy has been disposed
if (_proxyDisposed) {
throw new SdlException("This object has been disposed, it is no long capable of executing methods.", SdlExceptionCause.SDL_PROXY_DISPOSED);
}
-
- // Test SDL availability
- if (!_appInterfaceRegisterd) {
+
+ // Test SDL availability
+ if (!_appInterfaceRegisterd || _systemCapabilityManager == null) {
throw new SdlException("SDL is unavailable. Unable to get the buttonCapabilities.", SdlExceptionCause.SDL_UNAVAILABLE);
}
- return _buttonCapabilities;
+
+ return convertToList(_systemCapabilityManager.getCapability(SystemCapabilityType.BUTTON), ButtonCapabilities.class);
}
-
+
/**
* Gets getSoftButtonCapabilities set when application interface is registered.
- *
- * @return softButtonCapabilities
+ *
+ * @return softButtonCapabilities
* @throws SdlException
+ * @deprecated use {@link SystemCapabilityManager#getCapability(SystemCapabilityType)} instead
*/
+ @Deprecated
public List<SoftButtonCapabilities> getSoftButtonCapabilities() throws SdlException {
// Test if proxy has been disposed
if (_proxyDisposed) {
throw new SdlException("This object has been disposed, it is no long capable of executing methods.", SdlExceptionCause.SDL_PROXY_DISPOSED);
}
-
- // Test SDL availability
- if (!_appInterfaceRegisterd) {
+
+ // Test SDL availability
+ if (!_appInterfaceRegisterd || _systemCapabilityManager == null) {
throw new SdlException("SDL is not connected. Unable to get the softButtonCapabilities.", SdlExceptionCause.SDL_UNAVAILABLE);
}
- return _softButtonCapabilities;
+ return convertToList(_systemCapabilityManager.getCapability(SystemCapabilityType.SOFTBUTTON),SoftButtonCapabilities.class);
}
-
+
/**
* Gets getPresetBankCapabilities set when application interface is registered.
- *
- * @return presetBankCapabilities
+ *
+ * @return presetBankCapabilities
* @throws SdlException
+ * @deprecated use {@link SystemCapabilityManager#getCapability(SystemCapabilityType)} instead
*/
+ @Deprecated
public PresetBankCapabilities getPresetBankCapabilities() throws SdlException {
// Test if proxy has been disposed
if (_proxyDisposed) {
throw new SdlException("This object has been disposed, it is no long capable of executing methods.", SdlExceptionCause.SDL_PROXY_DISPOSED);
}
-
- // Test SDL availability
+
+ // Test SDL availability
if (!_appInterfaceRegisterd) {
throw new SdlException("SDL is not connected. Unable to get the presetBankCapabilities.", SdlExceptionCause.SDL_UNAVAILABLE);
}
- return _presetBankCapabilities;
+ return ( PresetBankCapabilities ) _systemCapabilityManager.getCapability(SystemCapabilityType.PRESET_BANK);
}
-
+
/**
* Gets the current version information of the proxy.
- *
+ *
* @return String
* @throws SdlException
*/
@@ -1687,76 +1698,82 @@ public class SdlProxyALM extends SdlProxyBase<IProxyListenerALM> {
// Test if proxy has been disposed
if (_proxyDisposed) {
throw new SdlException("This object has been disposed, it is no long capable of executing methods.", SdlExceptionCause.SDL_PROXY_DISPOSED);
- }
+ }
if (Version.VERSION != null)
- return Version.VERSION;
-
+ return Version.VERSION;
+
return null;
}
-
-
+
+
/**
* Gets displayCapabilities set when application interface is registered.
- *
+ *
* @return displayCapabilities
* @throws SdlException
+ * @deprecated use {@link SystemCapabilityManager#getCapability(SystemCapabilityType)} instead
*/
+ @Deprecated
public DisplayCapabilities getDisplayCapabilities() throws SdlException {
// Test if proxy has been disposed
if (_proxyDisposed) {
throw new SdlException("This object has been disposed, it is no long capable of executing methods.", SdlExceptionCause.SDL_PROXY_DISPOSED);
}
-
- // Test SDL availability
- if (!_appInterfaceRegisterd) {
+
+ // Test SDL availability
+ if (!_appInterfaceRegisterd || _systemCapabilityManager == null) {
throw new SdlException("SDL is unavailable. Unable to get the displayCapabilities.", SdlExceptionCause.SDL_UNAVAILABLE);
}
- return _displayCapabilities;
+ return ( DisplayCapabilities ) _systemCapabilityManager.getCapability(SystemCapabilityType.DISPLAY);
}
-
+
/**
* Gets hmiZoneCapabilities set when application interface is registered.
- *
+ *
* @return hmiZoneCapabilities
* @throws SdlException
+ * @deprecated use {@link SystemCapabilityManager#getCapability(SystemCapabilityType)} instead
*/
+ @Deprecated
public List<HmiZoneCapabilities> getHmiZoneCapabilities() throws SdlException {
// Test if proxy has been disposed
if (_proxyDisposed) {
throw new SdlException("This object has been disposed, it is no long capable of executing methods.", SdlExceptionCause.SDL_PROXY_DISPOSED);
}
-
- // Test SDL availability
- if (!_appInterfaceRegisterd) {
+
+ // Test SDL availability
+ if (!_appInterfaceRegisterd || _systemCapabilityManager == null) {
throw new SdlException("SDL is unavailable. Unable to get the hmiZoneCapabilities.", SdlExceptionCause.SDL_UNAVAILABLE);
}
- return _hmiZoneCapabilities;
+ return convertToList(_systemCapabilityManager.getCapability(SystemCapabilityType.HMI_ZONE), HmiZoneCapabilities.class);
}
-
+
/**
* Gets speechCapabilities set when application interface is registered.
- *
+ *
* @return speechCapabilities
* @throws SdlException
+ * @deprecated use {@link SystemCapabilityManager#getCapability(SystemCapabilityType)} instead
*/
+ @Deprecated
public List<SpeechCapabilities> getSpeechCapabilities() throws SdlException {
// Test if proxy has been disposed
if (_proxyDisposed) {
throw new SdlException("This object has been disposed, it is no long capable of executing methods.", SdlExceptionCause.SDL_PROXY_DISPOSED);
}
-
- // Test SDL availability
- if (!_appInterfaceRegisterd) {
+
+ // Test SDL availability
+ if (!_appInterfaceRegisterd || _systemCapabilityManager == null) {
throw new SdlException("SDL is unavailable. Unable to get the speechCapabilities.", SdlExceptionCause.SDL_UNAVAILABLE);
}
-
- return _speechCapabilities;
+
+ return convertToList(_systemCapabilityManager.getCapability(SystemCapabilityType.SPEECH), SpeechCapabilities.class);
}
/**
* Gets PrerecordedSpeech set when application interface is registered.
- *
+ *
* @return PrerecordedSpeech
* @throws SdlException
*/
@@ -1765,17 +1782,17 @@ public class SdlProxyALM extends SdlProxyBase<IProxyListenerALM> {
if (_proxyDisposed) {
throw new SdlException("This object has been disposed, it is no long capable of executing methods.", SdlExceptionCause.SDL_PROXY_DISPOSED);
}
-
- // Test SDL availability
+
+ // Test SDL availability
if (!_appInterfaceRegisterd) {
throw new SdlException("SDL is unavailable. Unable to get the PrerecordedSpeech.", SdlExceptionCause.SDL_UNAVAILABLE);
}
-
+
return _prerecordedSpeech;
}
/**
* Gets sdlLanguage set when application interface is registered.
- *
+ *
* @return sdlLanguage
* @throws SdlException
*/
@@ -1784,18 +1801,18 @@ public class SdlProxyALM extends SdlProxyBase<IProxyListenerALM> {
if (_proxyDisposed) {
throw new SdlException("This object has been disposed, it is no long capable of executing methods.", SdlExceptionCause.SDL_PROXY_DISPOSED);
}
-
- // Test SDL availability
+
+ // Test SDL availability
if (!_appInterfaceRegisterd) {
throw new SdlException("SDL is unavailable. Unable to get the sdlLanguage.", SdlExceptionCause.SDL_UNAVAILABLE);
}
return _sdlLanguage;
}
-
+
/**
* Gets getHmiDisplayLanguage set when application interface is registered.
- *
- * @return hmiDisplayLanguage
+ *
+ * @return hmiDisplayLanguage
* @throws SdlException
*/
public Language getHmiDisplayLanguage() throws SdlException {
@@ -1803,17 +1820,17 @@ public class SdlProxyALM extends SdlProxyBase<IProxyListenerALM> {
if (_proxyDisposed) {
throw new SdlException("This object has been disposed, it is no long capable of executing methods.", SdlExceptionCause.SDL_PROXY_DISPOSED);
}
-
- // Test SDL availability
+
+ // Test SDL availability
if (!_appInterfaceRegisterd) {
throw new SdlException("SDL is not connected. Unable to get the hmiDisplayLanguage.", SdlExceptionCause.SDL_UNAVAILABLE);
}
return _hmiDisplayLanguage;
}
-
+
/**
* Gets sdlMsgVersion set when application interface is registered.
- *
+ *
* @return sdlMsgVersion
* @throws SdlException
*/
@@ -1822,37 +1839,39 @@ public class SdlProxyALM extends SdlProxyBase<IProxyListenerALM> {
if (_proxyDisposed) {
throw new SdlException("This object has been disposed, it is no long capable of executing methods.", SdlExceptionCause.SDL_PROXY_DISPOSED);
}
-
- // Test SDL availability
+
+ // Test SDL availability
if (!_appInterfaceRegisterd) {
throw new SdlException("SDL is unavailable. Unable to get the sdlMsgVersion.", SdlExceptionCause.SDL_UNAVAILABLE);
}
return _sdlMsgVersion;
}
-
+
/**
* Gets vrCapabilities set when application interface is registered.
- *
+ *
* @return vrCapabilities
* @throws SdlException
+ * @deprecated use {@link SystemCapabilityManager#getCapability(SystemCapabilityType)} instead
*/
+ @Deprecated
public List<VrCapabilities> getVrCapabilities() throws SdlException {
// Test if proxy has been disposed
if (_proxyDisposed) {
throw new SdlException("This object has been disposed, it is no long capable of executing methods.", SdlExceptionCause.SDL_PROXY_DISPOSED);
}
-
- // Test SDL availability
- if (!_appInterfaceRegisterd) {
+
+ // Test SDL availability
+ if (!_appInterfaceRegisterd || _systemCapabilityManager == null) {
throw new SdlException("SDL is unavailable. Unable to get the vrCapabilities.", SdlExceptionCause.SDL_UNAVAILABLE);
}
- return _vrCapabilities;
+ return convertToList(_systemCapabilityManager.getCapability(SystemCapabilityType.VOICE_RECOGNITION), VrCapabilities.class);
}
-
+
/**
* Gets getVehicleType set when application interface is registered.
- *
- * @return vehicleType
+ *
+ * @return vehicleType
* @throws SdlException
*/
public VehicleType getVehicleType() throws SdlException {
@@ -1860,20 +1879,22 @@ public class SdlProxyALM extends SdlProxyBase<IProxyListenerALM> {
if (_proxyDisposed) {
throw new SdlException("This object has been disposed, it is no long capable of executing methods.", SdlExceptionCause.SDL_PROXY_DISPOSED);
}
-
- // Test SDL availability
+
+ // Test SDL availability
if (!_appInterfaceRegisterd) {
throw new SdlException("SDL is not connected. Unable to get the vehicleType.", SdlExceptionCause.SDL_UNAVAILABLE);
}
return _vehicleType;
}
-
+
/**
- * Gets AudioPassThruCapabilities set when application interface is registered.
- *
- * @return AudioPassThruCapabilities
- * @throws SdlException
- */
+ * Gets AudioPassThruCapabilities set when application interface is registered.
+ *
+ * @return AudioPassThruCapabilities
+ * @throws SdlException
+ * @deprecated use {@link SystemCapabilityManager#getCapability(SystemCapabilityType)} instead
+ */
+ @Deprecated
public List<AudioPassThruCapabilities> getAudioPassThruCapabilities() throws SdlException {
// Test if proxy has been disposed
if (_proxyDisposed) {
@@ -1881,10 +1902,10 @@ public class SdlProxyALM extends SdlProxyBase<IProxyListenerALM> {
}
// Test SDL availability
- if (!_appInterfaceRegisterd) {
+ if (!_appInterfaceRegisterd || _systemCapabilityManager == null) {
throw new SdlException("SDL is not connected. Unable to get the vehicleType.", SdlExceptionCause.SDL_UNAVAILABLE);
}
- return _audioPassThruCapabilities;
+ return convertToList(_systemCapabilityManager.getCapability(SystemCapabilityType.AUDIO_PASSTHROUGH), AudioPassThruCapabilities.class);
}
public List<Integer> getSupportedDiagModes() throws SdlException {
@@ -1892,14 +1913,22 @@ public class SdlProxyALM extends SdlProxyBase<IProxyListenerALM> {
if (_proxyDisposed) {
throw new SdlException("This object has been disposed, it is no long capable of executing methods.", SdlExceptionCause.SDL_PROXY_DISPOSED);
}
-
- // Test SDL availability
+
+ // Test SDL availability
if (!_appInterfaceRegisterd) {
throw new SdlException("SDL is not connected. Unable to get SupportedDiagModes.", SdlExceptionCause.SDL_UNAVAILABLE);
}
return _diagModes;
- }
-
+ }
+
+ /**
+ * Gets HMICapabilities when application interface is registered.
+ *
+ * @return HMICapabilities
+ * @throws SdlException
+ * @deprecated use {@link SystemCapabilityManager#getCapability(SystemCapabilityType)} instead
+ */
+ @Deprecated
public HMICapabilities getHmiCapabilities() throws SdlException {
// Test if proxy has been disposed
if (_proxyDisposed) {
@@ -1907,13 +1936,13 @@ public class SdlProxyALM extends SdlProxyBase<IProxyListenerALM> {
}
// Test SDL availability
- if (!_appInterfaceRegisterd) {
+ if (!_appInterfaceRegisterd || _systemCapabilityManager == null) {
throw new SdlException("SDL is not connected. Unable to get the HMICapabilities.", SdlExceptionCause.SDL_UNAVAILABLE);
}
- return _hmiCapabilities;
- }
-
-
+ return ( HMICapabilities ) _systemCapabilityManager.getCapability(SystemCapabilityType.HMI);
+ }
+
+
public String getSystemSoftwareVersion() throws SdlException {
// Test if proxy has been disposed
if (_proxyDisposed) {
@@ -1925,19 +1954,19 @@ public class SdlProxyALM extends SdlProxyBase<IProxyListenerALM> {
throw new SdlException("SDL is not connected. Unable to get the SystemSoftwareVersion.", SdlExceptionCause.SDL_UNAVAILABLE);
}
return _systemSoftwareVersion;
- }
-
+ }
+
public boolean isAppResumeSuccess() throws SdlException {
// Test if proxy has been disposed
if (_proxyDisposed) {
throw new SdlException("This object has been disposed, it is no long capable of executing methods.", SdlExceptionCause.SDL_PROXY_DISPOSED);
}
-
- // Test SDL availability
+
+ // Test SDL availability
if (!_appInterfaceRegisterd) {
throw new SdlException("SDL is not connected. Unable to get isResumeSuccess.", SdlExceptionCause.SDL_UNAVAILABLE);
}
return _bResumeSuccess;
- }
-
+ }
+
}
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 7b3eefa2a..a8e184517 100644
--- a/sdl_android/src/main/java/com/smartdevicelink/proxy/SdlProxyBase.java
+++ b/sdl_android/src/main/java/com/smartdevicelink/proxy/SdlProxyBase.java
@@ -59,6 +59,7 @@ import com.smartdevicelink.proxy.interfaces.IProxyListenerALM;
import com.smartdevicelink.proxy.interfaces.IProxyListenerBase;
import com.smartdevicelink.proxy.interfaces.IPutFileResponseListener;
import com.smartdevicelink.proxy.interfaces.ISdlServiceListener;
+import com.smartdevicelink.proxy.interfaces.OnSystemCapabilityListener;
import com.smartdevicelink.proxy.rpc.*;
import com.smartdevicelink.proxy.rpc.enums.AppHMIType;
import com.smartdevicelink.proxy.rpc.enums.AudioStreamingState;
@@ -81,6 +82,7 @@ import com.smartdevicelink.proxy.rpc.enums.SdlConnectionState;
import com.smartdevicelink.proxy.rpc.enums.SdlDisconnectedReason;
import com.smartdevicelink.proxy.rpc.enums.SdlInterfaceAvailability;
import com.smartdevicelink.proxy.rpc.enums.SpeechCapabilities;
+import com.smartdevicelink.proxy.rpc.enums.SystemCapabilityType;
import com.smartdevicelink.proxy.rpc.enums.SystemContext;
import com.smartdevicelink.proxy.rpc.enums.TextAlignment;
import com.smartdevicelink.proxy.rpc.enums.UpdateMode;
@@ -201,23 +203,15 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
protected String _autoActivateIdReturned = null;
protected Language _sdlLanguage = null;
protected Language _hmiDisplayLanguage = null;
- protected DisplayCapabilities _displayCapabilities = null;
- protected List<ButtonCapabilities> _buttonCapabilities = null;
- protected List<SoftButtonCapabilities> _softButtonCapabilities = null;
- protected PresetBankCapabilities _presetBankCapabilities = null;
- protected List<HmiZoneCapabilities> _hmiZoneCapabilities = null;
- protected List<SpeechCapabilities> _speechCapabilities = null;
protected List<PrerecordedSpeech> _prerecordedSpeech = null;
- protected List<VrCapabilities> _vrCapabilities = null;
protected VehicleType _vehicleType = null;
- protected List<AudioPassThruCapabilities> _audioPassThruCapabilities = null;
- protected HMICapabilities _hmiCapabilities = null;
protected String _systemSoftwareVersion = null;
protected List<Integer> _diagModes = null;
protected Boolean firstTimeFull = true;
protected String _proxyVersionInfo = null;
protected Boolean _bResumeSuccess = false;
protected List<Class<? extends SdlSecurityBase>> _secList = null;
+ protected SystemCapabilityManager _systemCapabilityManager;
private CopyOnWriteArrayList<IPutFileResponseListener> _putFileListenerList = new CopyOnWriteArrayList<IPutFileResponseListener>();
@@ -653,7 +647,19 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
rpcResponseListeners = new SparseArray<OnRPCResponseListener>();
rpcNotificationListeners = new SparseArray<OnRPCNotificationListener>();
-
+
+ //Initialize _systemCapabilityManager here.
+ _systemCapabilityManager = new SystemCapabilityManager(new SystemCapabilityManager.ISystemCapabilityManager() {
+ @Override
+ public void onSendPacketRequest(RPCRequest message) {
+ try {
+ sendRPCRequest(message);
+ } catch (SdlException e) {
+ e.printStackTrace();
+ }
+ }
+ });
+
// Initialize the proxy
try {
initializeProxy();
@@ -1821,7 +1827,7 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
return;
}
}
- }
+ }
}
private void handleRPCMessage(Hashtable<String, Object> hash) {
@@ -1844,6 +1850,9 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
_appInterfaceRegisterd = true;
}
processRaiResponse(msg);
+
+ //Populate the system capability manager with the RAI response
+ _systemCapabilityManager.parseRAIResponse(msg);
Intent sendIntent = createBroadcastIntent();
updateBroadcastIntent(sendIntent, "RPC_NAME", FunctionID.REGISTER_APP_INTERFACE.toString());
@@ -1857,20 +1866,11 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
//_autoActivateIdReturned = msg.getAutoActivateID();
/*Place holder for legacy support*/ _autoActivateIdReturned = "8675309";
- _buttonCapabilities = msg.getButtonCapabilities();
- _displayCapabilities = msg.getDisplayCapabilities();
- _softButtonCapabilities = msg.getSoftButtonCapabilities();
- _presetBankCapabilities = msg.getPresetBankCapabilities();
- _hmiZoneCapabilities = msg.getHmiZoneCapabilities();
- _speechCapabilities = msg.getSpeechCapabilities();
_prerecordedSpeech = msg.getPrerecordedSpeech();
_sdlLanguage = msg.getLanguage();
_hmiDisplayLanguage = msg.getHmiDisplayLanguage();
_sdlMsgVersion = msg.getSdlMsgVersion();
- _vrCapabilities = msg.getVrCapabilities();
_vehicleType = msg.getVehicleType();
- _audioPassThruCapabilities = msg.getAudioPassThruCapabilities();
- _hmiCapabilities = msg.getHmiCapabilities();
_systemSoftwareVersion = msg.getSystemSoftwareVersion();
_proxyVersionInfo = msg.getProxyVersionInfo();
@@ -2010,23 +2010,16 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
_appInterfaceRegisterd = true;
}
processRaiResponse(msg);
-
+ //Populate the system capability manager with the RAI response
+ _systemCapabilityManager.parseRAIResponse(msg);
+
//_autoActivateIdReturned = msg.getAutoActivateID();
/*Place holder for legacy support*/ _autoActivateIdReturned = "8675309";
- _buttonCapabilities = msg.getButtonCapabilities();
- _displayCapabilities = msg.getDisplayCapabilities();
- _softButtonCapabilities = msg.getSoftButtonCapabilities();
- _presetBankCapabilities = msg.getPresetBankCapabilities();
- _hmiZoneCapabilities = msg.getHmiZoneCapabilities();
- _speechCapabilities = msg.getSpeechCapabilities();
_prerecordedSpeech = msg.getPrerecordedSpeech();
_sdlLanguage = msg.getLanguage();
_hmiDisplayLanguage = msg.getHmiDisplayLanguage();
_sdlMsgVersion = msg.getSdlMsgVersion();
- _vrCapabilities = msg.getVrCapabilities();
_vehicleType = msg.getVehicleType();
- _audioPassThruCapabilities = msg.getAudioPassThruCapabilities();
- _hmiCapabilities = msg.getHmiCapabilities();
_systemSoftwareVersion = msg.getSystemSoftwareVersion();
_proxyVersionInfo = msg.getProxyVersionInfo();
@@ -2545,11 +2538,11 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
final SetDisplayLayoutResponse msg = new SetDisplayLayoutResponse(hash);
// successfully changed display layout - update layout capabilities
- if(msg.getSuccess()){
- _displayCapabilities = msg.getDisplayCapabilities();
- _buttonCapabilities = msg.getButtonCapabilities();
- _presetBankCapabilities = msg.getPresetBankCapabilities();
- _softButtonCapabilities = msg.getSoftButtonCapabilities();
+ if(msg.getSuccess() && _systemCapabilityManager!=null){
+ _systemCapabilityManager.setCapability(SystemCapabilityType.DISPLAY, msg.getDisplayCapabilities());
+ _systemCapabilityManager.setCapability(SystemCapabilityType.BUTTON, msg.getButtonCapabilities());
+ _systemCapabilityManager.setCapability(SystemCapabilityType.PRESET_BANK, msg.getPresetBankCapabilities());
+ _systemCapabilityManager.setCapability(SystemCapabilityType.SOFTBUTTON, msg.getSoftButtonCapabilities());
}
if (_callbackToUIThread) {
@@ -3508,24 +3501,26 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
}
private class CallableMethod implements Callable<Void> {
- private long waitTime;
+ private long waitTime;
- public CallableMethod(int timeInMillis){
+ public CallableMethod(int timeInMillis){
this.waitTime=timeInMillis;
- }
- @Override
- public Void call() {
- try {
- Thread.sleep(waitTime);
- } catch (InterruptedException e) {
- e.printStackTrace();
}
- return null;
- }
+ @Override
+ public Void call() {
+ try {
+ Thread.sleep(waitTime);
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
}
+
public FutureTask<Void> createFutureTask(CallableMethod callMethod){
return new FutureTask<Void>(callMethod);
}
+
public ScheduledExecutorService createScheduler(){
return Executors.newSingleThreadScheduledExecutor();
}
@@ -3542,6 +3537,7 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
sdlSession.setDesiredVideoParams(params);
}
+
/**
*Opens the video service (serviceType 11) and subsequently streams raw H264 video from an InputStream provided by the app
*@return true if service is opened successfully and stream is started, return false otherwise
@@ -3879,7 +3875,7 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
private void AudioServiceEndedNACK() {
pcmServiceEndResponseReceived = true;
pcmServiceEndResponse = false;
- }
+ }
public void setAppService(Service mService)
{
@@ -5558,7 +5554,15 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
SetDisplayLayout msg = RPCRequestFactory.BuildSetDisplayLayout(displayLayout, correlationID);
sendRPCRequest(msg);
}
-
+
+ public void getCapability(SystemCapabilityType systemCapabilityType, OnSystemCapabilityListener scListener){
+ _systemCapabilityManager.getCapability(systemCapabilityType, scListener);
+ }
+
+ public Object getCapability(SystemCapabilityType systemCapabilityType){
+ return _systemCapabilityManager.getCapability(systemCapabilityType);
+ }
+
/******************** END Public Helper Methods *************************/
/**
@@ -5595,6 +5599,7 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
return sdlSession.isServiceProtected(sType);
}
+
public void addServiceListener(SessionType serviceType, ISdlServiceListener sdlServiceListener){
if(serviceType != null && sdlSession != null && sdlServiceListener != null){
sdlSession.addServiceListener(serviceType, sdlServiceListener);
@@ -5610,7 +5615,7 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
public VideoStreamingParameters getAcceptedVideoParams(){
return sdlSession.getAcceptedVideoParams();
}
-
+
public IProxyListenerBase getProxyListener()
{
return _proxyListener;
diff --git a/sdl_android/src/main/java/com/smartdevicelink/proxy/SystemCapabilityManager.java b/sdl_android/src/main/java/com/smartdevicelink/proxy/SystemCapabilityManager.java
new file mode 100644
index 000000000..bd0edb48b
--- /dev/null
+++ b/sdl_android/src/main/java/com/smartdevicelink/proxy/SystemCapabilityManager.java
@@ -0,0 +1,167 @@
+package com.smartdevicelink.proxy;
+
+import com.smartdevicelink.proxy.interfaces.OnSystemCapabilityListener;
+import com.smartdevicelink.proxy.rpc.GetSystemCapability;
+import com.smartdevicelink.proxy.rpc.GetSystemCapabilityResponse;
+import com.smartdevicelink.proxy.rpc.HMICapabilities;
+import com.smartdevicelink.proxy.rpc.RegisterAppInterfaceResponse;
+import com.smartdevicelink.proxy.rpc.enums.Result;
+import com.smartdevicelink.proxy.rpc.enums.SystemCapabilityType;
+import com.smartdevicelink.proxy.rpc.listeners.OnRPCResponseListener;
+import com.smartdevicelink.util.CorrelationIdGenerator;
+
+import java.security.InvalidParameterException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+
+public class SystemCapabilityManager {
+ HashMap<SystemCapabilityType, Object> cachedSystemCapabilities = new HashMap<>();
+ ISystemCapabilityManager callback;
+
+ public interface ISystemCapabilityManager{
+ void onSendPacketRequest(RPCRequest message);
+ }
+
+ public SystemCapabilityManager(ISystemCapabilityManager callback){
+ this.callback = callback;
+ }
+
+ public void parseRAIResponse(RegisterAppInterfaceResponse response){
+ if(response!=null && response.getSuccess()) {
+ cachedSystemCapabilities.put(SystemCapabilityType.HMI, response.getHmiCapabilities());
+ cachedSystemCapabilities.put(SystemCapabilityType.DISPLAY, response.getDisplayCapabilities());
+ cachedSystemCapabilities.put(SystemCapabilityType.AUDIO_PASSTHROUGH, response.getAudioPassThruCapabilities());
+ cachedSystemCapabilities.put(SystemCapabilityType.BUTTON, response.getButtonCapabilities());
+ cachedSystemCapabilities.put(SystemCapabilityType.HMI_ZONE, response.getHmiZoneCapabilities());
+ cachedSystemCapabilities.put(SystemCapabilityType.PRESET_BANK, response.getPresetBankCapabilities());
+ cachedSystemCapabilities.put(SystemCapabilityType.SOFTBUTTON, response.getSoftButtonCapabilities());
+ cachedSystemCapabilities.put(SystemCapabilityType.SPEECH, response.getSpeechCapabilities());
+ cachedSystemCapabilities.put(SystemCapabilityType.VOICE_RECOGNITION, response.getVrCapabilities());
+ }
+ }
+
+ /**
+ * Sets a capability in the cached map. This should only be done when an RPC is received and contains updates to the capability
+ * that is being cached in the SystemCapabilityManager.
+ * @param systemCapabilityType
+ * @param capability
+ */
+ public void setCapability(SystemCapabilityType systemCapabilityType, Object capability){
+ cachedSystemCapabilities.put(systemCapabilityType,capability);
+ }
+
+ /**
+ * Ability to see if the connected module supports the given capability. Useful to check before
+ * attempting to query for capabilities that require asynchronous calls to initialize.
+ * @param type the SystemCapabilityType that is to be checked
+ * @return if that capability is supported with the current, connected module
+ */
+ public boolean isCapabilitySupported(SystemCapabilityType type){
+ if(cachedSystemCapabilities.containsKey(type)){
+ return true;
+ }else if(cachedSystemCapabilities.containsKey(SystemCapabilityType.HMI)){
+ HMICapabilities hmiCapabilities = ((HMICapabilities)cachedSystemCapabilities.get(SystemCapabilityType.HMI));
+ switch (type) {
+ case NAVIGATION:
+ return hmiCapabilities.isNavigationAvailable();
+ case PHONE_CALL:
+ return hmiCapabilities.isPhoneCallAvailable();
+ case VIDEO_STREAMING:
+ return hmiCapabilities.isVideoStreamingAvailable();
+ default:
+ return false;
+ }
+ }else{
+ return false;
+ }
+ }
+ /**
+ * @param systemCapabilityType Type of capability desired
+ * @param scListener callback to execute upon retrieving capability
+ */
+ public void getCapability(final SystemCapabilityType systemCapabilityType, final OnSystemCapabilityListener scListener){
+ Object capability = cachedSystemCapabilities.get(systemCapabilityType);
+ if(capability != null){
+ scListener.onCapabilityRetrieved(capability);
+ }else if(scListener == null){
+ return;
+ }
+
+ retrieveCapability(systemCapabilityType, scListener);
+ }
+
+ /**
+ * @param systemCapabilityType Type of capability desired
+ * @return Desired capability if it is cached in the manager, otherwise returns a null object
+ * and works in the background to retrieve the capability for the next call
+ */
+ public Object getCapability(final SystemCapabilityType systemCapabilityType){
+ Object capability = cachedSystemCapabilities.get(systemCapabilityType);
+ if(capability != null){
+ return capability;
+ }
+
+ retrieveCapability(systemCapabilityType, null);
+ return null;
+ }
+
+ /**
+ * @param systemCapabilityType Type of capability desired
+ * passes GetSystemCapabilityType request to `callback` to be sent by proxy
+ */
+ private void retrieveCapability(final SystemCapabilityType systemCapabilityType, final OnSystemCapabilityListener scListener){
+ final GetSystemCapability request = new GetSystemCapability();
+ request.setSystemCapabilityType(systemCapabilityType);
+ request.setOnRPCResponseListener(new OnRPCResponseListener() {
+ @Override
+ public void onResponse(int correlationId, RPCResponse response) {
+ if(response.getSuccess()){
+ Object retrievedCapability = ((GetSystemCapabilityResponse) response).getSystemCapability().getCapabilityForType(systemCapabilityType);
+ cachedSystemCapabilities.put(systemCapabilityType, retrievedCapability);
+ if(scListener!=null){scListener.onCapabilityRetrieved(retrievedCapability); }
+ }else{
+ if(scListener!=null){scListener.onError(response.getInfo());}
+ }
+ }
+
+ @Override
+ public void onError(int correlationId, Result resultCode, String info) {
+ if(scListener!=null){scListener.onError(info);}
+ }
+ });
+ request.setCorrelationID(CorrelationIdGenerator.generateId());
+
+ if(callback!=null){
+ callback.onSendPacketRequest(request);
+ }
+ }
+
+ /**
+ * Converts a capability object into a list.
+ * @param object the capability that needs to be converted
+ * @param classType The class type of that should be contained in the list
+ * @return a List of capabilities if object is instance of List, otherwise it will return null.
+ */
+ @SuppressWarnings({"unchecked"})
+ public static <T> List<T> convertToList(Object object, Class<T> classType){
+ if(classType!=null && object!=null && object instanceof List ){
+ List list = (List)object;
+ if(!list.isEmpty()){
+ if(classType.isInstance(list.get(0))){
+ return (List<T>)object;
+ }else{
+ //The list is not of the correct list type
+ return null;
+ }
+ }else {
+ //We return a new list of type T instead of null because while we don't know if
+ //the original list was of type T we want to ensure that we don't throw a cast class exception
+ //but still
+ return new ArrayList<T>();
+ }
+ }else{
+ return null;
+ }
+ }
+}
diff --git a/sdl_android/src/main/java/com/smartdevicelink/proxy/interfaces/OnSystemCapabilityListener.java b/sdl_android/src/main/java/com/smartdevicelink/proxy/interfaces/OnSystemCapabilityListener.java
new file mode 100644
index 000000000..d6fb11b4d
--- /dev/null
+++ b/sdl_android/src/main/java/com/smartdevicelink/proxy/interfaces/OnSystemCapabilityListener.java
@@ -0,0 +1,6 @@
+package com.smartdevicelink.proxy.interfaces;
+
+public interface OnSystemCapabilityListener {
+ void onCapabilityRetrieved(Object capability);
+ void onError(String info);
+}
diff --git a/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/SystemCapability.java b/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/SystemCapability.java
index a039e266e..c7ea47ce6 100644
--- a/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/SystemCapability.java
+++ b/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/SystemCapability.java
@@ -13,6 +13,7 @@ public class SystemCapability extends RPCStruct {
public static final String KEY_SYSTEM_CAPABILITY_TYPE = "systemCapabilityType";
public static final String KEY_NAVIGATION_CAPABILITY = "navigationCapability";
public static final String KEY_PHONE_CAPABILITY = "phoneCapability";
+ public static final String KEY_VIDEO_STREAMING_CAPABILITY = "videoStreamingCapability";
public SystemCapability(){}
@@ -35,11 +36,13 @@ public class SystemCapability extends RPCStruct {
setValue(KEY_SYSTEM_CAPABILITY_TYPE, value);
}
- public RPCStruct getCapabilityForType(SystemCapabilityType type){
- if(type.equals(SystemCapabilityType.NAVIGATION)){
- return (RPCStruct) getObject(NavigationCapability.class, KEY_NAVIGATION_CAPABILITY);
- }else if(type.equals(SystemCapabilityType.PHONE_CALL)){
- return (RPCStruct) getObject(PhoneCapability.class, KEY_PHONE_CAPABILITY);
+ public RPCStruct getCapabilityForType(SystemCapabilityType type) {
+ if (type.equals(SystemCapabilityType.NAVIGATION)) {
+ return (RPCStruct) getObject(NavigationCapability.class, KEY_NAVIGATION_CAPABILITY);
+ } else if (type.equals(SystemCapabilityType.PHONE_CALL)) {
+ return (RPCStruct) getObject(PhoneCapability.class, KEY_PHONE_CAPABILITY);
+ } else if (type.equals(SystemCapabilityType.VIDEO_STREAMING)){
+ return (RPCStruct) getObject(VideoStreamingCapability.class, KEY_VIDEO_STREAMING_CAPABILITY);
}else{
return null;
}
@@ -50,8 +53,10 @@ public class SystemCapability extends RPCStruct {
setValue(KEY_NAVIGATION_CAPABILITY, capability);
}else if(type.equals(SystemCapabilityType.PHONE_CALL)){
setValue(KEY_PHONE_CAPABILITY, capability);
+ }else if(type.equals(SystemCapabilityType.VIDEO_STREAMING)){
+ setValue(KEY_VIDEO_STREAMING_CAPABILITY, capability);
}else{
- return;
+ return;
}
}
}
diff --git a/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/enums/SystemCapabilityType.java b/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/enums/SystemCapabilityType.java
index ebd7ddcf8..4ab61102d 100644
--- a/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/enums/SystemCapabilityType.java
+++ b/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/enums/SystemCapabilityType.java
@@ -1,15 +1,394 @@
package com.smartdevicelink.proxy.rpc.enums;
/**
- * The SystemCapabilityType indicates which type of capability information exists in a SystemCapability struct.
+ * <p>The SystemCapabilityType indicates which type of capability information exists in a SystemCapability struct.</p>
+ *
+ * <p><b>Enum List</b></p>
+ * <table border="1" rules="all">
+ * <tr>
+ * <th>Enum Name</th>
+ * <th>Return Type</th>
+ * <th>Description</th>
+ * <th>Requires Async?</th>
+ * <th>Notes</th>
+ * </tr>
+ * <tr>
+ * <td>NAVIGATION</td>
+ * <td>NavigationCapability</td>
+ * <td>Returns Navigation Capabilities</td>
+ * <td align=center>Y</td>
+ * <td>Call is synchronous <strong>after</strong> initial call</td>
+ * </tr>
+ * <tr>
+ * <td>PHONE_CALL</td>
+ * <td>PhoneCapability</td>
+ * <td>Returns Phone Capabilities</td>
+ * <td align=center>Y</td>
+ * <td>Call is synchronous <strong>after</strong> initial call</td>
+ * </tr>
+ * <tr>
+ * <td>VIDEO_STREAMING</td>
+ * <td>VideoStreamingCapability</td>
+ * <td>Returns Video Streaming Capabilities</td>
+ * <td align=center>Y</td>
+ * <td>Call is synchronous <strong>after</strong> initial call</td>
+ * </tr>
+ * <tr>
+ * <td>REMOTE_CONTROL</td>
+ * <td>RemoteControlCapabilities</td>
+ * <td>Returns Remote Control Capabilities</td>
+ * <td align=center>Y</td>
+ * <td>Call is synchronous <strong>after</strong> initial call</td>
+ * </tr>
+ * <tr>
+ * <td>HMI</td>
+ * <td>HMICapabilities</td>
+ * <td>Returns HMI Capabilities</td>
+ * <td align=center>N</td>
+ * <td>Available Synchronously <strong>after</strong> Register App Interface response</td>
+ * </tr>
+ * <tr>
+ * <td>DISPLAY</td>
+ * <td>DisplayCapabilities</td>
+ * <td>Returns Display Capabilities</td>
+ * <td align=center>N</td>
+ * <td>Available Synchronously <strong>after</strong> Register App Interface response</td>
+ * </tr>
+ * <tr>
+ * <td>AUDIO_PASSTHROUGH</td>
+ * <td>List<AudioPassThruCapabilities></td>
+ * <td>Returns a List of AudioPassThruCapabilities</td>
+ * <td align=center>N</td>
+ * <td>Available Synchronously <strong>after</strong> Register App Interface response. @SuppressWarnings("unchecked") may be needed when casting depending on implementation</td>
+ * </tr>
+ * <tr>
+ * <td>BUTTON</td>
+ * <td>List<ButtonCapabilities></td>
+ * <td>Returns a List of ButtonCapabilities</td>
+ * <td align=center>N</td>
+ * <td>Available Synchronously <strong>after</strong> Register App Interface response. @SuppressWarnings("unchecked") may be needed when casting depending on implementation</td>
+ * </tr>
+ * <tr>
+ * <td>HMI_ZONE</td>
+ * <td>HmiZoneCapabilities</td>
+ * <td>Returns HmiZone Capabilities</td>
+ * <td align=center>N</td>
+ * <td>Available Synchronously <strong>after</strong> Register App Interface response</td>
+ * </tr>
+ * <tr>
+ * <td>PRESET_BANK</td>
+ * <td>PresetBankCapabilities</td>
+ * <td>Returns PresetBank Capabilities</td>
+ * <td align=center>N</td>
+ * <td>Available Synchronously <strong>after</strong> Register App Interface response</td>
+ * </tr>
+ * <tr>
+ * <td>SOFTBUTTON</td>
+ * <td>List<SoftButtonCapabilities></td>
+ * <td>Returns a List of SoftButtonCapabilities</td>
+ * <td align=center>N</td>
+ * <td>Available Synchronously <strong>after</strong> Register App Interface response. @SuppressWarnings("unchecked") may be needed when casting depending on implementation</td>
+ * </tr>
+ * <tr>
+ * <td>SPEECH</td>
+ * <td>SpeechCapabilities</td>
+ * <td>Returns Speech Capabilities</td>
+ * <td align=center>N</td>
+ * <td>Available Synchronously <strong>after</strong> Register App Interface response</td>
+ * </tr>
+ * <tr>
+ * <td>VOICE_RECOGNITION</td>
+ * <td>VrCapabilities</td>
+ * <td>Returns VOICE_RECOGNITION</td>
+ * <td align=center>N</td>
+ * <td>Available Synchronously <strong>after</strong> Register App Interface response</td>
+ * </tr>
+ * </table>
+ *
*/
public enum SystemCapabilityType {
+
+ /**
+ * <strong>Requires</strong> initial asynchronous call, then available synchronously after successful call. <br>
+ * <table border="1" rules="all">
+ * <tr>
+ * <th>Enum Name</th>
+ * <th>Return Type</th>
+ * <th>Description</th>
+ * <th>Requires Async?</th>
+ * <th>Notes</th>
+ * </tr>
+ * <tr>
+ * <td>NAVIGATION</td>
+ * <td>NavigationCapability</td>
+ * <td>Returns Navigation Capabilities</td>
+ * <td align=center>Y</td>
+ * <td>Call is synchronous <strong>after</strong> initial call</td>
+ * </tr>
+ * </table>
+ */
NAVIGATION,
+ /**
+ * <strong>Requires</strong> initial asynchronous call, then available synchronously after successful call. <br>
+ * <table border="1" rules="all">
+ * <tr>
+ * <th>Enum Name</th>
+ * <th>Return Type</th>
+ * <th>Description</th>
+ * <th>Requires Async?</th>
+ * <th>Notes</th>
+ * </tr>
+ * <tr>
+ * <td>PHONE_CALL</td>
+ * <td>PhoneCapability</td>
+ * <td>Returns Phone Capabilities</td>
+ * <td align=center>Y</td>
+ * <td>Call is synchronous <strong>after</strong> initial call</td>
+ * </tr>
+ * </table>
+ */
PHONE_CALL,
- VIDEO_STREAMING;
+ /**
+ * <strong>Requires</strong> initial asynchronous call, then available synchronously after successful call. <br>
+ * <table border="1" rules="all">
+ * <tr>
+ * <th>Enum Name</th>
+ * <th>Return Type</th>
+ * <th>Description</th>
+ * <th>Requires Async?</th>
+ * <th>Notes</th>
+ * </tr>
+ * <tr>
+ * <td>VIDEO_STREAMING</td>
+ * <td>VideoStreamingCapability</td>
+ * <td>Returns Video Streaming Capabilities</td>
+ * <td align=center>Y</td>
+ * <td>Call is synchronous <strong>after</strong> initial call</td>
+ * </tr>
+ * </table>
+ */
+ VIDEO_STREAMING,
+
+ /**
+ * <strong>Requires</strong> initial asynchronous call, then available synchronously after successful call. <br>
+ * <table border="1" rules="all">
+ * <tr>
+ * <th>Enum Name</th>
+ * <th>Return Type</th>
+ * <th>Description</th>
+ * <th>Requires Async?</th>
+ * <th>Notes</th>
+ * </tr>
+ * <td>REMOTE_CONTROL</td>
+ * <td>RemoteControlCapabilities</td>
+ * <td>Returns Remote Control Capabilities</td>
+ * <td align=center>Y</td>
+ * <td>Call is synchronous <strong>after</strong> initial call</td>
+ * </tr>
+ * </table>
+ *
+ */
+ REMOTE_CONTROL,
+
+ /* These below are not part of the RPC spec. Only for Internal Proxy use */
+
+ /**
+ * Available Synchronously after Register App Interface response <br>
+ * <table border="1" rules="all">
+ * <tr>
+ * <th>Enum Name</th>
+ * <th>Return Type</th>
+ * <th>Description</th>
+ * <th>Requires Async?</th>
+ * <th>Notes</th>
+ * </tr>
+ * <tr>
+ * <td>HMI</td>
+ * <td>HMICapabilities</td>
+ * <td>Returns HMI Capabilities</td>
+ * <td align=center>N</td>
+ * <td>Available Synchronously <strong>after</strong> Register App Interface response</td>
+ * </tr>
+ * </table>
+ */
+ HMI,
+
+ /**
+ * Available Synchronously after Register App Interface response <br>
+ * Returns: DisplayCapabilities
+ * <table border="1" rules="all">
+ * <tr>
+ * <th>Enum Name</th>
+ * <th>Return Type</th>
+ * <th>Description</th>
+ * <th>Requires Async?</th>
+ * <th>Notes</th>
+ * </tr>
+ * <tr>
+ * <td>DISPLAY</td>
+ * <td>DisplayCapabilities</td>
+ * <td>Returns Display Capabilities</td>
+ * <td align=center>N</td>
+ * <td>Available Synchronously <strong>after</strong> Register App Interface response received</td>
+ * </tr>
+ * </table>
+ */
+ DISPLAY,
+
+ /**
+ * Available Synchronously after Register App Interface response <br>
+ * <b>Note:</b> @SuppressWarnings("unchecked") may be needed when casting depending on implementation
+ * <table border="1" rules="all">
+ * <tr>
+ * <th>Enum Name</th>
+ * <th>Return Type</th>
+ * <th>Description</th>
+ * <th>Requires Async?</th>
+ * <th>Notes</th>
+ * </tr>
+ * <tr>
+ * <td>AUDIO_PASSTHROUGH</td>
+ * <td>List<AudioPassThruCapabilities></td>
+ * <td>Returns a List of AudioPassThruCapabilities</td>
+ * <td align=center>N</td>
+ * <td>Available Synchronously <strong>after</strong> Register App Interface response. @SuppressWarnings("unchecked") may be needed when casting depending on implementation</td>
+ * </tr>
+ * </table>
+ */
+ AUDIO_PASSTHROUGH,
+
+ /**
+ * Available Synchronously after Register App Interface response <br>
+ * <b>Note:</b> @SuppressWarnings("unchecked") may be needed when casting depending on implementation
+ * <table border="1" rules="all">
+ * <tr>
+ * <th>Enum Name</th>
+ * <th>Return Type</th>
+ * <th>Description</th>
+ * <th>Requires Async?</th>
+ * <th>Notes</th>
+ * </tr>
+ * <tr>
+ * <td>BUTTON</td>
+ * <td>List<ButtonCapabilities></td>
+ * <td>Returns a List of ButtonCapabilities</td>
+ * <td align=center>N</td>
+ * <td>Available Synchronously <strong>after</strong> Register App Interface response. @SuppressWarnings("unchecked") may be needed when casting depending on implementation</td>
+ * </tr>
+ * </table>
+ */
+ BUTTON,
+
+ /**
+ * Available Synchronously after Register App Interface response <br>
+ * <table border="1" rules="all">
+ * <tr>
+ * <th>Enum Name</th>
+ * <th>Return Type</th>
+ * <th>Description</th>
+ * <th>Requires Async?</th>
+ * <th>Notes</th>
+ * </tr>
+ * <tr>
+ * <td>HMI_ZONE</td>
+ * <td>HmiZoneCapabilities</td>
+ * <td>Returns HmiZone Capabilities</td>
+ * <td align=center>N</td>
+ * <td>Available Synchronously <strong>after</strong> Register App Interface response</td>
+ * </tr>
+ * </table>
+ */
+ HMI_ZONE,
+
+ /**
+ * Available Synchronously after Register App Interface response <br>
+ * <table border="1" rules="all">
+ * <tr>
+ * <th>Enum Name</th>
+ * <th>Return Type</th>
+ * <th>Description</th>
+ * <th>Requires Async?</th>
+ * <th>Notes</th>
+ * </tr>
+ * <tr>
+ * <td>PRESET_BANK</td>
+ * <td>PresetBankCapabilities</td>
+ * <td>Returns PresetBank Capabilities</td>
+ * <td align=center>N</td>
+ * <td>Available Synchronously <strong>after</strong> Register App Interface response</td>
+ * </tr>
+ * </table>
+ */
+ PRESET_BANK,
+
+ /**
+ * Available Synchronously after Register App Interface response <br>
+ * Returns: List<SoftButtonCapabilities> <br>
+ * Note: @SuppressWarnings("unchecked") may be needed when casting depending on implementation
+ * <table border="1" rules="all">
+ * <tr>
+ * <th>Enum Name</th>
+ * <th>Return Type</th>
+ * <th>Description</th>
+ * <th>Requires Async?</th>
+ * <th>Notes</th>
+ * </tr>
+ * <tr>
+ * <td>SOFTBUTTON</td>
+ * <td>List<SoftButtonCapabilities></td>
+ * <td>Returns a List of SoftButtonCapabilities</td>
+ * <td align=center>N</td>
+ * <td>Available Synchronously <strong>after</strong> Register App Interface response. @SuppressWarnings("unchecked") may be needed when casting depending on implementation</td>
+ * </tr>
+ * </table>
+ */
+ SOFTBUTTON,
+
+ /**
+ * Available Synchronously after Register App Interface response <br>
+ * <table border="1" rules="all">
+ * <tr>
+ * <th>Enum Name</th>
+ * <th>Return Type</th>
+ * <th>Description</th>
+ * <th>Requires Async?</th>
+ * <th>Notes</th>
+ * </tr>
+ * <tr>
+ * <td>SPEECH</td>
+ * <td>SpeechCapabilities</td>
+ * <td>Returns Speech Capabilities</td>
+ * <td align=center>N</td>
+ * <td>Available Synchronously <strong>after</strong> Register App Interface response</td>
+ * </tr>
+ * </table>
+ */
+ SPEECH,
+ /**
+ * Available Synchronously after Register App Interface response <br>
+ * <table border="1" rules="all">
+ * <tr>
+ * <th>Enum Name</th>
+ * <th>Return Type</th>
+ * <th>Description</th>
+ * <th>Requires Async?</th>
+ * <th>Notes</th>
+ * </tr>
+ * <tr>
+ * <td>VOICE_RECOGNITION</td>
+ * <td>VrCapabilities</td>
+ * <td>Returns VOICE_RECOGNITION</td>
+ * <td align=center>N</td>
+ * <td>Available Synchronously <strong>after</strong> Register App Interface response</td>
+ * </tr>
+ * </table>
+ */
+ VOICE_RECOGNITION,
+
+ ;
public static SystemCapabilityType valueForString(String value) {
try{