summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoey Grover <joeygrover@gmail.com>2017-09-21 16:01:00 -0400
committerJoey Grover <joeygrover@gmail.com>2017-09-21 16:01:00 -0400
commit3f5db1af4f4f049ea0c63ee72472643801343261 (patch)
tree81d52e32507c2b324225432b1e2e2d6681b4d445
parent36df1a9fa9ac8e7c0e54a5a919e7603e7f51905e (diff)
downloadsdl_android-3f5db1af4f4f049ea0c63ee72472643801343261.tar.gz
Add new static method to SCM that converts Object into List<?> and test for method
-rw-r--r--sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/SystemCapabilityManagerTests.java21
-rw-r--r--sdl_android/src/main/java/com/smartdevicelink/proxy/SystemCapabilityManager.java15
2 files changed, 34 insertions, 2 deletions
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
index c602e200a..d8c9c5055 100644
--- a/sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/SystemCapabilityManagerTests.java
+++ b/sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/SystemCapabilityManagerTests.java
@@ -25,6 +25,8 @@ 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;
@@ -39,8 +41,8 @@ public class SystemCapabilityManagerTests extends AndroidTestCase {
super.tearDown();
}
- public void testParseRAI() {
- systemCapabilityManager = new SystemCapabilityManager(new SystemCapabilityManager.ISystemCapabilityManager() {
+ public SystemCapabilityManager createSampleManager(){
+ SystemCapabilityManager systemCapabilityManager = new SystemCapabilityManager(new SystemCapabilityManager.ISystemCapabilityManager() {
@Override
public void onSendPacketRequest(RPCRequest message) {
@@ -59,6 +61,11 @@ public class SystemCapabilityManagerTests extends AndroidTestCase {
raiResponse.setSpeechCapabilities(Test.GENERAL_SPEECHCAPABILITIES_LIST);
systemCapabilityManager.parseRAIResponse(raiResponse);
+ return systemCapabilityManager;
+ }
+
+ public void testParseRAI() {
+ systemCapabilityManager = createSampleManager();
assertTrue(Test.TRUE,
Validator.validateHMICapabilities(Test.GENERAL_HMICAPABILITIES, (HMICapabilities) systemCapabilityManager.getCapability(SystemCapabilityType.HMI)));
@@ -116,5 +123,15 @@ public class SystemCapabilityManagerTests extends AndroidTestCase {
});
}
+ public void testListConversion(){
+ SystemCapabilityManager systemCapabilityManager = createSampleManager();
+ Object capability = systemCapabilityManager.getCapability(SystemCapabilityType.SOFTBUTTON);
+ assertNotNull(capability);
+ List<SoftButtonCapabilities> list = (List<SoftButtonCapabilities>)SystemCapabilityManager.convertToList(capability);
+ assertNotNull(list);
+
+
+ }
+
}
diff --git a/sdl_android/src/main/java/com/smartdevicelink/proxy/SystemCapabilityManager.java b/sdl_android/src/main/java/com/smartdevicelink/proxy/SystemCapabilityManager.java
index 6776f15cb..43abd153f 100644
--- a/sdl_android/src/main/java/com/smartdevicelink/proxy/SystemCapabilityManager.java
+++ b/sdl_android/src/main/java/com/smartdevicelink/proxy/SystemCapabilityManager.java
@@ -9,6 +9,7 @@ import com.smartdevicelink.proxy.rpc.listeners.OnRPCResponseListener;
import com.smartdevicelink.util.CorrelationIdGenerator;
import java.util.HashMap;
+import java.util.List;
public class SystemCapabilityManager {
HashMap<SystemCapabilityType, Object> cachedSystemCapabilities = new HashMap<>();
@@ -86,4 +87,18 @@ public class SystemCapabilityManager {
callback.onSendPacketRequest(request);
}
+
+ /**
+ * Converts a capability object into a list.
+ * @param object the capability that needs to be converted
+ * @return a List of capabilities if object is instance of List, otherwise it will return null.
+ */
+ @SuppressWarnings({"unchecked"})
+ public static List<?> convertToList(Object object){
+ if(object instanceof List<?>){
+ return (List<?>) object;
+ }else{
+ return null;
+ }
+ }
}