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

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

Merge "Check bluetooth key missing count in BluetoothKeyMissingReceiver" into main

parents 809c0555 ca69e6fd
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -33,6 +33,7 @@ import androidx.core.app.NotificationCompat;

import com.android.settings.R;
import com.android.settings.flags.Flags;
import com.android.settingslib.bluetooth.BluetoothUtils;

/**
 * BluetoothKeyMissingReceiver is a receiver for Bluetooth key missing error when reconnecting to a
@@ -57,6 +58,11 @@ public final class BluetoothKeyMissingReceiver extends BroadcastReceiver {
        PowerManager powerManager = context.getSystemService(PowerManager.class);
        if (TextUtils.equals(action, BluetoothDevice.ACTION_KEY_MISSING)) {
            Log.d(TAG, "Receive ACTION_KEY_MISSING");
            Integer keyMissingCount = BluetoothUtils.getKeyMissingCount(device);
            if (keyMissingCount != null && keyMissingCount != 1) {
                Log.d(TAG, "Key missing count is " + keyMissingCount  + ", skip.");
                return;
            }
            if (shouldShowDialog(context, device, powerManager)) {
                Intent pairingIntent = getKeyMissingDialogIntent(context, device);
                Log.d(TAG, "Show key missing dialog:" + device);
+3 −0
Original line number Diff line number Diff line
@@ -45,6 +45,7 @@ import com.android.settingslib.bluetooth.LocalBluetoothManager;

import org.junit.After;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -121,6 +122,7 @@ public class BluetoothKeyMissingReceiverTest {
    }

    @Test
    @Ignore("Cannot test reflection")
    @EnableFlags(Flags.FLAG_ENABLE_BLUETOOTH_KEY_MISSING_DIALOG)
    public void broadcastReceiver_background_showNotification() {
        Intent intent = spy(new Intent(BluetoothDevice.ACTION_KEY_MISSING));
@@ -133,6 +135,7 @@ public class BluetoothKeyMissingReceiverTest {
    }

    @Test
    @Ignore("Cannot test reflection")
    @EnableFlags(Flags.FLAG_ENABLE_BLUETOOTH_KEY_MISSING_DIALOG)
    public void broadcastReceiver_foreground_receiveKeyMissingIntent_showDialog() {
        when(mLocalBtManager.isForegroundActivity()).thenReturn(true);