summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAustin Kirk <askirk@umich.edu>2017-06-16 10:14:06 -0400
committerAustin Kirk <askirk@umich.edu>2017-06-16 10:14:06 -0400
commitbefdeacfd15827307685425b13fde0a823f3c73e (patch)
treefe011dd85595226b1769f86e7cb380b30baf7748
parent9b10b22bcfd343401a297ccf5a3949d62f198e0a (diff)
downloadsdl_android-befdeacfd15827307685425b13fde0a823f3c73e.tar.gz
Remove Video/Audio Keys & Enums, add OnResponse Callback
-rw-r--r--sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/SdlProxyBaseTests.java6
-rw-r--r--sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/HMICapabilitiesTests.java19
-rw-r--r--sdl_android/src/main/java/com/smartdevicelink/proxy/SdlProxyBase.java18
-rw-r--r--sdl_android/src/main/java/com/smartdevicelink/proxy/interfaces/IProxyListenerBase.java5
-rw-r--r--sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/HMICapabilities.java26
-rw-r--r--sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/SystemCapability.java22
-rw-r--r--sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/enums/SystemCapabilityType.java6
7 files changed, 46 insertions, 56 deletions
diff --git a/sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/SdlProxyBaseTests.java b/sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/SdlProxyBaseTests.java
index 8ed8a6fe7..b8b705cfe 100644
--- a/sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/SdlProxyBaseTests.java
+++ b/sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/SdlProxyBaseTests.java
@@ -28,6 +28,7 @@ import com.smartdevicelink.proxy.rpc.DialNumberResponse;
import com.smartdevicelink.proxy.rpc.EndAudioPassThruResponse;
import com.smartdevicelink.proxy.rpc.GenericResponse;
import com.smartdevicelink.proxy.rpc.GetDTCsResponse;
+import com.smartdevicelink.proxy.rpc.GetSystemCapabilityResponse;
import com.smartdevicelink.proxy.rpc.GetVehicleDataResponse;
import com.smartdevicelink.proxy.rpc.GetWayPointsResponse;
import com.smartdevicelink.proxy.rpc.ListFilesResponse;
@@ -432,6 +433,11 @@ public class SdlProxyBaseTests extends AndroidTestCase{
}
@Override
+ public void onGetSystemCapabilityResponse(GetSystemCapabilityResponse response) {
+ Log.i(TAG, "GetSystemCapability response from SDL: " + response);
+ }
+
+ @Override
public void onOnDriverDistraction(OnDriverDistraction notification) {
// Some RPCs (depending on region) cannot be sent when driver distraction is active.
}
diff --git a/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/HMICapabilitiesTests.java b/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/HMICapabilitiesTests.java
index 87c699437..cbac57020 100644
--- a/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/HMICapabilitiesTests.java
+++ b/sdl_android/src/androidTest/java/com/smartdevicelink/test/rpc/datatypes/HMICapabilitiesTests.java
@@ -9,10 +9,8 @@ import junit.framework.TestCase;
import org.json.JSONException;
import org.json.JSONObject;
-import static com.smartdevicelink.proxy.rpc.HMICapabilities.KEY_AUDIO_STREAMING;
import static com.smartdevicelink.proxy.rpc.HMICapabilities.KEY_NAVIGATION;
import static com.smartdevicelink.proxy.rpc.HMICapabilities.KEY_PHONE_CALL;
-import static com.smartdevicelink.proxy.rpc.HMICapabilities.KEY_VIDEO_STREAMING;
public class HMICapabilitiesTests extends TestCase {
private HMICapabilities msg;
@@ -23,8 +21,6 @@ public class HMICapabilitiesTests extends TestCase {
msg.setNavigationAvilable(Test.GENERAL_BOOLEAN);
msg.setPhoneCallAvilable(Test.GENERAL_BOOLEAN);
- msg.setVideoStreamingAvailable(Test.GENERAL_BOOLEAN);
- msg.setAudioStreamingAvailable(Test.GENERAL_BOOLEAN);
}
/**
@@ -34,14 +30,10 @@ public class HMICapabilitiesTests extends TestCase {
// Test Values
Boolean navAvail = msg.isNavigationAvailable();
Boolean phoneAvail = msg.isPhoneCallAvailable();
- Boolean videoAvail = msg.isVideoStreamingAvailable();
- Boolean audioAvail = msg.isAudioStreamingAvailable();
// Valid Tests
assertEquals(Test.MATCH, (Boolean) Test.GENERAL_BOOLEAN, navAvail);
assertEquals(Test.MATCH, (Boolean) Test.GENERAL_BOOLEAN, phoneAvail);
- assertEquals(Test.MATCH, (Boolean) Test.GENERAL_BOOLEAN, videoAvail);
- assertEquals(Test.MATCH, (Boolean) Test.GENERAL_BOOLEAN, audioAvail);
// Invalid/Null Tests
HMICapabilities msg = new HMICapabilities();
@@ -49,8 +41,6 @@ public class HMICapabilitiesTests extends TestCase {
assertFalse(msg.isNavigationAvailable());
assertFalse(msg.isPhoneCallAvailable());
- assertFalse(msg.isVideoStreamingAvailable());
- assertFalse(msg.isAudioStreamingAvailable());
}
public void testJson(){
@@ -59,8 +49,6 @@ public class HMICapabilitiesTests extends TestCase {
try{
reference.put(KEY_NAVIGATION, Test.GENERAL_BOOLEAN);
reference.put(HMICapabilities.KEY_PHONE_CALL, Test.GENERAL_BOOLEAN);
- reference.put(HMICapabilities.KEY_VIDEO_STREAMING, Test.GENERAL_BOOLEAN);
- reference.put(HMICapabilities.KEY_AUDIO_STREAMING, Test.GENERAL_BOOLEAN);
JSONObject underTest = msg.serializeJSON();
assertEquals(Test.MATCH, reference.length(), underTest.length());
@@ -70,13 +58,6 @@ public class HMICapabilitiesTests extends TestCase {
assertEquals(Test.MATCH, JsonUtils.readStringListFromJsonObject(reference, KEY_PHONE_CALL),
JsonUtils.readStringListFromJsonObject(underTest, KEY_PHONE_CALL));
-
- assertEquals(Test.MATCH, JsonUtils.readStringListFromJsonObject(reference, KEY_VIDEO_STREAMING),
- JsonUtils.readStringListFromJsonObject(underTest, KEY_VIDEO_STREAMING));
-
- assertEquals(Test.MATCH, JsonUtils.readStringListFromJsonObject(reference, KEY_AUDIO_STREAMING),
- JsonUtils.readStringListFromJsonObject(underTest, KEY_AUDIO_STREAMING));
-
} catch(JSONException e){
fail(Test.JSON_FAIL);
}
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 59a44a27b..08a3fba58 100644
--- a/sdl_android/src/main/java/com/smartdevicelink/proxy/SdlProxyBase.java
+++ b/sdl_android/src/main/java/com/smartdevicelink/proxy/SdlProxyBase.java
@@ -2831,8 +2831,22 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
_proxyListener.onUpdateTurnListResponse(msg);
onRPCResponseReceived(msg);
}
- }
- else {
+ } else if (functionName.equals(FunctionID.GET_SYSTEM_CAPABILITY.toString())) {
+ // GetSystemCapabilityResponse
+ final GetSystemCapabilityResponse msg = new GetSystemCapabilityResponse(hash);
+ if (_callbackToUIThread) {
+ _mainUIHandler.post(new Runnable() {
+ @Override
+ public void run() {
+ _proxyListener.onGetSystemCapabilityResponse(msg);
+ onRPCResponseReceived(msg);
+ }
+ });
+ } else {
+ _proxyListener.onGetSystemCapabilityResponse(msg);
+ onRPCResponseReceived(msg);
+ }
+ } else {
if (_sdlMsgVersion != null) {
DebugTool.logError("Unrecognized response Message: " + functionName.toString() +
"SDL Message Version = " + _sdlMsgVersion);
diff --git a/sdl_android/src/main/java/com/smartdevicelink/proxy/interfaces/IProxyListenerBase.java b/sdl_android/src/main/java/com/smartdevicelink/proxy/interfaces/IProxyListenerBase.java
index 8b437e05e..62ddbc1e0 100644
--- a/sdl_android/src/main/java/com/smartdevicelink/proxy/interfaces/IProxyListenerBase.java
+++ b/sdl_android/src/main/java/com/smartdevicelink/proxy/interfaces/IProxyListenerBase.java
@@ -17,6 +17,7 @@ import com.smartdevicelink.proxy.rpc.DialNumberResponse;
import com.smartdevicelink.proxy.rpc.EndAudioPassThruResponse;
import com.smartdevicelink.proxy.rpc.GenericResponse;
import com.smartdevicelink.proxy.rpc.GetDTCsResponse;
+import com.smartdevicelink.proxy.rpc.GetSystemCapabilityResponse;
import com.smartdevicelink.proxy.rpc.GetVehicleDataResponse;
import com.smartdevicelink.proxy.rpc.GetWayPointsResponse;
import com.smartdevicelink.proxy.rpc.ListFilesResponse;
@@ -31,9 +32,9 @@ import com.smartdevicelink.proxy.rpc.OnKeyboardInput;
import com.smartdevicelink.proxy.rpc.OnLanguageChange;
import com.smartdevicelink.proxy.rpc.OnLockScreenStatus;
import com.smartdevicelink.proxy.rpc.OnPermissionsChange;
+import com.smartdevicelink.proxy.rpc.OnStreamRPC;
import com.smartdevicelink.proxy.rpc.OnSystemRequest;
import com.smartdevicelink.proxy.rpc.OnTBTClientState;
-import com.smartdevicelink.proxy.rpc.OnStreamRPC;
import com.smartdevicelink.proxy.rpc.OnTouchEvent;
import com.smartdevicelink.proxy.rpc.OnVehicleData;
import com.smartdevicelink.proxy.rpc.OnWayPointChange;
@@ -335,4 +336,6 @@ public interface IProxyListenerBase {
public void onUnsubscribeWayPointsResponse(UnsubscribeWayPointsResponse response);
public void onOnWayPointChange(OnWayPointChange notification);
+
+ public void onGetSystemCapabilityResponse(GetSystemCapabilityResponse response);
}
diff --git a/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/HMICapabilities.java b/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/HMICapabilities.java
index 266b3672b..7a1a37a1e 100644
--- a/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/HMICapabilities.java
+++ b/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/HMICapabilities.java
@@ -7,8 +7,6 @@ import java.util.Hashtable;
public class HMICapabilities extends RPCStruct{
public static final String KEY_NAVIGATION = "navigation";
public static final String KEY_PHONE_CALL = "phoneCall";
- public static final String KEY_VIDEO_STREAMING = "videoStreaming";
- public static final String KEY_AUDIO_STREAMING = "audioStreaming";
public HMICapabilities() { }
@@ -40,28 +38,4 @@ public class HMICapabilities extends RPCStruct{
setValue(KEY_PHONE_CALL, available);
}
- public boolean isVideoStreamingAvailable(){
- Object available = getValue(KEY_VIDEO_STREAMING);
- if(available == null){
- return false;
- }
- return (Boolean)available;
- }
-
- public void setVideoStreamingAvailable(Boolean available){
- setValue(KEY_VIDEO_STREAMING, available);
- }
-
- public boolean isAudioStreamingAvailable(){
- Object available = getValue(KEY_AUDIO_STREAMING);
- if(available == null){
- return false;
- }
- return (Boolean)available;
- }
-
- public void setAudioStreamingAvailable(Boolean available){
- setValue(KEY_AUDIO_STREAMING, available);
- }
-
}
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 d60d72445..97cb787c9 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,8 +13,6 @@ 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 static final String KEY_AUDIO_STREAMING_CAPABILITY = "audioStreamingCapability";
public SystemCapability(){}
@@ -37,5 +35,23 @@ public class SystemCapability extends RPCStruct {
setValue(KEY_SYSTEM_CAPABILITY_TYPE, value);
}
- // TODO: Implement individual capability methods
+ public Object getCapabilityForType(SystemCapabilityType type){
+ if(type.equals(SystemCapabilityType.NAVIGATION)){
+ return getObject(Object.class, KEY_NAVIGATION_CAPABILITY);
+ }else if(type.equals(SystemCapabilityType.PHONE_CALL)){
+ return getObject(Object.class, KEY_PHONE_CAPABILITY);
+ }else{
+ return null;
+ }
+ }
+
+ public void setCapabilityForType(SystemCapabilityType type, Object capability){
+ if(type.equals(SystemCapabilityType.NAVIGATION)){
+ setValue(KEY_NAVIGATION_CAPABILITY, (Object) capability);
+ }else if(type.equals(SystemCapabilityType.PHONE_CALL)){
+ setValue(KEY_PHONE_CAPABILITY, (Object) capability);
+ }else{
+ 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 54bd1f932..5e3b6e676 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
@@ -7,11 +7,7 @@ package com.smartdevicelink.proxy.rpc.enums;
public enum SystemCapabilityType {
NAVIGATION,
- PHONE_CALL,
-
- VIDEO_STREAMING,
-
- AUDIO_STREAMING;
+ PHONE_CALL;
public static SystemCapabilityType valueForString(String value) {
try{