Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Fix altTransport timer issues preventing RS close
  • Loading branch information
joeygrover committed Mar 23, 2022
commit 06f3cd8e3f0db0d09438600de53ca4c363e6cbb1
Original file line number Diff line number Diff line change
Expand Up @@ -1758,7 +1758,7 @@ public boolean shouldServiceRemainOpen(Intent intent) {

} else if (intent != null && TransportConstants.BIND_REQUEST_TYPE_ALT_TRANSPORT.equals(intent.getAction())) {
DebugTool.logInfo(TAG, "Received start intent with alt transport request.");
startAltTransportTimer();
startAltTransportTimer(); //This timer is started to allow the router service to stay open while it waits for the USB transfer to take place
return true;
} else if (!bluetoothAvailable()) {//If bluetooth isn't on...there's nothing to see here
//Bluetooth is off, we should shut down
Expand Down Expand Up @@ -1980,6 +1980,12 @@ public void onTransportDisconnected(TransportRecord record) {
usbSessionMap.clear();
}
}
//In case the USB connection has ended before the timer expired, we should stop it
if(altTransportTimerHandler != null && altTransportTimerRunnable != null) {
altTransportTimerHandler.removeCallbacks(altTransportTimerRunnable);
altTransportTimerHandler = null;
altTransportTimerRunnable = null;
}
break;
case TCP:
if (tcpTransport != null) {
Expand Down Expand Up @@ -2631,6 +2637,11 @@ private void startAltTransportTimer() {
if (Looper.myLooper() == null) {
Looper.prepare();
}

if(altTransportTimerHandler != null && altTransportTimerRunnable != null) {
altTransportTimerHandler.removeCallbacks(altTransportTimerRunnable);
}

altTransportTimerHandler = new Handler(Looper.myLooper());
altTransportTimerRunnable = new Runnable() {
public void run() {
Expand Down