diff options
author | Bilal Alsharifi <bilal.alsharifi@gmail.com> | 2019-05-08 16:18:35 -0400 |
---|---|---|
committer | Bilal Alsharifi <bilal.alsharifi@gmail.com> | 2019-05-08 16:18:35 -0400 |
commit | bb57db95c036c0c472da7eb10ac2a0dd3d323951 (patch) | |
tree | 6355026f80c89c37ba4dcc946f46e7c866abb589 | |
parent | 410ec546792882f8df849b8790d062a7995cb8db (diff) | |
download | sdl_android-bb57db95c036c0c472da7eb10ac2a0dd3d323951.tar.gz |
Add transportManager NPE check in SdlProtocolBasefeature/sdl_protocol_npe
-rw-r--r-- | base/src/main/java/com/smartdevicelink/protocol/SdlProtocolBase.java | 32 |
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"); } } |