summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBilal Alsharifi <bilal.alsharifi@gmail.com>2019-05-08 16:18:35 -0400
committerBilal Alsharifi <bilal.alsharifi@gmail.com>2019-05-08 16:18:35 -0400
commitbb57db95c036c0c472da7eb10ac2a0dd3d323951 (patch)
tree6355026f80c89c37ba4dcc946f46e7c866abb589
parent410ec546792882f8df849b8790d062a7995cb8db (diff)
downloadsdl_android-bb57db95c036c0c472da7eb10ac2a0dd3d323951.tar.gz
Add transportManager NPE check in SdlProtocolBasefeature/sdl_protocol_npe
-rw-r--r--base/src/main/java/com/smartdevicelink/protocol/SdlProtocolBase.java32
1 files changed, 18 insertions, 14 deletions
diff --git a/base/src/main/java/com/smartdevicelink/protocol/SdlProtocolBase.java b/base/src/main/java/com/smartdevicelink/protocol/SdlProtocolBase.java
index f886dbd16..929e2873a 100644
--- a/base/src/main/java/com/smartdevicelink/protocol/SdlProtocolBase.java
+++ b/base/src/main/java/com/smartdevicelink/protocol/SdlProtocolBase.java
@@ -779,20 +779,24 @@ public class SdlProtocolBase {
}
};
- if(transportManager.isConnected(secondaryTransportType,null)){
- //The transport is actually connected, however no service has been registered
- listenerList.add(secondaryListener);
- registerSecondaryTransport(sessionID,transportManager.getTransportRecord(secondaryTransportType,null));
- }else if(secondaryTransportParams != null && secondaryTransportParams.containsKey(secondaryTransportType)) {
- //No acceptable secondary transport is connected, so first one must be connected
- header.setTransportRecord(new TransportRecord(secondaryTransportType,""));
- listenerList.add(secondaryListener);
- transportManager.requestSecondaryTransportConnection(sessionID,secondaryTransportParams.get(secondaryTransportType));
- }else{
- Log.w(TAG, "No params to connect to secondary transport");
- //Unable to register or start a secondary connection. Use the callback in case
- //there is a chance to use the primary transport for this service.
- secondaryListener.onConnectionFailure();
+ if (transportManager != null) {
+ if (transportManager.isConnected(secondaryTransportType, null)) {
+ //The transport is actually connected, however no service has been registered
+ listenerList.add(secondaryListener);
+ registerSecondaryTransport(sessionID, transportManager.getTransportRecord(secondaryTransportType, null));
+ } else if (secondaryTransportParams != null && secondaryTransportParams.containsKey(secondaryTransportType)) {
+ //No acceptable secondary transport is connected, so first one must be connected
+ header.setTransportRecord(new TransportRecord(secondaryTransportType, ""));
+ listenerList.add(secondaryListener);
+ transportManager.requestSecondaryTransportConnection(sessionID, secondaryTransportParams.get(secondaryTransportType));
+ } else {
+ Log.w(TAG, "No params to connect to secondary transport");
+ //Unable to register or start a secondary connection. Use the callback in case
+ //there is a chance to use the primary transport for this service.
+ secondaryListener.onConnectionFailure();
+ }
+ } else {
+ Log.e(TAG, "transportManager is null");
}
}