Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9d6d0842 authored by Michal Belusiak's avatar Michal Belusiak Committed by Gerrit Code Review
Browse files

Merge "ActiveDeviceManagerTest: Dispatch tasks before verify" into main

parents 01f11534 a186a3f1
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -160,6 +160,9 @@ public class ActiveDeviceManager implements AdapterService.BluetoothStateCallbac
    private BluetoothDevice mClassicDeviceToBeActivated = null;
    private BluetoothDevice mClassicDeviceNotToBeActivated = null;

    // Timeout for state machine thread join, to prevent potential ANR.
    private static final int SM_THREAD_JOIN_TIMEOUT_MS = 1000;

    @Override
    public void onBluetoothStateChange(int prevState, int newState) {
        mHandler.post(() -> handleAdapterStateChanged(newState));
@@ -849,7 +852,12 @@ public class ActiveDeviceManager implements AdapterService.BluetoothStateCallbac
        mAudioManager.unregisterAudioDeviceCallback(mAudioManagerAudioDeviceCallback);
        mAdapterService.unregisterBluetoothStateCallback(this);
        if (mHandlerThread != null) {
            mHandlerThread.quit();
            mHandlerThread.quitSafely();
            try {
                mHandlerThread.join(SM_THREAD_JOIN_TIMEOUT_MS);
            } catch (InterruptedException e) {
                // Do not rethrow as we are shutting down anyway
            }
            mHandlerThread = null;
        }
        resetState();