summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoey Grover <joeygrover@gmail.com>2018-10-17 11:09:28 -0400
committerJoey Grover <joeygrover@gmail.com>2018-10-17 11:09:28 -0400
commit1767363782e56b4ca8c6096eb36a1743b8917631 (patch)
treeb75c2e7b4b6fa4bc112934513fb4259c119c1885
parent2390977267c2943430bf89b89462f404c39fd844 (diff)
parentedd399a4c75ca827b1c209f672af2c136292a8da (diff)
downloadsdl_android-1767363782e56b4ca8c6096eb36a1743b8917631.tar.gz
Merge branch 'bugfix/possible_npe' of https://github.com/XevoInc/sdl_android into release/4.7.0-rc1
-rw-r--r--sdl_android/src/main/java/com/smartdevicelink/protocol/SdlProtocol.java6
-rw-r--r--sdl_android/src/main/java/com/smartdevicelink/proxy/RPCStruct.java6
-rw-r--r--sdl_android/src/main/java/com/smartdevicelink/proxy/SdlProxyBase.java10
-rw-r--r--sdl_android/src/main/java/com/smartdevicelink/util/SdlAppInfo.java4
4 files changed, 18 insertions, 8 deletions
diff --git a/sdl_android/src/main/java/com/smartdevicelink/protocol/SdlProtocol.java b/sdl_android/src/main/java/com/smartdevicelink/protocol/SdlProtocol.java
index 4ca01ac5b..e3ef707f7 100644
--- a/sdl_android/src/main/java/com/smartdevicelink/protocol/SdlProtocol.java
+++ b/sdl_android/src/main/java/com/smartdevicelink/protocol/SdlProtocol.java
@@ -1139,18 +1139,18 @@ public class SdlProtocol {
//In the future we will actually compare the record but at this point we can assume only
//a single transport record per transport.
//TransportType type = disconnectedTransport.getType();
- if(disconnectedTransport.equals(getTransportForSession(SessionType.NAV))){
+ if(getTransportForSession(SessionType.NAV) != null && disconnectedTransport.equals(getTransportForSession(SessionType.NAV))){
//stopVideoStream();
iSdlProtocol.stopStream(SessionType.NAV);
activeTransports.remove(SessionType.NAV);
}
- if(disconnectedTransport.equals(getTransportForSession(SessionType.PCM))){
+ if(getTransportForSession(SessionType.PCM) != null && disconnectedTransport.equals(getTransportForSession(SessionType.PCM))){
//stopAudioStream();
iSdlProtocol.stopStream(SessionType.PCM);
activeTransports.remove(SessionType.PCM);
}
- if(disconnectedTransport.equals(getTransportForSession(SessionType.RPC))){
+ if(getTransportForSession(SessionType.RPC) != null && disconnectedTransport.equals(getTransportForSession(SessionType.RPC))){
//transportTypes.remove(type);
boolean primaryTransportAvailable = false;
if(requestedPrimaryTransports != null && requestedPrimaryTransports.size() > 1){
diff --git a/sdl_android/src/main/java/com/smartdevicelink/proxy/RPCStruct.java b/sdl_android/src/main/java/com/smartdevicelink/proxy/RPCStruct.java
index 2d9ab77d7..f23fac781 100644
--- a/sdl_android/src/main/java/com/smartdevicelink/proxy/RPCStruct.java
+++ b/sdl_android/src/main/java/com/smartdevicelink/proxy/RPCStruct.java
@@ -103,8 +103,10 @@ public class RPCStruct {
parameters = store;
}
- for(Object value:parameters.values()){
- internalFormat(rpcVersion, value);
+ if (parameters != null) {
+ for(Object value:parameters.values()){
+ internalFormat(rpcVersion, value);
+ }
}
}
}
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 e0674724f..c4ef3293c 100644
--- a/sdl_android/src/main/java/com/smartdevicelink/proxy/SdlProxyBase.java
+++ b/sdl_android/src/main/java/com/smartdevicelink/proxy/SdlProxyBase.java
@@ -7493,7 +7493,15 @@ public abstract class SdlProxyBase<proxyListenerType extends IProxyListenerBase>
ImageResolution resolution = null;
if(protocolVersion!= null && protocolVersion.getMajor()>=5){ //At this point we should already have the capability
VideoStreamingCapability capability = (VideoStreamingCapability)_systemCapabilityManager.getCapability(SystemCapabilityType.VIDEO_STREAMING);
- resolution = capability.getPreferredResolution();
+ if (capability != null) {
+ resolution = capability.getPreferredResolution();
+ } else {
+ // Try fallback; though it may not be needed.
+ DisplayCapabilities dispCap = (DisplayCapabilities) _systemCapabilityManager.getCapability(SystemCapabilityType.DISPLAY);
+ if (dispCap != null) {
+ resolution = (dispCap.getScreenParams().getImageResolution());
+ }
+ }
}else {
DisplayCapabilities dispCap = (DisplayCapabilities) _systemCapabilityManager.getCapability(SystemCapabilityType.DISPLAY);
if (dispCap != null) {
diff --git a/sdl_android/src/main/java/com/smartdevicelink/util/SdlAppInfo.java b/sdl_android/src/main/java/com/smartdevicelink/util/SdlAppInfo.java
index cee0650e3..dba80d1c9 100644
--- a/sdl_android/src/main/java/com/smartdevicelink/util/SdlAppInfo.java
+++ b/sdl_android/src/main/java/com/smartdevicelink/util/SdlAppInfo.java
@@ -69,11 +69,11 @@ public class SdlAppInfo {
Bundle metadata = resolveInfo.serviceInfo.metaData;
- if(metadata.containsKey(SDL_ROUTER_VERSION_METADATA)){
+ if(metadata != null && metadata.containsKey(SDL_ROUTER_VERSION_METADATA)){
this.routerServiceVersion = metadata.getInt(SDL_ROUTER_VERSION_METADATA);
}
- if(metadata.containsKey(SDL_CUSTOM_ROUTER_METADATA)){
+ if(metadata != null && metadata.containsKey(SDL_CUSTOM_ROUTER_METADATA)){
this.isCustomRouterService = metadata.getBoolean(SDL_CUSTOM_ROUTER_METADATA);
}
}