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 Original line Diff line number Diff line
@@ -55,9 +55,18 @@ public final class BluetoothKeyMissingReceiver extends BroadcastReceiver {
        }
        }


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


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