summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoey Grover <joeygrover@gmail.com>2018-03-23 13:36:44 -0400
committerGitHub <noreply@github.com>2018-03-23 13:36:44 -0400
commit59faf9c44b1d80bd2ed98898769579ec2b20182b (patch)
treed047d9a265ff570dcb10dd56e3a4ecc86c1fc402
parent7651556d557926cf7314066ed6986ee9a367df8c (diff)
parent6d51ca96fa9a049c69c1ce59bff72a639341b072 (diff)
downloadsdl_android-59faf9c44b1d80bd2ed98898769579ec2b20182b.tar.gz
Merge pull request #720 from smartdevicelink/bugfix/speechCapabilities
added list check to speechcapabilities
-rw-r--r--sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/RegisterAppInterfaceResponse.java14
1 files changed, 12 insertions, 2 deletions
diff --git a/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/RegisterAppInterfaceResponse.java b/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/RegisterAppInterfaceResponse.java
index 1c7a23933..c01041338 100644
--- a/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/RegisterAppInterfaceResponse.java
+++ b/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/RegisterAppInterfaceResponse.java
@@ -9,6 +9,7 @@ import com.smartdevicelink.proxy.rpc.enums.PrerecordedSpeech;
import com.smartdevicelink.proxy.rpc.enums.SpeechCapabilities;
import com.smartdevicelink.proxy.rpc.enums.VrCapabilities;
+import java.util.ArrayList;
import java.util.Hashtable;
import java.util.List;
@@ -229,7 +230,16 @@ public class RegisterAppInterfaceResponse extends RPCResponse {
*/
@SuppressWarnings("unchecked")
public List<SpeechCapabilities> getSpeechCapabilities() {
- return (List<SpeechCapabilities>) getObject(SpeechCapabilities.class, KEY_SPEECH_CAPABILITIES);
+ Object speechCapabilities = getObject(SpeechCapabilities.class, KEY_SPEECH_CAPABILITIES);
+ if (speechCapabilities instanceof List<?>) {
+ return (List<SpeechCapabilities>) speechCapabilities;
+ } else if (speechCapabilities instanceof SpeechCapabilities) {
+ // this is a known issue observed with some core implementations
+ List<SpeechCapabilities> newSpeechCapList = new ArrayList<>();
+ newSpeechCapList.add((SpeechCapabilities) speechCapabilities);
+ return newSpeechCapList;
+ }
+ return null;
}
/**
* Sets speechCapabilities
@@ -355,5 +365,5 @@ public class RegisterAppInterfaceResponse extends RPCResponse {
public String getSystemSoftwareVersion() {
return getString(KEY_SYSTEM_SOFTWARE_VERSION);
- }
+ }
}