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){