diff options
Diffstat (limited to 'src/com/android/settings')
-rw-r--r-- | src/com/android/settings/bluetooth/DockService.java | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/com/android/settings/bluetooth/DockService.java b/src/com/android/settings/bluetooth/DockService.java index 47d4076..e817e78 100644 --- a/src/com/android/settings/bluetooth/DockService.java +++ b/src/com/android/settings/bluetooth/DockService.java @@ -719,9 +719,12 @@ public class DockService extends Service implements AlertDialog.OnMultiChoiceCli // Checked but not connected callConnect = true; } else if (!mCheckedItems[i]) { - // Unchecked but connected - if (DEBUG) Log.d(TAG, "applyBtSettings - Disconnecting"); - cachedDevice.disconnect(mProfiles[i]); + // Unchecked, may or may not be connected. + int status = profileManager.getConnectionStatus(cachedDevice.getDevice()); + if (SettingsBtStatus.isConnectionStatusConnected(status)) { + if (DEBUG) Log.d(TAG, "applyBtSettings - Disconnecting"); + cachedDevice.disconnect(mProfiles[i]); + } } profileManager.setPreferred(device, mCheckedItems[i]); if (DEBUG) { |