Skip to content

Commit 08737a9

Browse files
authored
Move legacy mode modifications to single points (#1704)
1 parent 889058f commit 08737a9

1 file changed

Lines changed: 21 additions & 15 deletions

File tree

android/sdl_android/src/main/java/com/smartdevicelink/transport/TransportManager.java

Lines changed: 21 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -119,8 +119,7 @@ public void close(long sessionId) {
119119
transport.removeSession(sessionId);
120120
transport.stop();
121121
} else if (legacyBluetoothTransport != null) {
122-
legacyBluetoothTransport.stop();
123-
legacyBluetoothTransport = null;
122+
exitLegacyMode(null);
124123
}
125124
}
126125

@@ -426,25 +425,32 @@ public void run() {
426425
}
427426
}
428427

428+
/**
429+
* A synchronized method to exit out of legacy mode
430+
* @param info if this is null, the transport listener callback will not be called
431+
*/
429432
@Override
430433
synchronized void exitLegacyMode(String info) {
431-
TransportRecord legacyTransportRecord = null;
432-
if (legacyBluetoothTransport != null) {
433-
legacyTransportRecord = legacyBluetoothTransport.getTransportRecord();
434+
if (legacyBluetoothTransport != null) { //If this is null, there is no reason to proceed
435+
TransportRecord legacyTransportRecord = legacyBluetoothTransport.getTransportRecord();
434436
legacyBluetoothTransport.stop();
435437
legacyBluetoothTransport = null;
436-
}
437-
legacyBluetoothHandler = null;
438-
synchronized (TRANSPORT_STATUS_LOCK) {
439-
TransportManager.this.transportStatus.clear();
440-
}
441-
if (contextWeakReference != null) {
442-
try {
443-
contextWeakReference.get().unregisterReceiver(legacyDisconnectReceiver);
444-
} catch (Exception e) {
438+
439+
legacyBluetoothHandler = null;
440+
synchronized (TRANSPORT_STATUS_LOCK) {
441+
TransportManager.this.transportStatus.clear();
442+
}
443+
if (contextWeakReference != null) {
444+
try {
445+
contextWeakReference.get().unregisterReceiver(legacyDisconnectReceiver);
446+
} catch (Exception e) {
447+
DebugTool.logError(TAG, "Error attempting to unregister legacy mode receiver", e);
448+
}
449+
}
450+
if (transportListener != null && info != null) {
451+
transportListener.onTransportDisconnected(info, legacyTransportRecord, null);
445452
}
446453
}
447-
transportListener.onTransportDisconnected(info, legacyTransportRecord, null);
448454
}
449455

450456

0 commit comments

Comments
 (0)