Merge "Update support tab strings." into nyc-mr1-dev
diff --git a/res/values/strings.xml b/res/values/strings.xml
index d243a73..6b5fa69 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -5998,6 +5998,9 @@
<!-- Sound: Other sounds: Value for the emergency tone option with value 2: vibrate. [CHAR LIMIT=30] -->
<string name="emergency_tone_vibrate">Vibrate</string>
+ <!-- Sound: Other sounds: Title for the option enabling boot sounds. [CHAR LIMIT=30] -->
+ <string name="boot_sounds_title">Power on sounds</string>
+
<!-- Sound: Title for the Do not Disturb option and associated settings page. [CHAR LIMIT=30] -->
<string name="zen_mode_settings_title">Do not disturb</string>
diff --git a/res/xml/other_sound_settings.xml b/res/xml/other_sound_settings.xml
index 66535e3..da67d03 100644
--- a/res/xml/other_sound_settings.xml
+++ b/res/xml/other_sound_settings.xml
@@ -55,6 +55,11 @@
android:title="@string/dock_audio_media_title"
android:summary="%s" />
+ <!-- Boot sounds -->
+ <SwitchPreference
+ android:key="boot_sounds"
+ android:title="@string/boot_sounds_title" />
+
<!-- Emergency tone -->
<DropDownPreference
android:key="emergency_tone"
diff --git a/src/com/android/settings/notification/OtherSoundSettings.java b/src/com/android/settings/notification/OtherSoundSettings.java
index 2ea6a79..c538a7b 100644
--- a/src/com/android/settings/notification/OtherSoundSettings.java
+++ b/src/com/android/settings/notification/OtherSoundSettings.java
@@ -25,10 +25,13 @@
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Handler;
+import android.os.SystemProperties;
import android.os.Vibrator;
import android.provider.SearchIndexableResource;
import android.provider.Settings.Global;
import android.provider.Settings.System;
+import android.support.v14.preference.SwitchPreference;
+import android.support.v7.preference.Preference;
import android.telephony.TelephonyManager;
import com.android.internal.logging.MetricsProto.MetricsEvent;
@@ -68,6 +71,10 @@
private static final String KEY_DOCK_AUDIO_MEDIA = "dock_audio_media";
private static final String KEY_EMERGENCY_TONE = "emergency_tone";
+ // Boot Sounds needs to be a system property so it can be accessed during boot.
+ private static final String KEY_BOOT_SOUNDS = "boot_sounds";
+ private static final String PROPERTY_BOOT_SOUNDS = "persist.sys.bootanim.play_sound";
+
private static final SettingPref PREF_DIAL_PAD_TONES = new SettingPref(
TYPE_SYSTEM, KEY_DIAL_PAD_TONES, System.DTMF_TONE_WHEN_DIALING, DEFAULT_ON) {
@Override
@@ -174,6 +181,8 @@
PREF_EMERGENCY_TONE,
};
+ private SwitchPreference mBootSounds;
+
private final SettingsObserver mSettingsObserver = new SettingsObserver();
private Context mContext;
@@ -199,6 +208,9 @@
for (SettingPref pref : PREFS) {
pref.init(this);
}
+
+ mBootSounds = (SwitchPreference) findPreference(KEY_BOOT_SOUNDS);
+ mBootSounds.setChecked(SystemProperties.getBoolean(PROPERTY_BOOT_SOUNDS, true));
}
@Override
@@ -213,6 +225,16 @@
mSettingsObserver.register(false);
}
+ @Override
+ public boolean onPreferenceTreeClick(Preference preference) {
+ if (preference == mBootSounds) {
+ SystemProperties.set(PROPERTY_BOOT_SOUNDS, mBootSounds.isChecked() ? "1" : "0");
+ return false;
+ } else {
+ return super.onPreferenceTreeClick(preference);
+ }
+ }
+
private static boolean hasDockSettings(Context context) {
return context.getResources().getBoolean(R.bool.has_dock_settings);
}