Fix the logic error on PBAP permission assignment
-add test case
Bug: 114808220
Test: make -j42 RunSettingsRoboTests
Change-Id: Id77ade12c28e31a21c1c7a5dcb28906112d3465b
diff --git a/src/com/android/settings/bluetooth/BluetoothPairingController.java b/src/com/android/settings/bluetooth/BluetoothPairingController.java
index c39f1d9..94bdfe8 100644
--- a/src/com/android/settings/bluetooth/BluetoothPairingController.java
+++ b/src/com/android/settings/bluetooth/BluetoothPairingController.java
@@ -54,8 +54,7 @@
// Bluetooth dependencies for the connection we are trying to establish
private LocalBluetoothManager mBluetoothManager;
- @VisibleForTesting
- BluetoothDevice mDevice;
+ private BluetoothDevice mDevice;
@VisibleForTesting
int mType;
private String mUserInput;
@@ -189,16 +188,16 @@
*
*/
public void setContactSharingState() {
- if ((mDevice.getPhonebookAccessPermission() != BluetoothDevice.ACCESS_ALLOWED)
- && (mDevice.getPhonebookAccessPermission() != BluetoothDevice.ACCESS_REJECTED)) {
- if (mDevice.getBluetoothClass().getDeviceClass()
- == BluetoothClass.Device.AUDIO_VIDEO_HANDSFREE) {
- onCheckedChanged(null, true);
- } else {
- onCheckedChanged(null, false);
- }
- }
- }
+ final int permission = mDevice.getPhonebookAccessPermission();
+ if (permission == BluetoothDevice.ACCESS_ALLOWED
+ || (permission == BluetoothDevice.ACCESS_UNKNOWN && mDevice.getBluetoothClass().
+ getDeviceClass() == BluetoothClass.Device.AUDIO_VIDEO_HANDSFREE)) {
+ onCheckedChanged(null, true);
+ } else {
+ onCheckedChanged(null, false);
+ }
+
+ }
/**
* A method for querying if the provided editable is a valid passkey/pin format for this device.