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

Commit 2cb875ae authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Bluetooth: Add pairing initiator extra"

parents 757b8f25 0d31c37d
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -60,6 +60,7 @@ public class BluetoothPairingController implements OnCheckedChangeListener,
    private String mUserInput;
    private String mPasskeyFormatted;
    private int mPasskey;
    private int mInitiator;
    private String mDeviceName;
    private LocalBluetoothProfile mPbapClientProfile;
    private boolean mPbapAllowed;
@@ -84,6 +85,8 @@ public class BluetoothPairingController implements OnCheckedChangeListener,

        mType = intent.getIntExtra(BluetoothDevice.EXTRA_PAIRING_VARIANT, BluetoothDevice.ERROR);
        mPasskey = intent.getIntExtra(BluetoothDevice.EXTRA_PAIRING_KEY, BluetoothDevice.ERROR);
        mInitiator =
                intent.getIntExtra(BluetoothDevice.EXTRA_PAIRING_INITIATOR, BluetoothDevice.ERROR);
        mDeviceName = mBluetoothManager.getCachedDeviceManager().getName(mDevice);
        mPbapClientProfile = mBluetoothManager.getProfileManager().getPbapClientProfile();
        mPasskeyFormatted = formatKey(mPasskey);
@@ -177,7 +180,7 @@ public class BluetoothPairingController implements OnCheckedChangeListener,
            default:
                if (mDevice.getBluetoothClass().getDeviceClass()
                        == BluetoothClass.Device.AUDIO_VIDEO_HANDSFREE) {
                    return true;
                    return BluetoothDevice.EXTRA_PAIRING_INITIATOR_FOREGROUND == mInitiator;
                }
                return false;
        }
+4 −3
Original line number Diff line number Diff line
@@ -37,9 +37,6 @@ public final class BluetoothPairingRequest extends BroadcastReceiver {
    if (!action.equals(BluetoothDevice.ACTION_PAIRING_REQUEST)) {
      return;
    }
    // convert broadcast intent into activity intent (same action string)
    Intent pairingIntent = BluetoothPairingService.getPairingDialogIntent(context, intent);

    PowerManager powerManager =
        (PowerManager)context.getSystemService(Context.POWER_SERVICE);
    BluetoothDevice device =
@@ -51,6 +48,10 @@ public final class BluetoothPairingRequest extends BroadcastReceiver {
    if (powerManager.isInteractive() && shouldShowDialog) {
      // Since the screen is on and the BT-related activity is in the foreground,
      // just open the dialog
      // convert broadcast intent into activity intent (same action string)
      Intent pairingIntent = BluetoothPairingService.getPairingDialogIntent(context, intent,
              BluetoothDevice.EXTRA_PAIRING_INITIATOR_FOREGROUND);

      context.startActivityAsUser(pairingIntent, UserHandle.CURRENT);
    } else {
      // Put up a notification that leads to the dialog
+4 −2
Original line number Diff line number Diff line
@@ -51,7 +51,7 @@ public final class BluetoothPairingService extends Service {

    private BluetoothDevice mDevice;

    public static Intent getPairingDialogIntent(Context context, Intent intent) {
    public static Intent getPairingDialogIntent(Context context, Intent intent, int initiator) {
        BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
        int type = intent.getIntExtra(BluetoothDevice.EXTRA_PAIRING_VARIANT,
                BluetoothDevice.ERROR);
@@ -65,6 +65,7 @@ public final class BluetoothPairingService extends Service {
            int pairingKey = intent.getIntExtra(BluetoothDevice.EXTRA_PAIRING_KEY,
                    BluetoothDevice.ERROR);
            pairingIntent.putExtra(BluetoothDevice.EXTRA_PAIRING_KEY, pairingKey);
            pairingIntent.putExtra(BluetoothDevice.EXTRA_PAIRING_INITIATOR, initiator);
        }
        pairingIntent.setAction(BluetoothDevice.ACTION_PAIRING_REQUEST);
        pairingIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
@@ -124,7 +125,8 @@ public final class BluetoothPairingService extends Service {
                .setLocalOnly(true);

        PendingIntent pairIntent = PendingIntent.getActivity(this, 0,
                getPairingDialogIntent(this, intent),
                getPairingDialogIntent(this, intent,
                        BluetoothDevice.EXTRA_PAIRING_INITIATOR_BACKGROUND),
                PendingIntent.FLAG_ONE_SHOT | PendingIntent.FLAG_UPDATE_CURRENT);

        PendingIntent dismissIntent = PendingIntent.getBroadcast(this, 0,