OSDN Git Service

b/2323277 Fixed race condition where the user clicks on the dialog before dismiss...
authorMichael Chan <mchan@android.com>
Mon, 14 Dec 2009 18:42:27 +0000 (10:42 -0800)
committerMichael Chan <mchan@android.com>
Mon, 14 Dec 2009 18:42:27 +0000 (10:42 -0800)
Change-Id: Iae98c45e4c1c5d36f33d6519ee2adba515f6b9aa

src/com/android/settings/bluetooth/DockService.java

index 484ce86..8e3af9d 100644 (file)
@@ -331,7 +331,9 @@ public class DockService extends Service implements AlertDialog.OnMultiChoiceCli
     // 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 @@ public class DockService extends Service implements AlertDialog.OnMultiChoiceCli
 
     // 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);
             }