@@ -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