b/2323277 Fixed race condition where the user clicks on the dialog before dismiss() is processed.
Change-Id: Iae98c45e4c1c5d36f33d6519ee2adba515f6b9aa
diff --git a/src/com/android/settings/bluetooth/DockService.java b/src/com/android/settings/bluetooth/DockService.java
index 484ce86..8e3af9d 100644
--- a/src/com/android/settings/bluetooth/DockService.java
+++ b/src/com/android/settings/bluetooth/DockService.java
@@ -331,7 +331,9 @@
// Called when the "Remember" Checkbox is clicked
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (DEBUG) Log.d(TAG, "onCheckedChanged: Remember Settings = " + isChecked);
- mBtManager.saveDockAutoConnectSetting(mDevice.getAddress(), isChecked);
+ if (mDevice != null) {
+ mBtManager.saveDockAutoConnectSetting(mDevice.getAddress(), isChecked);
+ }
}
// Called when the dialog is dismissed
@@ -346,7 +348,7 @@
// Called when clicked on the OK button
public void onClick(DialogInterface dialog, int which) {
- if (which == DialogInterface.BUTTON_POSITIVE) {
+ if (which == DialogInterface.BUTTON_POSITIVE && mDevice != null) {
if (!mBtManager.hasDockAutoConnectSetting(mDevice.getAddress())) {
mBtManager.saveDockAutoConnectSetting(mDevice.getAddress(), true);
}