PBAP Pairing Permission

Remove the always there checkbox for phonebook permission when pairing
from a device that supports the client side of PBAP rather than the
server side.  A device should not support both PBAP PSE and PCE.

Bug: 25933871
Change-Id: I9535bbb9d5fcdfeaa13a2fec3461f47bb5518e28
diff --git a/src/com/android/settings/bluetooth/BluetoothPairingDialog.java b/src/com/android/settings/bluetooth/BluetoothPairingDialog.java
index 182344c..48ca5a9 100755
--- a/src/com/android/settings/bluetooth/BluetoothPairingDialog.java
+++ b/src/com/android/settings/bluetooth/BluetoothPairingDialog.java
@@ -18,6 +18,7 @@
 
 import android.bluetooth.BluetoothClass;
 import android.bluetooth.BluetoothDevice;
+import android.bluetooth.BluetoothUuid;
 import android.content.BroadcastReceiver;
 import android.content.Context;
 import android.content.DialogInterface;
@@ -43,6 +44,7 @@
 import com.android.settings.R;
 import com.android.settingslib.bluetooth.CachedBluetoothDeviceManager;
 import com.android.settingslib.bluetooth.LocalBluetoothManager;
+import com.android.settingslib.bluetooth.LocalBluetoothProfile;
 
 import java.util.Locale;
 
@@ -64,6 +66,8 @@
     private String mPairingKey;
     private EditText mPairingView;
     private Button mOkButton;
+    private LocalBluetoothProfile mPbapClientProfile;
+
 
     /**
      * Dismiss the dialog if the bond state changes to bonded or none,
@@ -109,6 +113,7 @@
             return;
         }
         mCachedDeviceManager = mBluetoothManager.getCachedDeviceManager();
+        mPbapClientProfile = mBluetoothManager.getProfileManager().getPbapClientProfile();
 
         mDevice = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
         mType = intent.getIntExtra(BluetoothDevice.EXTRA_PAIRING_VARIANT, BluetoothDevice.ERROR);
@@ -188,6 +193,9 @@
                 R.id.phonebook_sharing_message_entry_pin);
         contactSharing.setText(getString(R.string.bluetooth_pairing_shares_phonebook,
                 mCachedDeviceManager.getName(mDevice)));
+        if (mPbapClientProfile != null && mPbapClientProfile.isProfileReady()) {
+            contactSharing.setVisibility(View.GONE);
+        }
         if (mDevice.getPhonebookAccessPermission() == BluetoothDevice.ACCESS_ALLOWED) {
             contactSharing.setChecked(true);
         } else if (mDevice.getPhonebookAccessPermission() == BluetoothDevice.ACCESS_REJECTED){
@@ -261,6 +269,9 @@
                 R.id.phonebook_sharing_message_confirm_pin);
         contactSharing.setText(getString(R.string.bluetooth_pairing_shares_phonebook,
                 mCachedDeviceManager.getName(mDevice)));
+        if (mPbapClientProfile != null && mPbapClientProfile.isProfileReady()) {
+            contactSharing.setVisibility(View.GONE);
+        }
         if (mDevice.getPhonebookAccessPermission() == BluetoothDevice.ACCESS_ALLOWED) {
             contactSharing.setChecked(true);
         } else if (mDevice.getPhonebookAccessPermission() == BluetoothDevice.ACCESS_REJECTED){