Loading res/values/bools.xml 0 → 100644 +21 −0 Original line number Diff line number Diff line <?xml version="1.0" encoding="utf-8"?> <!-- Copyright (C) 2009 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> <resources> <!-- Whether or not there is a notification led that is too intrusive to be pulsing constantly --> <bool name="has_intrusive_led">false</bool> </resources> res/values/strings.xml +4 −0 Original line number Diff line number Diff line Loading @@ -877,6 +877,10 @@ <string name="notification_sound_title">Notification ringtone</string> <!-- Sound settings screen, setting option summary text --> <string name="notification_sound_summary">Set your default notification ringtone</string> <!-- Sound settings screen, notification light repeat pulsing title --> <string name="notification_pulse_title">Pulse notification light</string> <!-- Sound settings screen, notification light repeat pulsing summary --> <string name="notification_pulse_summary">Pulse trackball light repeatedly for new notifications</string> <!-- Sound settings screen, the title of the volume bar to adjust the incoming call volume --> <string name="incoming_call_volume_title">Incoming call volume</string> <!-- Sound settings screen, the title of the volume bar to adjust the notification volume --> Loading res/xml/sound_and_display_settings.xml +8 −2 Original line number Diff line number Diff line Loading @@ -17,7 +17,7 @@ <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" xmlns:settings="http://schemas.android.com/apk/res/com.android.settings"> <PreferenceCategory <PreferenceCategory android:key="sound_settings" android:title="@string/sound_settings"> <CheckBoxPreference Loading Loading @@ -68,6 +68,12 @@ android:persistent="false" android:ringtoneType="notification" /> <CheckBoxPreference android:key="notification_pulse" android:title="@string/notification_pulse_title" android:summary="@string/notification_pulse_summary" android:persistent="false" /> <CheckBoxPreference android:key="dtmf_tone" android:title="@string/dtmf_tone_enable_title" Loading src/com/android/settings/SoundAndDisplaySettings.java +40 −15 Original line number Diff line number Diff line Loading @@ -17,8 +17,6 @@ package com.android.settings; import static android.provider.Settings.System.SCREEN_OFF_TIMEOUT; import static android.provider.Settings.System.COMPATIBILITY_MODE; import android.content.BroadcastReceiver; import android.content.ContentResolver; import android.content.Context; Loading @@ -29,15 +27,17 @@ import android.os.Bundle; import android.os.IMountService; import android.os.RemoteException; import android.os.ServiceManager; import android.preference.CheckBoxPreference; import android.preference.ListPreference; import android.preference.Preference; import android.preference.PreferenceActivity; import android.preference.PreferenceGroup; import android.preference.PreferenceScreen; import android.preference.CheckBoxPreference; import android.provider.Settings; import android.provider.Settings.SettingNotFoundException; import android.telephony.TelephonyManager; import android.util.Log; import android.view.IWindowManager; import android.telephony.TelephonyManager; public class SoundAndDisplaySettings extends PreferenceActivity implements Preference.OnPreferenceChangeListener { Loading @@ -55,8 +55,11 @@ public class SoundAndDisplaySettings extends PreferenceActivity implements private static final String KEY_HAPTIC_FEEDBACK = "haptic_feedback"; private static final String KEY_ANIMATIONS = "animations"; private static final String KEY_ACCELEROMETER = "accelerometer"; private static final String KEY_PLAY_MEDIA_NOTIFICATION_SOUNDS = "play_media_notification_sounds"; private static final String KEY_PLAY_MEDIA_NOTIFICATION_SOUNDS = "play_media_notification_sounds"; private static final String KEY_EMERGENCY_TONE = "emergency_tone"; private static final String KEY_SOUND_SETTINGS = "sound_settings"; private static final String KEY_NOTIFICATION_PULSE = "notification_pulse"; private CheckBoxPreference mSilent; Loading @@ -77,6 +80,7 @@ public class SoundAndDisplaySettings extends PreferenceActivity implements private CheckBoxPreference mHapticFeedback; private ListPreference mAnimations; private CheckBoxPreference mAccelerometer; private CheckBoxPreference mNotificationPulse; private float[] mAnimationScales; private AudioManager mAudioManager; Loading Loading @@ -142,6 +146,22 @@ public class SoundAndDisplaySettings extends PreferenceActivity implements resolver, Settings.System.EMERGENCY_TONE, FALLBACK_EMERGENCY_TONE_VALUE))); emergencyTonePreference.setOnPreferenceChangeListener(this); } PreferenceGroup soundSettings = (PreferenceGroup) findPreference(KEY_SOUND_SETTINGS); mNotificationPulse = (CheckBoxPreference) soundSettings.findPreference(KEY_NOTIFICATION_PULSE); if (mNotificationPulse != null && soundSettings != null && getResources().getBoolean(R.bool.has_intrusive_led) == false) { soundSettings.removePreference(mNotificationPulse); } else { try { mNotificationPulse.setChecked(Settings.System.getInt(resolver, Settings.System.NOTIFICATION_LIGHT_PULSE) == 1); mNotificationPulse.setOnPreferenceChangeListener(this); } catch (SettingNotFoundException snfe) { Log.e(TAG, Settings.System.NOTIFICATION_LIGHT_PULSE + " not found"); } } } @Override Loading Loading @@ -279,12 +299,18 @@ public class SoundAndDisplaySettings extends PreferenceActivity implements Settings.System.putInt(getContentResolver(), Settings.System.ACCELEROMETER_ROTATION, mAccelerometer.isChecked() ? 1 : 0); } else if (preference == mNotificationPulse) { boolean value = mNotificationPulse.isChecked(); Settings.System.putInt(getContentResolver(), Settings.System.NOTIFICATION_LIGHT_PULSE, value ? 1 : 0); } return true; } public boolean onPreferenceChange(Preference preference, Object objValue) { if (KEY_ANIMATIONS.equals(preference.getKey())) { final String key = preference.getKey(); if (KEY_ANIMATIONS.equals(key)) { try { int value = Integer.parseInt((String) objValue); if (mAnimationScales.length >= 1) { Loading @@ -303,7 +329,7 @@ public class SoundAndDisplaySettings extends PreferenceActivity implements } } if (KEY_SCREEN_TIMEOUT.equals(preference.getKey())) { if (KEY_SCREEN_TIMEOUT.equals(key)) { int value = Integer.parseInt((String) objValue); try { Settings.System.putInt(getContentResolver(), Loading @@ -311,7 +337,7 @@ public class SoundAndDisplaySettings extends PreferenceActivity implements } catch (NumberFormatException e) { Log.e(TAG, "could not persist screen timeout setting", e); } } else if (KEY_EMERGENCY_TONE.equals(preference.getKey())) { } else if (KEY_EMERGENCY_TONE.equals(key)) { int value = Integer.parseInt((String) objValue); try { Settings.System.putInt(getContentResolver(), Loading @@ -323,5 +349,4 @@ public class SoundAndDisplaySettings extends PreferenceActivity implements return true; } } Loading
res/values/bools.xml 0 → 100644 +21 −0 Original line number Diff line number Diff line <?xml version="1.0" encoding="utf-8"?> <!-- Copyright (C) 2009 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> <resources> <!-- Whether or not there is a notification led that is too intrusive to be pulsing constantly --> <bool name="has_intrusive_led">false</bool> </resources>
res/values/strings.xml +4 −0 Original line number Diff line number Diff line Loading @@ -877,6 +877,10 @@ <string name="notification_sound_title">Notification ringtone</string> <!-- Sound settings screen, setting option summary text --> <string name="notification_sound_summary">Set your default notification ringtone</string> <!-- Sound settings screen, notification light repeat pulsing title --> <string name="notification_pulse_title">Pulse notification light</string> <!-- Sound settings screen, notification light repeat pulsing summary --> <string name="notification_pulse_summary">Pulse trackball light repeatedly for new notifications</string> <!-- Sound settings screen, the title of the volume bar to adjust the incoming call volume --> <string name="incoming_call_volume_title">Incoming call volume</string> <!-- Sound settings screen, the title of the volume bar to adjust the notification volume --> Loading
res/xml/sound_and_display_settings.xml +8 −2 Original line number Diff line number Diff line Loading @@ -17,7 +17,7 @@ <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" xmlns:settings="http://schemas.android.com/apk/res/com.android.settings"> <PreferenceCategory <PreferenceCategory android:key="sound_settings" android:title="@string/sound_settings"> <CheckBoxPreference Loading Loading @@ -68,6 +68,12 @@ android:persistent="false" android:ringtoneType="notification" /> <CheckBoxPreference android:key="notification_pulse" android:title="@string/notification_pulse_title" android:summary="@string/notification_pulse_summary" android:persistent="false" /> <CheckBoxPreference android:key="dtmf_tone" android:title="@string/dtmf_tone_enable_title" Loading
src/com/android/settings/SoundAndDisplaySettings.java +40 −15 Original line number Diff line number Diff line Loading @@ -17,8 +17,6 @@ package com.android.settings; import static android.provider.Settings.System.SCREEN_OFF_TIMEOUT; import static android.provider.Settings.System.COMPATIBILITY_MODE; import android.content.BroadcastReceiver; import android.content.ContentResolver; import android.content.Context; Loading @@ -29,15 +27,17 @@ import android.os.Bundle; import android.os.IMountService; import android.os.RemoteException; import android.os.ServiceManager; import android.preference.CheckBoxPreference; import android.preference.ListPreference; import android.preference.Preference; import android.preference.PreferenceActivity; import android.preference.PreferenceGroup; import android.preference.PreferenceScreen; import android.preference.CheckBoxPreference; import android.provider.Settings; import android.provider.Settings.SettingNotFoundException; import android.telephony.TelephonyManager; import android.util.Log; import android.view.IWindowManager; import android.telephony.TelephonyManager; public class SoundAndDisplaySettings extends PreferenceActivity implements Preference.OnPreferenceChangeListener { Loading @@ -55,8 +55,11 @@ public class SoundAndDisplaySettings extends PreferenceActivity implements private static final String KEY_HAPTIC_FEEDBACK = "haptic_feedback"; private static final String KEY_ANIMATIONS = "animations"; private static final String KEY_ACCELEROMETER = "accelerometer"; private static final String KEY_PLAY_MEDIA_NOTIFICATION_SOUNDS = "play_media_notification_sounds"; private static final String KEY_PLAY_MEDIA_NOTIFICATION_SOUNDS = "play_media_notification_sounds"; private static final String KEY_EMERGENCY_TONE = "emergency_tone"; private static final String KEY_SOUND_SETTINGS = "sound_settings"; private static final String KEY_NOTIFICATION_PULSE = "notification_pulse"; private CheckBoxPreference mSilent; Loading @@ -77,6 +80,7 @@ public class SoundAndDisplaySettings extends PreferenceActivity implements private CheckBoxPreference mHapticFeedback; private ListPreference mAnimations; private CheckBoxPreference mAccelerometer; private CheckBoxPreference mNotificationPulse; private float[] mAnimationScales; private AudioManager mAudioManager; Loading Loading @@ -142,6 +146,22 @@ public class SoundAndDisplaySettings extends PreferenceActivity implements resolver, Settings.System.EMERGENCY_TONE, FALLBACK_EMERGENCY_TONE_VALUE))); emergencyTonePreference.setOnPreferenceChangeListener(this); } PreferenceGroup soundSettings = (PreferenceGroup) findPreference(KEY_SOUND_SETTINGS); mNotificationPulse = (CheckBoxPreference) soundSettings.findPreference(KEY_NOTIFICATION_PULSE); if (mNotificationPulse != null && soundSettings != null && getResources().getBoolean(R.bool.has_intrusive_led) == false) { soundSettings.removePreference(mNotificationPulse); } else { try { mNotificationPulse.setChecked(Settings.System.getInt(resolver, Settings.System.NOTIFICATION_LIGHT_PULSE) == 1); mNotificationPulse.setOnPreferenceChangeListener(this); } catch (SettingNotFoundException snfe) { Log.e(TAG, Settings.System.NOTIFICATION_LIGHT_PULSE + " not found"); } } } @Override Loading Loading @@ -279,12 +299,18 @@ public class SoundAndDisplaySettings extends PreferenceActivity implements Settings.System.putInt(getContentResolver(), Settings.System.ACCELEROMETER_ROTATION, mAccelerometer.isChecked() ? 1 : 0); } else if (preference == mNotificationPulse) { boolean value = mNotificationPulse.isChecked(); Settings.System.putInt(getContentResolver(), Settings.System.NOTIFICATION_LIGHT_PULSE, value ? 1 : 0); } return true; } public boolean onPreferenceChange(Preference preference, Object objValue) { if (KEY_ANIMATIONS.equals(preference.getKey())) { final String key = preference.getKey(); if (KEY_ANIMATIONS.equals(key)) { try { int value = Integer.parseInt((String) objValue); if (mAnimationScales.length >= 1) { Loading @@ -303,7 +329,7 @@ public class SoundAndDisplaySettings extends PreferenceActivity implements } } if (KEY_SCREEN_TIMEOUT.equals(preference.getKey())) { if (KEY_SCREEN_TIMEOUT.equals(key)) { int value = Integer.parseInt((String) objValue); try { Settings.System.putInt(getContentResolver(), Loading @@ -311,7 +337,7 @@ public class SoundAndDisplaySettings extends PreferenceActivity implements } catch (NumberFormatException e) { Log.e(TAG, "could not persist screen timeout setting", e); } } else if (KEY_EMERGENCY_TONE.equals(preference.getKey())) { } else if (KEY_EMERGENCY_TONE.equals(key)) { int value = Integer.parseInt((String) objValue); try { Settings.System.putInt(getContentResolver(), Loading @@ -323,5 +349,4 @@ public class SoundAndDisplaySettings extends PreferenceActivity implements return true; } }