From fc01d062c13218e86127ddbfa018ac9c69d68c35 Mon Sep 17 00:00:00 2001 From: Daniel Sandler Date: Tue, 2 Mar 2010 20:24:49 -0500 Subject: [PATCH] Add a checkbox to the Dock settings to control insertion/removal sound effects. The sounds are present in the build but are turned off by default (and there isn't currently a UI to turn them on). (Mentioned in http://b/2469862) Change-Id: I9ded1d67cc19204113047aeb8fc8b0123cea1427 --- res/values/strings.xml | 6 ++++++ res/xml/dock_settings.xml | 9 ++++++++- src/com/android/settings/DockSettings.java | 14 ++++++++++++++ 3 files changed, 28 insertions(+), 1 deletion(-) diff --git a/res/values/strings.xml b/res/values/strings.xml index 49231d18bf4..f06211cafc9 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -1033,6 +1033,12 @@ Dock not found The phone must be docked to configure dock audio + + Dock insertion sound + + Play sound when inserting or removing phone from dock + + Don't play sound when inserting or removing phone from dock Accounts & sync diff --git a/res/xml/dock_settings.xml b/res/xml/dock_settings.xml index 43e9fa5578d..d3d6e439998 100644 --- a/res/xml/dock_settings.xml +++ b/res/xml/dock_settings.xml @@ -26,4 +26,11 @@ android:summary="@string/dock_settings_summary" android:widgetLayout="@*android:layout/preference_dialog" /> - \ No newline at end of file + + + diff --git a/src/com/android/settings/DockSettings.java b/src/com/android/settings/DockSettings.java index fe9aeb7a8c2..795fb3c6425 100644 --- a/src/com/android/settings/DockSettings.java +++ b/src/com/android/settings/DockSettings.java @@ -24,9 +24,11 @@ import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.os.Bundle; +import android.preference.CheckBoxPreference; import android.preference.Preference; import android.preference.PreferenceActivity; import android.preference.PreferenceScreen; +import android.provider.Settings; import com.android.settings.bluetooth.DockEventReceiver; @@ -34,7 +36,9 @@ public class DockSettings extends PreferenceActivity { private static final int DIALOG_NOT_DOCKED = 1; private static final String KEY_AUDIO_SETTINGS = "dock_audio"; + private static final String KEY_DOCK_SOUNDS = "dock_sounds"; private Preference mAudioSettings; + private CheckBoxPreference mDockSounds; private Intent mDockIntent; private BroadcastReceiver mReceiver = new BroadcastReceiver() { @@ -71,10 +75,17 @@ public class DockSettings extends PreferenceActivity { } private void initDockSettings() { + ContentResolver resolver = getContentResolver(); + mAudioSettings = findPreference(KEY_AUDIO_SETTINGS); if (mAudioSettings != null) { mAudioSettings.setSummary(R.string.dock_audio_summary_none); } + + mDockSounds = (CheckBoxPreference) findPreference(KEY_DOCK_SOUNDS); + mDockSounds.setPersistent(false); + mDockSounds.setChecked(Settings.System.getInt(resolver, + Settings.System.DOCK_SOUNDS_ENABLED, 0) != 0); } private void handleDockChange(Intent intent) { @@ -118,6 +129,9 @@ public class DockSettings extends PreferenceActivity { i.setClass(this, DockEventReceiver.class); sendBroadcast(i); } + } else if (preference == mDockSounds) { + Settings.System.putInt(getContentResolver(), Settings.System.DOCK_SOUNDS_ENABLED, + mDockSounds.isChecked() ? 1 : 0); } return true;