summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBilal Alsharifi <bilal.alsharifi@gmail.com>2019-05-02 11:29:31 -0400
committerBilal Alsharifi <bilal.alsharifi@gmail.com>2019-05-02 11:29:31 -0400
commit410ec546792882f8df849b8790d062a7995cb8db (patch)
tree617974c9bc5322b93002865d2958659426546551
parent209c17ebb40a0b552fcc40b084e2f5422f52bf6a (diff)
downloadsdl_android-410ec546792882f8df849b8790d062a7995cb8db.tar.gz
Fix potential NPEs in SdlProtocolBase
-rw-r--r--base/src/main/java/com/smartdevicelink/protocol/SdlProtocolBase.java14
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;