diff options
author | Joey Grover <joeygrover@gmail.com> | 2018-03-23 13:36:44 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-03-23 13:36:44 -0400 |
commit | 59faf9c44b1d80bd2ed98898769579ec2b20182b (patch) | |
tree | d047d9a265ff570dcb10dd56e3a4ecc86c1fc402 | |
parent | 7651556d557926cf7314066ed6986ee9a367df8c (diff) | |
parent | 6d51ca96fa9a049c69c1ce59bff72a639341b072 (diff) | |
download | sdl_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.java | 14 |
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);
- }
+ }
}
|