diff options
author | Eric Laurent <elaurent@google.com> | 2012-11-12 14:29:17 -0800 |
---|---|---|
committer | Eric Laurent <elaurent@google.com> | 2012-11-12 14:29:17 -0800 |
commit | 9f4afb076256aa563646ae3e10cc3945a8812905 (patch) | |
tree | afd11c7a59d8401baedd078a214054e420fb6eac /src/com | |
parent | 4f1a09320321cc758df1d33358e6353d3614bdb0 (diff) | |
download | packages_apps_settings-9f4afb076256aa563646ae3e10cc3945a8812905.zip packages_apps_settings-9f4afb076256aa563646ae3e10cc3945a8812905.tar.gz packages_apps_settings-9f4afb076256aa563646ae3e10cc3945a8812905.tar.bz2 |
fix dock audio enable dialog
The dock audio enable setting is not saved if the user
dismisses the dialog without checking or unchecking the check box.
The dialog is then displayed each time the device is docked until the
user checks/unchecks the dialog or goes to sound settings to enable
or disable dock audio.
Bug 7518165.
Change-Id: Ifbc6179e78b64b5b7577ac750acf9846525e47c5
Diffstat (limited to 'src/com')
-rw-r--r-- | src/com/android/settings/bluetooth/DockService.java | 37 |
1 files changed, 23 insertions, 14 deletions
diff --git a/src/com/android/settings/bluetooth/DockService.java b/src/com/android/settings/bluetooth/DockService.java index ab0e7c7..c9a18a3 100644 --- a/src/com/android/settings/bluetooth/DockService.java +++ b/src/com/android/settings/bluetooth/DockService.java @@ -120,6 +120,8 @@ public final class DockService extends Service implements ServiceListener { private int mPendingTurnOnStartId = INVALID_STARTID; private int mPendingTurnOffStartId = INVALID_STARTID; + private CheckBox mAudioMediaCheckbox; + @Override public void onCreate() { if (DEBUG) Log.d(TAG, "onCreate"); @@ -499,6 +501,8 @@ public final class DockService extends Service implements ServiceListener { View view; LayoutInflater inflater = (LayoutInflater)getSystemService(LAYOUT_INFLATER_SERVICE); + mAudioMediaCheckbox = null; + if (device != null) { // Device in a new dock. boolean firstTime = @@ -528,14 +532,14 @@ public final class DockService extends Service implements ServiceListener { ab.setTitle(getString(R.string.bluetooth_dock_settings_title)); view = inflater.inflate(R.layout.dock_audio_media_enable_dialog, null); - CheckBox audioMediaCheckbox = + mAudioMediaCheckbox = (CheckBox) view.findViewById(R.id.dock_audio_media_enable_cb); boolean checked = Settings.Global.getInt(getContentResolver(), Settings.Global.DOCK_AUDIO_MEDIA_ENABLED, 0) == 1; - audioMediaCheckbox.setChecked(checked); - audioMediaCheckbox.setOnCheckedChangeListener(mCheckedChangeListener); + mAudioMediaCheckbox.setChecked(checked); + mAudioMediaCheckbox.setOnCheckedChangeListener(mCheckedChangeListener); } float pixelScaleFactor = getResources().getDisplayMetrics().density; @@ -601,19 +605,24 @@ public final class DockService extends Service implements ServiceListener { private final DialogInterface.OnClickListener mClickListener = new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { - if (which == DialogInterface.BUTTON_POSITIVE - && mDevice != null) { - if (!LocalBluetoothPreferences - .hasDockAutoConnectSetting( - DockService.this, - mDevice.getAddress())) { - LocalBluetoothPreferences - .saveDockAutoConnectSetting( + if (which == DialogInterface.BUTTON_POSITIVE) { + if (mDevice != null) { + if (!LocalBluetoothPreferences + .hasDockAutoConnectSetting( DockService.this, - mDevice.getAddress(), true); + mDevice.getAddress())) { + LocalBluetoothPreferences + .saveDockAutoConnectSetting( + DockService.this, + mDevice.getAddress(), true); + } + + applyBtSettings(mDevice, mStartIdAssociatedWithDialog); + } else if (mAudioMediaCheckbox != null) { + Settings.Global.putInt(getContentResolver(), + Settings.Global.DOCK_AUDIO_MEDIA_ENABLED, + mAudioMediaCheckbox.isChecked() ? 1 : 0); } - - applyBtSettings(mDevice, mStartIdAssociatedWithDialog); } } }; |