X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;ds=sidebyside;f=src%2Fcom%2Fandroid%2Fsettings%2Fbluetooth%2FBluetoothPairingController.java;h=3c343c7cff4fa26c45c0608d12918780455616b8;hb=7015e20a554fd7f8f7ded7359a5ecc13a82a0464;hp=7d2d7b48c309017e11627bddbf9137531ea4ad1c;hpb=5855abd50549770f8f0918cbaba53aa56e5f5916;p=android-x86%2Fpackages-apps-Settings.git diff --git a/src/com/android/settings/bluetooth/BluetoothPairingController.java b/src/com/android/settings/bluetooth/BluetoothPairingController.java index 7d2d7b48c3..3c343c7cff 100644 --- a/src/com/android/settings/bluetooth/BluetoothPairingController.java +++ b/src/com/android/settings/bluetooth/BluetoothPairingController.java @@ -23,12 +23,16 @@ import android.text.Editable; import android.util.Log; import android.widget.CompoundButton; import android.widget.CompoundButton.OnCheckedChangeListener; + import com.android.settings.R; import com.android.settings.bluetooth.BluetoothPairingDialogFragment.BluetoothPairingDialogListener; import com.android.settingslib.bluetooth.LocalBluetoothManager; import com.android.settingslib.bluetooth.LocalBluetoothProfile; + import java.util.Locale; +import androidx.annotation.VisibleForTesting; + /** * A controller used by {@link BluetoothPairingDialog} to manage connection state while we try to * pair with a bluetooth device. It includes methods that allow the @@ -50,13 +54,16 @@ public class BluetoothPairingController implements OnCheckedChangeListener, // Bluetooth dependencies for the connection we are trying to establish private LocalBluetoothManager mBluetoothManager; - private BluetoothDevice mDevice; - private int mType; + @VisibleForTesting + BluetoothDevice mDevice; + @VisibleForTesting + int mType; private String mUserInput; private String mPasskeyFormatted; private int mPasskey; private String mDeviceName; private LocalBluetoothProfile mPbapClientProfile; + private boolean mPbapAllowed; /** * Creates an instance of a BluetoothPairingController. @@ -81,20 +88,25 @@ public class BluetoothPairingController implements OnCheckedChangeListener, mDeviceName = mBluetoothManager.getCachedDeviceManager().getName(mDevice); mPbapClientProfile = mBluetoothManager.getProfileManager().getPbapClientProfile(); mPasskeyFormatted = formatKey(mPasskey); - } @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 (mPbapAllowed) { + mDevice.setPhonebookAccessPermission(BluetoothDevice.ACCESS_ALLOWED); + } else { + mDevice.setPhonebookAccessPermission(BluetoothDevice.ACCESS_REJECTED); + } + if (getDialogType() == USER_ENTRY_DIALOG) { onPair(mUserInput); } else { @@ -104,6 +116,7 @@ public class BluetoothPairingController implements OnCheckedChangeListener, @Override public void onDialogNegativeClick(BluetoothPairingDialogFragment dialog) { + mDevice.setPhonebookAccessPermission(BluetoothDevice.ACCESS_REJECTED); onCancel(); }