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

Commit 1ac71efd authored by Haijie Hong's avatar Haijie Hong Committed by Android (Google) Code Review
Browse files

Merge "Check bond state when bluetooth key is missing" into main

parents f01555e2 fc10fdf3
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -55,9 +55,18 @@ public final class BluetoothKeyMissingReceiver extends BroadcastReceiver {
        }

        BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
        if (device == null) {
            return;
        }
        PowerManager powerManager = context.getSystemService(PowerManager.class);
        if (TextUtils.equals(action, BluetoothDevice.ACTION_KEY_MISSING)) {
            Log.d(TAG, "Receive ACTION_KEY_MISSING");
            if (device.getBondState() == BluetoothDevice.BOND_NONE) {
                Log.d(
                        TAG,
                        "Device " + device.getAnonymizedAddress() + " is already unbonded, skip.");
                return;
            }
            Integer keyMissingCount = BluetoothUtils.getKeyMissingCount(device);
            if (keyMissingCount != null && keyMissingCount != 1) {
                Log.d(TAG, "Key missing count is " + keyMissingCount  + ", skip.");
+2 −0
Original line number Diff line number Diff line
@@ -127,6 +127,7 @@ public class BluetoothKeyMissingReceiverTest {
    public void broadcastReceiver_background_showNotification() {
        Intent intent = spy(new Intent(BluetoothDevice.ACTION_KEY_MISSING));
        when(intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE)).thenReturn(mBluetoothDevice);
        when(mBluetoothDevice.getBondState()).thenReturn(BluetoothDevice.BOND_BONDED);
        BluetoothKeyMissingReceiver bluetoothKeyMissingReceiver = getReceiver(intent);
        bluetoothKeyMissingReceiver.onReceive(mContext, intent);

@@ -141,6 +142,7 @@ public class BluetoothKeyMissingReceiverTest {
        when(mLocalBtManager.isForegroundActivity()).thenReturn(true);
        Intent intent = spy(new Intent(BluetoothDevice.ACTION_KEY_MISSING));
        when(intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE)).thenReturn(mBluetoothDevice);
        when(mBluetoothDevice.getBondState()).thenReturn(BluetoothDevice.BOND_BONDED);
        BluetoothKeyMissingReceiver bluetoothKeyMissingReceiver = getReceiver(intent);
        bluetoothKeyMissingReceiver.onReceive(mContext, intent);