Give PBAP permission only after user confirms

Bug: 72872376
Test: manual
Change-Id: I9617e3c10bf19e22f9a8f172332a83bbbebaf4a4
diff --git a/src/com/android/settings/bluetooth/BluetoothPairingController.java b/src/com/android/settings/bluetooth/BluetoothPairingController.java
index 7d2d7b4..5120cc0 100644
--- a/src/com/android/settings/bluetooth/BluetoothPairingController.java
+++ b/src/com/android/settings/bluetooth/BluetoothPairingController.java
@@ -57,6 +57,7 @@
     private int mPasskey;
     private String mDeviceName;
     private LocalBluetoothProfile mPbapClientProfile;
+    private boolean mPbapAllowed;
 
     /**
      * Creates an instance of a BluetoothPairingController.
@@ -87,15 +88,20 @@
     @Override
     public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
         if (isChecked) {
-            mDevice.setPhonebookAccessPermission(BluetoothDevice.ACCESS_ALLOWED);
+            mPbapAllowed = true;
         } else {
-            mDevice.setPhonebookAccessPermission(BluetoothDevice.ACCESS_REJECTED);
+            mPbapAllowed = false;
         }
     }
 
     @Override
     public void onDialogPositiveClick(BluetoothPairingDialogFragment dialog) {
         if (getDialogType() == USER_ENTRY_DIALOG) {
+            if (mPbapAllowed) {
+                mDevice.setPhonebookAccessPermission(BluetoothDevice.ACCESS_ALLOWED);
+            } else {
+                mDevice.setPhonebookAccessPermission(BluetoothDevice.ACCESS_REJECTED);
+            }
             onPair(mUserInput);
         } else {
             onPair(null);
@@ -104,6 +110,7 @@
 
     @Override
     public void onDialogNegativeClick(BluetoothPairingDialogFragment dialog) {
+        mDevice.setPhonebookAccessPermission(BluetoothDevice.ACCESS_REJECTED);
         onCancel();
     }