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;