diff options
author | Bilal Alsharifi <bilal.alsharifi@gmail.com> | 2019-05-02 11:29:31 -0400 |
---|---|---|
committer | Bilal Alsharifi <bilal.alsharifi@gmail.com> | 2019-05-02 11:29:31 -0400 |
commit | 410ec546792882f8df849b8790d062a7995cb8db (patch) | |
tree | 617974c9bc5322b93002865d2958659426546551 | |
parent | 209c17ebb40a0b552fcc40b084e2f5422f52bf6a (diff) | |
download | sdl_android-410ec546792882f8df849b8790d062a7995cb8db.tar.gz |
Fix potential NPEs in SdlProtocolBase
-rw-r--r-- | base/src/main/java/com/smartdevicelink/protocol/SdlProtocolBase.java | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/base/src/main/java/com/smartdevicelink/protocol/SdlProtocolBase.java b/base/src/main/java/com/smartdevicelink/protocol/SdlProtocolBase.java index bc91452c6..f886dbd16 100644 --- a/base/src/main/java/com/smartdevicelink/protocol/SdlProtocolBase.java +++ b/base/src/main/java/com/smartdevicelink/protocol/SdlProtocolBase.java @@ -444,7 +444,7 @@ public class SdlProtocolBase { if (supportedSecondaryTransports != null) { for (TransportType supportedSecondary : supportedSecondaryTransports) { if(!onlyHighBandwidth || supportedSecondary == TransportType.USB || supportedSecondary == TransportType.TCP) { - if (transportManager.isConnected(supportedSecondary, null)) { + if (transportManager != null && transportManager.isConnected(supportedSecondary, null)) { //A supported secondary transport is already connected return true; } else if (secondaryTransportParams != null && secondaryTransportParams.containsKey(supportedSecondary)) { @@ -1132,7 +1132,9 @@ public class SdlProtocolBase { TransportRecord transportRecord = getTransportForSession(SessionType.RPC); if(transportRecord == null && !requestedSession){ //There is currently no transport registered requestedSession = true; - transportManager.requestNewSession(getPreferredTransport(requestedPrimaryTransports,connectedTransports)); + if (transportManager != null) { + transportManager.requestNewSession(getPreferredTransport(requestedPrimaryTransports, connectedTransports)); + } } onTransportsConnectedUpdate(connectedTransports); if(DebugTool.isDebugEnabled()){ @@ -1144,7 +1146,9 @@ public class SdlProtocolBase { public void onTransportDisconnected(String info, TransportRecord disconnectedTransport, List<TransportRecord> connectedTransports) { if (disconnectedTransport == null) { Log.d(TAG, "onTransportDisconnected"); - transportManager.close(iSdlProtocol.getSessionId()); + if (transportManager != null) { + transportManager.close(iSdlProtocol.getSessionId()); + } iSdlProtocol.shutdown("No transports left connected"); return; } else { @@ -1180,7 +1184,9 @@ public class SdlProtocolBase { } } connectedPrimaryTransport = null; - transportManager.close(iSdlProtocol.getSessionId()); + if (transportManager != null) { + transportManager.close(iSdlProtocol.getSessionId()); + } transportManager = null; requestedSession = false; |