diff options
author | Austin Kirk <askirk@umich.edu> | 2017-06-16 10:14:06 -0400 |
---|---|---|
committer | Austin Kirk <askirk@umich.edu> | 2017-06-16 10:14:06 -0400 |
commit | befdeacfd15827307685425b13fde0a823f3c73e (patch) | |
tree | fe011dd85595226b1769f86e7cb380b30baf7748 /sdl_android | |
parent | 9b10b22bcfd343401a297ccf5a3949d62f198e0a (diff) | |
download | sdl_android-befdeacfd15827307685425b13fde0a823f3c73e.tar.gz |
Remove Video/Audio Keys & Enums, add OnResponse Callback
Diffstat (limited to 'sdl_android')
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{ |