diff options
author | Ricardo Cerqueira <cyanogenmod@cerqueira.org> | 2012-11-21 00:37:15 +0000 |
---|---|---|
committer | Ricardo Cerqueira <cyanogenmod@cerqueira.org> | 2012-11-21 10:41:10 +0000 |
commit | 28413bb813a4b621f6575b85ef04ce7636490f92 (patch) | |
tree | a61fec5d83d7a1b9e6dacadf722b1fc458ac9a2d /src/com/android/settings/DisplaySettings.java | |
parent | 9f3e97cc06a145bd7bc8c8af15972eb813009329 (diff) | |
download | packages_apps_settings-28413bb813a4b621f6575b85ef04ce7636490f92.zip packages_apps_settings-28413bb813a4b621f6575b85ef04ce7636490f92.tar.gz packages_apps_settings-28413bb813a4b621f6575b85ef04ce7636490f92.tar.bz2 |
Add LED configuration support from mr0/10.0
Change-Id: I36cee9cc813bd0fc62c30c6e10c61bcd9a131bf6
Diffstat (limited to 'src/com/android/settings/DisplaySettings.java')
-rw-r--r-- | src/com/android/settings/DisplaySettings.java | 56 |
1 files changed, 38 insertions, 18 deletions
diff --git a/src/com/android/settings/DisplaySettings.java b/src/com/android/settings/DisplaySettings.java index fb839a7..633d2bb 100644 --- a/src/com/android/settings/DisplaySettings.java +++ b/src/com/android/settings/DisplaySettings.java @@ -61,6 +61,7 @@ public class DisplaySettings extends SettingsPreferenceFragment implements private static final String KEY_NOTIFICATION_PULSE = "notification_pulse"; private static final String KEY_SCREEN_SAVER = "screensaver"; private static final String KEY_WIFI_DISPLAY = "wifi_display"; + private static final String KEY_BATTERY_LIGHT = "battery_light"; private static final int DLG_GLOBAL_CHANGE_WARNING = 1; @@ -68,7 +69,8 @@ public class DisplaySettings extends SettingsPreferenceFragment implements private CheckBoxPreference mAccelerometer; private WarnedListPreference mFontSizePref; - private CheckBoxPreference mNotificationPulse; + private PreferenceScreen mNotificationPulse; + private PreferenceScreen mBatteryPulse; private final Configuration mCurConfig = new Configuration(); @@ -119,21 +121,26 @@ public class DisplaySettings extends SettingsPreferenceFragment implements mFontSizePref = (WarnedListPreference) findPreference(KEY_FONT_SIZE); mFontSizePref.setOnPreferenceChangeListener(this); mFontSizePref.setOnPreferenceClickListener(this); - mNotificationPulse = (CheckBoxPreference) findPreference(KEY_NOTIFICATION_PULSE); - if (mNotificationPulse != null - && getResources().getBoolean( - com.android.internal.R.bool.config_intrusiveNotificationLed) == false) { - getPreferenceScreen().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"); + mNotificationPulse = (PreferenceScreen) findPreference(KEY_NOTIFICATION_PULSE); + if (mNotificationPulse != null) { + if (!getResources().getBoolean(com.android.internal.R.bool.config_intrusiveNotificationLed)) { + getPreferenceScreen().removePreference(mNotificationPulse); + } else { + updateLightPulseDescription(); + } + } + + mBatteryPulse = (PreferenceScreen) findPreference(KEY_BATTERY_LIGHT); + if (mBatteryPulse != null) { + if (getResources().getBoolean( + com.android.internal.R.bool.config_intrusiveBatteryLed) == false) { + getPreferenceScreen().removePreference(mBatteryPulse); + } else { + updateBatteryPulseDescription(); } } + mDisplayManager = (DisplayManager)getActivity().getSystemService( Context.DISPLAY_SERVICE); mWifiDisplayStatus = mDisplayManager.getWifiDisplayStatus(); @@ -207,6 +214,24 @@ public class DisplaySettings extends SettingsPreferenceFragment implements screenTimeoutPreference.setEnabled(revisedEntries.size() > 0); } + private void updateLightPulseDescription() { + if (Settings.System.getInt(getActivity().getContentResolver(), + Settings.System.NOTIFICATION_LIGHT_PULSE, 0) == 1) { + mNotificationPulse.setSummary(getString(R.string.notification_light_enabled)); + } else { + mNotificationPulse.setSummary(getString(R.string.notification_light_disabled)); + } + } + + private void updateBatteryPulseDescription() { + if (Settings.System.getInt(getActivity().getContentResolver(), + Settings.System.BATTERY_LIGHT_ENABLED, 1) == 1) { + mBatteryPulse.setSummary(getString(R.string.notification_light_enabled)); + } else { + mBatteryPulse.setSummary(getString(R.string.notification_light_disabled)); + } + } + int floatToIndex(float val) { String[] indices = getResources().getStringArray(R.array.entryvalues_font_size); float lastVal = Float.parseFloat(indices[0]); @@ -331,11 +356,6 @@ public class DisplaySettings extends SettingsPreferenceFragment implements if (preference == mAccelerometer) { RotationPolicy.setRotationLockForAccessibility( getActivity(), !mAccelerometer.isChecked()); - } else if (preference == mNotificationPulse) { - boolean value = mNotificationPulse.isChecked(); - Settings.System.putInt(getContentResolver(), Settings.System.NOTIFICATION_LIGHT_PULSE, - value ? 1 : 0); - return true; } return super.onPreferenceTreeClick(preferenceScreen, preference); } |