diff options
author | Amith Yamasani <yamasani@google.com> | 2009-12-02 08:40:50 -0800 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2009-12-02 08:40:50 -0800 |
commit | 1443eb9f35ee419807da96e26315df2798988f33 (patch) | |
tree | 8ddfd60fe123b216f0069959b3a5c0cf9494fe0b | |
parent | 546d78f4278d6090ed4c0b116970c363a13aae4a (diff) | |
parent | 8f2fb65b360ebc7ed71ddbc884451536e5e99c03 (diff) | |
download | packages_apps_settings-1443eb9f35ee419807da96e26315df2798988f33.zip packages_apps_settings-1443eb9f35ee419807da96e26315df2798988f33.tar.gz packages_apps_settings-1443eb9f35ee419807da96e26315df2798988f33.tar.bz2 |
am 8f2fb65b: Setting in Sound & Display for trackball pulsing on notification. Bug #2238250
Merge commit '8f2fb65b360ebc7ed71ddbc884451536e5e99c03' into eclair-plus-aosp
* commit '8f2fb65b360ebc7ed71ddbc884451536e5e99c03':
Setting in Sound & Display for trackball pulsing on notification. Bug #2238250
-rw-r--r-- | res/values/bools.xml | 21 | ||||
-rw-r--r-- | res/values/strings.xml | 4 | ||||
-rw-r--r-- | res/xml/sound_and_display_settings.xml | 10 | ||||
-rw-r--r-- | src/com/android/settings/SoundAndDisplaySettings.java | 55 |
4 files changed, 73 insertions, 17 deletions
diff --git a/res/values/bools.xml b/res/values/bools.xml new file mode 100644 index 0000000..cc816c0 --- /dev/null +++ b/res/values/bools.xml @@ -0,0 +1,21 @@ +<?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> diff --git a/res/values/strings.xml b/res/values/strings.xml index 59a7520..fc7a07e 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -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 --> diff --git a/res/xml/sound_and_display_settings.xml b/res/xml/sound_and_display_settings.xml index 8544fee..c597a0a 100644 --- a/res/xml/sound_and_display_settings.xml +++ b/res/xml/sound_and_display_settings.xml @@ -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 @@ -67,7 +67,13 @@ android:dependency="silent" 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" diff --git a/src/com/android/settings/SoundAndDisplaySettings.java b/src/com/android/settings/SoundAndDisplaySettings.java index 92297de..8c70c91 100644 --- a/src/com/android/settings/SoundAndDisplaySettings.java +++ b/src/com/android/settings/SoundAndDisplaySettings.java @@ -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; @@ -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 { @@ -55,9 +55,12 @@ 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_EMERGENCY_TONE ="emergency_tone"; - + 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; private CheckBoxPreference mPlayMediaNotificationSounds; @@ -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; @@ -102,11 +106,11 @@ public class SoundAndDisplaySettings extends PreferenceActivity implements mMountService = IMountService.Stub.asInterface(ServiceManager.getService("mount")); addPreferencesFromResource(R.xml.sound_and_display_settings); - + if (TelephonyManager.PHONE_TYPE_CDMA != activePhoneType) { // device is not CDMA, do not display CDMA emergency_tone getPreferenceScreen().removePreference(findPreference(KEY_EMERGENCY_TONE)); - } + } mSilent = (CheckBoxPreference) findPreference(KEY_SILENT); mPlayMediaNotificationSounds = (CheckBoxPreference) findPreference(KEY_PLAY_MEDIA_NOTIFICATION_SOUNDS); @@ -142,8 +146,24 @@ 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 protected void onResume() { super.onResume(); @@ -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) { @@ -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(), @@ -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(), @@ -320,8 +346,7 @@ public class SoundAndDisplaySettings extends PreferenceActivity implements Log.e(TAG, "could not persist emergency tone setting", e); } } - + return true; } - } |