Loading res/values/arrays.xml +2 −2 Original line number Diff line number Diff line Loading @@ -903,7 +903,7 @@ <string-array name="entries_flash_widget"> <item>Normal</item> <item>High / Death Ray</item> <item>High</item> </string-array> <string-array name="values_flash_widget" translatable="false"> Loading @@ -912,7 +912,7 @@ </string-array> <string-array name="haptic_feedback_entries"> <item>Global settings</item> <item>Use global setting</item> <item>On</item> <item>Off</item> </string-array> Loading res/values/strings.xml +14 −22 Original line number Diff line number Diff line Loading @@ -861,18 +861,16 @@ <!-- Power Widget #CM --> <string name="power_widget_title">Power widget</string> <string name="title_expanded_widget">Show power widget</string> <string name="summary_expanded_widget">Show the power widget in the notification drawer</string> <string name="title_expanded_hide_onchange">Hide on change</string> <string name="summary_expanded_hide_onchange">Hide the notification drawer after toggling a widget button</string> <string name="title_expanded_hide_indicator">Hide indicator</string> <string name="summary_expanded_hide_indicator">Hide the power widget indicators</string> <string name="power_widget_behavior">Widget behavior</string> <string name="power_widget_appearance">Widget appearance</string> <string name="title_expanded_widget">Power widget</string> <string name="title_expanded_hide_onchange">Close drawer on change</string> <string name="title_expanded_hide_indicator">Hide indicators</string> <string name="title_expanded_hide_scrollbar">Hide scrollbar</string> <string name="summary_expanded_hide_scrollbar">Hide the scrollbar when more than the maximum number of widget buttons are present</string> <string name="title_widget_picker">Widget buttons</string> <string name="summary_widget_picker">Select which buttons to display in the power widget</string> <string name="summary_widget_picker">View or change the displayed buttons</string> <string name="title_widget_order">Widget button order</string> <string name="summary_widget_order">Select the order of the buttons in the power widget</string> <string name="summary_widget_order">View or change the order of the buttons</string> <string name="title_buttons">Buttons</string> <string name="title_toggle_wifi">Toggle Wi-Fi</string> <string name="title_toggle_bluetooth">Toggle Bluetooth</string> Loading @@ -896,25 +894,19 @@ <string name="title_toggle_wimax">Toggle WiMAX</string> <string name="title_button_modes">Button modes</string> <string name="pref_brightness_mode_title">Brightness modes</string> <string name="pref_brightness_mode_summary">Choose how the brightness button changes modes</string> <string name="pref_brightness_mode_summary">View or change the Brightness button modes</string> <string name="cm_brightness_mode_auto">Auto</string> <string name="cm_brightness_mode_dim">Dim</string> <string name="pref_network_mode_title">Network modes</string> <string name="pref_network_mode_summary">Choose how the NetworkMode button changes modes</string> <string name="pref_screentimeout_mode_title">Screen timeout modes</string> <string name="pref_screentimeout_mode_summary">Choose how the Screentimeout button changes modes</string> <string name="pref_ring_mode_title">Sound modes</string> <string name="pref_ring_mode_summary">Choose how the sound button changes modes</string> <string name="pref_ring_mode_summary">View or change the Sound button modes</string> <string name="cm_sound_mode_silent">Silent</string> <string name="cm_sound_mode_vibrate">Vibrate</string> <string name="cm_sound_mode_sound">Sound</string> <string name="cm_sound_mode_soundVibrate">Sound + Vibrate</string> <string name="pref_flash_mode_title">Flash mode</string> <string name="pref_flash_mode_summary">Choose High / Death Ray</string> <!-- Power Widget, Haptic feedback #CM --> <string name="expanded_haptic_feedback_title">Haptic feedback</string> <string name="expanded_haptic_feedback_summary">Enable/disable haptic feedback</string> <!-- Status bar #CM --> <string name="combined_status_bar_title">@string/status_bar_title</string> Loading res/xml/power_widget.xml +0 −3 Original line number Diff line number Diff line Loading @@ -37,7 +37,6 @@ android:key="pref_network_mode" android:dialogTitle="@string/pref_network_mode_title" android:title="@string/pref_network_mode_title" android:summary="@string/pref_network_mode_summary" android:entries="@array/entries_network_widget" android:entryValues="@array/values_network_widget" /> Loading @@ -45,7 +44,6 @@ android:key="pref_screentimeout_mode" android:dialogTitle="@string/pref_screentimeout_mode_title" android:title="@string/pref_screentimeout_mode_title" android:summary="@string/pref_screentimeout_mode_summary" android:entries="@array/entries_screentimeout_widget" android:entryValues="@array/values_screentimeout_widget" /> Loading @@ -62,7 +60,6 @@ android:key="pref_flash_mode" android:dialogTitle="@string/pref_flash_mode_title" android:title="@string/pref_flash_mode_title" android:summary="@string/pref_flash_mode_summary" android:entries="@array/entries_flash_widget" android:entryValues="@array/values_flash_widget" /> </PreferenceCategory> Loading res/xml/power_widget_settings.xml +36 −27 Original line number Diff line number Diff line Loading @@ -21,54 +21,63 @@ <PreferenceCategory android:title="@string/power_widget_title"> <CheckBoxPreference android:key="expanded_widget" <CheckBoxPreference android:key="expanded_widget" android:title="@string/title_expanded_widget" android:summary="@string/summary_expanded_widget" android:defaultValue="true" /> <PreferenceScreen android:key="widget_picker" android:title="@string/title_widget_picker" android:summary="@string/summary_widget_picker" android:dependency="expanded_widget" android:fragment="com.android.settings.cyanogenmod.PowerWidget$PowerWidgetChooser"> </PreferenceScreen> <PreferenceScreen android:key="widget_order" android:title="@string/title_widget_order" android:summary="@string/summary_widget_order" android:dependency="expanded_widget" android:fragment="com.android.settings.cyanogenmod.PowerWidget$PowerWidgetOrder"> </PreferenceScreen> </PreferenceCategory> <PreferenceCategory android:title="@string/power_widget_behavior"> <CheckBoxPreference android:key="expanded_hide_onchange" android:title="@string/title_expanded_hide_onchange" android:summary="@string/summary_expanded_hide_onchange" android:defaultValue="false" android:dependency="expanded_widget" /> <ListPreference android:key="expanded_haptic_feedback" android:dialogTitle="@string/expanded_haptic_feedback_title" android:title="@string/expanded_haptic_feedback_title" android:entries="@array/haptic_feedback_entries" android:entryValues="@array/haptic_feedback_values" android:dependency="expanded_widget" /> </PreferenceCategory> <PreferenceCategory android:title="@string/power_widget_appearance"> <CheckBoxPreference android:key="expanded_hide_indicator" android:title="@string/title_expanded_hide_indicator" android:summary="@string/summary_expanded_hide_indicator" android:defaultValue="false" android:dependency="expanded_widget" /> <CheckBoxPreference android:key="expanded_hide_scrollbar" android:title="@string/title_expanded_hide_scrollbar" android:summary="@string/summary_expanded_hide_scrollbar" android:defaultValue="false" android:dependency="expanded_widget" /> <ListPreference android:key="expanded_haptic_feedback" android:dialogTitle="@string/expanded_haptic_feedback_title" android:title="@string/expanded_haptic_feedback_title" android:summary="@string/expanded_haptic_feedback_summary" android:entries="@array/haptic_feedback_entries" android:entryValues="@array/haptic_feedback_values" /> <PreferenceScreen android:key="widget_picker" android:title="@string/title_widget_picker" android:summary="@string/summary_widget_picker" android:fragment="com.android.settings.cyanogenmod.PowerWidget$PowerWidgetChooser"> </PreferenceScreen> <PreferenceScreen android:key="widget_order" android:title="@string/title_widget_order" android:summary="@string/summary_widget_order" android:fragment="com.android.settings.cyanogenmod.PowerWidget$PowerWidgetOrder"> </PreferenceScreen> </PreferenceCategory> </PreferenceScreen> src/com/android/settings/cyanogenmod/PowerWidget.java +75 −17 Original line number Diff line number Diff line Loading @@ -51,31 +51,19 @@ public class PowerWidget extends SettingsPreferenceFragment implements private static final String TAG = "PowerWidget"; private static final String UI_EXP_WIDGET = "expanded_widget"; private static final String UI_EXP_WIDGET_HIDE_ONCHANGE = "expanded_hide_onchange"; private static final String UI_EXP_WIDGET_HIDE_INDICATOR = "expanded_hide_indicator"; private static final String UI_EXP_WIDGET_HIDE_SCROLLBAR = "expanded_hide_scrollbar"; private static final String UI_EXP_WIDGET_HAPTIC_FEEDBACK = "expanded_haptic_feedback"; private static final String UI_EXP_WIDGET_PICKER = "widget_picker"; private static final String UI_EXP_WIDGET_ORDER = "widget_order"; private CheckBoxPreference mPowerWidget; private CheckBoxPreference mPowerWidgetHideOnChange; private CheckBoxPreference mPowerWidgetIndicatorHide; private CheckBoxPreference mPowerWidgetHideScrollBar; private ListPreference mPowerWidgetHapticFeedback; private PreferenceScreen mPowerPicker; private PreferenceScreen mPowerOrder; @Override Loading @@ -94,9 +82,11 @@ public class PowerWidget extends SettingsPreferenceFragment implements .findPreference(UI_EXP_WIDGET_HIDE_SCROLLBAR); mPowerWidgetIndicatorHide = (CheckBoxPreference) prefSet .findPreference(UI_EXP_WIDGET_HIDE_INDICATOR); mPowerWidgetHapticFeedback = (ListPreference) prefSet .findPreference(UI_EXP_WIDGET_HAPTIC_FEEDBACK); mPowerWidgetHapticFeedback.setOnPreferenceChangeListener(this); mPowerWidgetHapticFeedback.setSummary(mPowerWidgetHapticFeedback.getEntry()); mPowerPicker = (PreferenceScreen) prefSet.findPreference(UI_EXP_WIDGET_PICKER); mPowerOrder = (PreferenceScreen) prefSet.findPreference(UI_EXP_WIDGET_ORDER); Loading @@ -122,8 +112,10 @@ public class PowerWidget extends SettingsPreferenceFragment implements public boolean onPreferenceChange(Preference preference, Object newValue) { if (preference == mPowerWidgetHapticFeedback) { int intValue = Integer.parseInt((String) newValue); int index = mPowerWidgetHapticFeedback.findIndexOfValue((String) newValue); Settings.System.putInt(getActivity().getApplicationContext().getContentResolver(), Settings.System.EXPANDED_HAPTIC_FEEDBACK, intValue); mPowerWidgetHapticFeedback.setSummary(mPowerWidgetHapticFeedback.getEntries()[index]); return true; } return false; Loading Loading @@ -181,7 +173,7 @@ public class PowerWidget extends SettingsPreferenceFragment implements ListPreferenceMultiSelect mBrightnessMode; ListPreference mNetworkMode; ListPreference mScreentimeoutMode; ListPreference mScreenTimeoutMode; ListPreferenceMultiSelect mRingMode; ListPreference mFlashMode; Loading Loading @@ -209,8 +201,8 @@ public class PowerWidget extends SettingsPreferenceFragment implements mBrightnessMode.setOnPreferenceChangeListener(this); mNetworkMode = (ListPreference) prefSet.findPreference(EXP_NETWORK_MODE); mNetworkMode.setOnPreferenceChangeListener(this); mScreentimeoutMode = (ListPreference) prefSet.findPreference(EXP_SCREENTIMEOUT_MODE); mScreentimeoutMode.setOnPreferenceChangeListener(this); mScreenTimeoutMode = (ListPreference) prefSet.findPreference(EXP_SCREENTIMEOUT_MODE); mScreenTimeoutMode.setOnPreferenceChangeListener(this); mRingMode = (ListPreferenceMultiSelect) prefSet.findPreference(EXP_RING_MODE); mRingMode.setValue(Settings.System.getString(getActivity().getApplicationContext() .getContentResolver(), Settings.System.EXPANDED_RING_MODE)); Loading @@ -218,6 +210,16 @@ public class PowerWidget extends SettingsPreferenceFragment implements mFlashMode = (ListPreference) prefSet.findPreference(EXP_FLASH_MODE); mFlashMode.setOnPreferenceChangeListener(this); // TODO: set the default values of the items // Update the summary text mNetworkMode.setSummary(mNetworkMode.getEntry()); mScreenTimeoutMode.setSummary(mScreenTimeoutMode.getEntry()); mFlashMode.setSummary(mFlashMode.getEntry()); updateBrightnessModeSummary(mBrightnessMode.getValue()); updateRingModeSummary(mRingMode.getValue()); // Add the available buttons to the list PreferenceCategory prefButtons = (PreferenceCategory) prefSet .findPreference(BUTTONS_CATEGORY); Loading Loading @@ -263,7 +265,8 @@ public class PowerWidget extends SettingsPreferenceFragment implements // specific checks for availability on some platforms if (PowerWidgetUtil.BUTTON_FLASHLIGHT.equals(button.getId()) && !getResources().getBoolean(R.bool.has_led_flash)) { // disable flashlight if it's not supported !getResources().getBoolean(R.bool.has_led_flash)) { // disable flashlight if it's not supported cb.setEnabled(false); mFlashMode.setEnabled(false); } else if (PowerWidgetUtil.BUTTON_NETWORKMODE.equals(button.getId())) { Loading Loading @@ -335,25 +338,80 @@ public class PowerWidget extends SettingsPreferenceFragment implements Settings.System.putString(getActivity().getApplicationContext() .getContentResolver(), Settings.System.EXPANDED_BRIGHTNESS_MODE, (String) newValue); updateBrightnessModeSummary((String) newValue); } else if (preference == mNetworkMode) { int value = Integer.valueOf((String) newValue); int index = mNetworkMode.findIndexOfValue((String) newValue); Settings.System.putInt(getActivity().getApplicationContext().getContentResolver(), Settings.System.EXPANDED_NETWORK_MODE, value); } else if (preference == mScreentimeoutMode) { mNetworkMode.setSummary(mNetworkMode.getEntries()[index]); } else if (preference == mScreenTimeoutMode) { int value = Integer.valueOf((String) newValue); int index = mScreenTimeoutMode.findIndexOfValue((String) newValue); Settings.System.putInt(getActivity().getApplicationContext().getContentResolver(), Settings.System.EXPANDED_SCREENTIMEOUT_MODE, value); mScreenTimeoutMode.setSummary(mScreenTimeoutMode.getEntries()[index]); } else if (preference == mRingMode) { Settings.System.putString(getActivity().getApplicationContext() .getContentResolver(), Settings.System.EXPANDED_RING_MODE, (String) newValue); updateRingModeSummary((String) newValue); } else if (preference == mFlashMode) { int value = Integer.valueOf((String) newValue); int index = mFlashMode.findIndexOfValue((String) newValue); Settings.System.putInt(getActivity().getApplicationContext().getContentResolver(), Settings.System.EXPANDED_FLASH_MODE, value); mFlashMode.setSummary(mFlashMode.getEntries()[index]); } return true; } private void updateBrightnessModeSummary(String val) { // Update summary message with current values final String[] values = ListPreferenceMultiSelect.parseStoredValue(val); if (values != null) { final int length = values.length; final CharSequence[] entries = mBrightnessMode.getEntries(); StringBuilder summary = new StringBuilder(); for (int i = 0; i < (length); i++) { CharSequence entry = entries[Integer.parseInt(values[i])]; if ((length - i) > 2) { summary.append(entry).append(", "); } else if ((length - i) == 2) { summary.append(entry).append(" & "); } else if ((length - i) == 1) { summary.append(entry); } } mBrightnessMode.setSummary(summary); } else { mBrightnessMode.setSummary(R.string.pref_brightness_mode_summary); } } private void updateRingModeSummary(String val) { // Update summary message with current values final String[] values = ListPreferenceMultiSelect.parseStoredValue(val); if (values != null) { final int length = values.length; final CharSequence[] entries = mRingMode.getEntries(); StringBuilder summary = new StringBuilder(); for (int i = 0; i < (length); i++) { CharSequence entry = entries[Integer.parseInt(values[i])]; if ((length - i) > 2) { summary.append(entry).append(", "); } else if ((length - i) == 2) { summary.append(entry).append(" & "); } else if ((length - i) == 1) { summary.append(entry); } } mRingMode.setSummary(summary); } else { mRingMode.setSummary(R.string.pref_ring_mode_summary); } } } public static class PowerWidgetOrder extends ListFragment Loading Loading
res/values/arrays.xml +2 −2 Original line number Diff line number Diff line Loading @@ -903,7 +903,7 @@ <string-array name="entries_flash_widget"> <item>Normal</item> <item>High / Death Ray</item> <item>High</item> </string-array> <string-array name="values_flash_widget" translatable="false"> Loading @@ -912,7 +912,7 @@ </string-array> <string-array name="haptic_feedback_entries"> <item>Global settings</item> <item>Use global setting</item> <item>On</item> <item>Off</item> </string-array> Loading
res/values/strings.xml +14 −22 Original line number Diff line number Diff line Loading @@ -861,18 +861,16 @@ <!-- Power Widget #CM --> <string name="power_widget_title">Power widget</string> <string name="title_expanded_widget">Show power widget</string> <string name="summary_expanded_widget">Show the power widget in the notification drawer</string> <string name="title_expanded_hide_onchange">Hide on change</string> <string name="summary_expanded_hide_onchange">Hide the notification drawer after toggling a widget button</string> <string name="title_expanded_hide_indicator">Hide indicator</string> <string name="summary_expanded_hide_indicator">Hide the power widget indicators</string> <string name="power_widget_behavior">Widget behavior</string> <string name="power_widget_appearance">Widget appearance</string> <string name="title_expanded_widget">Power widget</string> <string name="title_expanded_hide_onchange">Close drawer on change</string> <string name="title_expanded_hide_indicator">Hide indicators</string> <string name="title_expanded_hide_scrollbar">Hide scrollbar</string> <string name="summary_expanded_hide_scrollbar">Hide the scrollbar when more than the maximum number of widget buttons are present</string> <string name="title_widget_picker">Widget buttons</string> <string name="summary_widget_picker">Select which buttons to display in the power widget</string> <string name="summary_widget_picker">View or change the displayed buttons</string> <string name="title_widget_order">Widget button order</string> <string name="summary_widget_order">Select the order of the buttons in the power widget</string> <string name="summary_widget_order">View or change the order of the buttons</string> <string name="title_buttons">Buttons</string> <string name="title_toggle_wifi">Toggle Wi-Fi</string> <string name="title_toggle_bluetooth">Toggle Bluetooth</string> Loading @@ -896,25 +894,19 @@ <string name="title_toggle_wimax">Toggle WiMAX</string> <string name="title_button_modes">Button modes</string> <string name="pref_brightness_mode_title">Brightness modes</string> <string name="pref_brightness_mode_summary">Choose how the brightness button changes modes</string> <string name="pref_brightness_mode_summary">View or change the Brightness button modes</string> <string name="cm_brightness_mode_auto">Auto</string> <string name="cm_brightness_mode_dim">Dim</string> <string name="pref_network_mode_title">Network modes</string> <string name="pref_network_mode_summary">Choose how the NetworkMode button changes modes</string> <string name="pref_screentimeout_mode_title">Screen timeout modes</string> <string name="pref_screentimeout_mode_summary">Choose how the Screentimeout button changes modes</string> <string name="pref_ring_mode_title">Sound modes</string> <string name="pref_ring_mode_summary">Choose how the sound button changes modes</string> <string name="pref_ring_mode_summary">View or change the Sound button modes</string> <string name="cm_sound_mode_silent">Silent</string> <string name="cm_sound_mode_vibrate">Vibrate</string> <string name="cm_sound_mode_sound">Sound</string> <string name="cm_sound_mode_soundVibrate">Sound + Vibrate</string> <string name="pref_flash_mode_title">Flash mode</string> <string name="pref_flash_mode_summary">Choose High / Death Ray</string> <!-- Power Widget, Haptic feedback #CM --> <string name="expanded_haptic_feedback_title">Haptic feedback</string> <string name="expanded_haptic_feedback_summary">Enable/disable haptic feedback</string> <!-- Status bar #CM --> <string name="combined_status_bar_title">@string/status_bar_title</string> Loading
res/xml/power_widget.xml +0 −3 Original line number Diff line number Diff line Loading @@ -37,7 +37,6 @@ android:key="pref_network_mode" android:dialogTitle="@string/pref_network_mode_title" android:title="@string/pref_network_mode_title" android:summary="@string/pref_network_mode_summary" android:entries="@array/entries_network_widget" android:entryValues="@array/values_network_widget" /> Loading @@ -45,7 +44,6 @@ android:key="pref_screentimeout_mode" android:dialogTitle="@string/pref_screentimeout_mode_title" android:title="@string/pref_screentimeout_mode_title" android:summary="@string/pref_screentimeout_mode_summary" android:entries="@array/entries_screentimeout_widget" android:entryValues="@array/values_screentimeout_widget" /> Loading @@ -62,7 +60,6 @@ android:key="pref_flash_mode" android:dialogTitle="@string/pref_flash_mode_title" android:title="@string/pref_flash_mode_title" android:summary="@string/pref_flash_mode_summary" android:entries="@array/entries_flash_widget" android:entryValues="@array/values_flash_widget" /> </PreferenceCategory> Loading
res/xml/power_widget_settings.xml +36 −27 Original line number Diff line number Diff line Loading @@ -21,54 +21,63 @@ <PreferenceCategory android:title="@string/power_widget_title"> <CheckBoxPreference android:key="expanded_widget" <CheckBoxPreference android:key="expanded_widget" android:title="@string/title_expanded_widget" android:summary="@string/summary_expanded_widget" android:defaultValue="true" /> <PreferenceScreen android:key="widget_picker" android:title="@string/title_widget_picker" android:summary="@string/summary_widget_picker" android:dependency="expanded_widget" android:fragment="com.android.settings.cyanogenmod.PowerWidget$PowerWidgetChooser"> </PreferenceScreen> <PreferenceScreen android:key="widget_order" android:title="@string/title_widget_order" android:summary="@string/summary_widget_order" android:dependency="expanded_widget" android:fragment="com.android.settings.cyanogenmod.PowerWidget$PowerWidgetOrder"> </PreferenceScreen> </PreferenceCategory> <PreferenceCategory android:title="@string/power_widget_behavior"> <CheckBoxPreference android:key="expanded_hide_onchange" android:title="@string/title_expanded_hide_onchange" android:summary="@string/summary_expanded_hide_onchange" android:defaultValue="false" android:dependency="expanded_widget" /> <ListPreference android:key="expanded_haptic_feedback" android:dialogTitle="@string/expanded_haptic_feedback_title" android:title="@string/expanded_haptic_feedback_title" android:entries="@array/haptic_feedback_entries" android:entryValues="@array/haptic_feedback_values" android:dependency="expanded_widget" /> </PreferenceCategory> <PreferenceCategory android:title="@string/power_widget_appearance"> <CheckBoxPreference android:key="expanded_hide_indicator" android:title="@string/title_expanded_hide_indicator" android:summary="@string/summary_expanded_hide_indicator" android:defaultValue="false" android:dependency="expanded_widget" /> <CheckBoxPreference android:key="expanded_hide_scrollbar" android:title="@string/title_expanded_hide_scrollbar" android:summary="@string/summary_expanded_hide_scrollbar" android:defaultValue="false" android:dependency="expanded_widget" /> <ListPreference android:key="expanded_haptic_feedback" android:dialogTitle="@string/expanded_haptic_feedback_title" android:title="@string/expanded_haptic_feedback_title" android:summary="@string/expanded_haptic_feedback_summary" android:entries="@array/haptic_feedback_entries" android:entryValues="@array/haptic_feedback_values" /> <PreferenceScreen android:key="widget_picker" android:title="@string/title_widget_picker" android:summary="@string/summary_widget_picker" android:fragment="com.android.settings.cyanogenmod.PowerWidget$PowerWidgetChooser"> </PreferenceScreen> <PreferenceScreen android:key="widget_order" android:title="@string/title_widget_order" android:summary="@string/summary_widget_order" android:fragment="com.android.settings.cyanogenmod.PowerWidget$PowerWidgetOrder"> </PreferenceScreen> </PreferenceCategory> </PreferenceScreen>
src/com/android/settings/cyanogenmod/PowerWidget.java +75 −17 Original line number Diff line number Diff line Loading @@ -51,31 +51,19 @@ public class PowerWidget extends SettingsPreferenceFragment implements private static final String TAG = "PowerWidget"; private static final String UI_EXP_WIDGET = "expanded_widget"; private static final String UI_EXP_WIDGET_HIDE_ONCHANGE = "expanded_hide_onchange"; private static final String UI_EXP_WIDGET_HIDE_INDICATOR = "expanded_hide_indicator"; private static final String UI_EXP_WIDGET_HIDE_SCROLLBAR = "expanded_hide_scrollbar"; private static final String UI_EXP_WIDGET_HAPTIC_FEEDBACK = "expanded_haptic_feedback"; private static final String UI_EXP_WIDGET_PICKER = "widget_picker"; private static final String UI_EXP_WIDGET_ORDER = "widget_order"; private CheckBoxPreference mPowerWidget; private CheckBoxPreference mPowerWidgetHideOnChange; private CheckBoxPreference mPowerWidgetIndicatorHide; private CheckBoxPreference mPowerWidgetHideScrollBar; private ListPreference mPowerWidgetHapticFeedback; private PreferenceScreen mPowerPicker; private PreferenceScreen mPowerOrder; @Override Loading @@ -94,9 +82,11 @@ public class PowerWidget extends SettingsPreferenceFragment implements .findPreference(UI_EXP_WIDGET_HIDE_SCROLLBAR); mPowerWidgetIndicatorHide = (CheckBoxPreference) prefSet .findPreference(UI_EXP_WIDGET_HIDE_INDICATOR); mPowerWidgetHapticFeedback = (ListPreference) prefSet .findPreference(UI_EXP_WIDGET_HAPTIC_FEEDBACK); mPowerWidgetHapticFeedback.setOnPreferenceChangeListener(this); mPowerWidgetHapticFeedback.setSummary(mPowerWidgetHapticFeedback.getEntry()); mPowerPicker = (PreferenceScreen) prefSet.findPreference(UI_EXP_WIDGET_PICKER); mPowerOrder = (PreferenceScreen) prefSet.findPreference(UI_EXP_WIDGET_ORDER); Loading @@ -122,8 +112,10 @@ public class PowerWidget extends SettingsPreferenceFragment implements public boolean onPreferenceChange(Preference preference, Object newValue) { if (preference == mPowerWidgetHapticFeedback) { int intValue = Integer.parseInt((String) newValue); int index = mPowerWidgetHapticFeedback.findIndexOfValue((String) newValue); Settings.System.putInt(getActivity().getApplicationContext().getContentResolver(), Settings.System.EXPANDED_HAPTIC_FEEDBACK, intValue); mPowerWidgetHapticFeedback.setSummary(mPowerWidgetHapticFeedback.getEntries()[index]); return true; } return false; Loading Loading @@ -181,7 +173,7 @@ public class PowerWidget extends SettingsPreferenceFragment implements ListPreferenceMultiSelect mBrightnessMode; ListPreference mNetworkMode; ListPreference mScreentimeoutMode; ListPreference mScreenTimeoutMode; ListPreferenceMultiSelect mRingMode; ListPreference mFlashMode; Loading Loading @@ -209,8 +201,8 @@ public class PowerWidget extends SettingsPreferenceFragment implements mBrightnessMode.setOnPreferenceChangeListener(this); mNetworkMode = (ListPreference) prefSet.findPreference(EXP_NETWORK_MODE); mNetworkMode.setOnPreferenceChangeListener(this); mScreentimeoutMode = (ListPreference) prefSet.findPreference(EXP_SCREENTIMEOUT_MODE); mScreentimeoutMode.setOnPreferenceChangeListener(this); mScreenTimeoutMode = (ListPreference) prefSet.findPreference(EXP_SCREENTIMEOUT_MODE); mScreenTimeoutMode.setOnPreferenceChangeListener(this); mRingMode = (ListPreferenceMultiSelect) prefSet.findPreference(EXP_RING_MODE); mRingMode.setValue(Settings.System.getString(getActivity().getApplicationContext() .getContentResolver(), Settings.System.EXPANDED_RING_MODE)); Loading @@ -218,6 +210,16 @@ public class PowerWidget extends SettingsPreferenceFragment implements mFlashMode = (ListPreference) prefSet.findPreference(EXP_FLASH_MODE); mFlashMode.setOnPreferenceChangeListener(this); // TODO: set the default values of the items // Update the summary text mNetworkMode.setSummary(mNetworkMode.getEntry()); mScreenTimeoutMode.setSummary(mScreenTimeoutMode.getEntry()); mFlashMode.setSummary(mFlashMode.getEntry()); updateBrightnessModeSummary(mBrightnessMode.getValue()); updateRingModeSummary(mRingMode.getValue()); // Add the available buttons to the list PreferenceCategory prefButtons = (PreferenceCategory) prefSet .findPreference(BUTTONS_CATEGORY); Loading Loading @@ -263,7 +265,8 @@ public class PowerWidget extends SettingsPreferenceFragment implements // specific checks for availability on some platforms if (PowerWidgetUtil.BUTTON_FLASHLIGHT.equals(button.getId()) && !getResources().getBoolean(R.bool.has_led_flash)) { // disable flashlight if it's not supported !getResources().getBoolean(R.bool.has_led_flash)) { // disable flashlight if it's not supported cb.setEnabled(false); mFlashMode.setEnabled(false); } else if (PowerWidgetUtil.BUTTON_NETWORKMODE.equals(button.getId())) { Loading Loading @@ -335,25 +338,80 @@ public class PowerWidget extends SettingsPreferenceFragment implements Settings.System.putString(getActivity().getApplicationContext() .getContentResolver(), Settings.System.EXPANDED_BRIGHTNESS_MODE, (String) newValue); updateBrightnessModeSummary((String) newValue); } else if (preference == mNetworkMode) { int value = Integer.valueOf((String) newValue); int index = mNetworkMode.findIndexOfValue((String) newValue); Settings.System.putInt(getActivity().getApplicationContext().getContentResolver(), Settings.System.EXPANDED_NETWORK_MODE, value); } else if (preference == mScreentimeoutMode) { mNetworkMode.setSummary(mNetworkMode.getEntries()[index]); } else if (preference == mScreenTimeoutMode) { int value = Integer.valueOf((String) newValue); int index = mScreenTimeoutMode.findIndexOfValue((String) newValue); Settings.System.putInt(getActivity().getApplicationContext().getContentResolver(), Settings.System.EXPANDED_SCREENTIMEOUT_MODE, value); mScreenTimeoutMode.setSummary(mScreenTimeoutMode.getEntries()[index]); } else if (preference == mRingMode) { Settings.System.putString(getActivity().getApplicationContext() .getContentResolver(), Settings.System.EXPANDED_RING_MODE, (String) newValue); updateRingModeSummary((String) newValue); } else if (preference == mFlashMode) { int value = Integer.valueOf((String) newValue); int index = mFlashMode.findIndexOfValue((String) newValue); Settings.System.putInt(getActivity().getApplicationContext().getContentResolver(), Settings.System.EXPANDED_FLASH_MODE, value); mFlashMode.setSummary(mFlashMode.getEntries()[index]); } return true; } private void updateBrightnessModeSummary(String val) { // Update summary message with current values final String[] values = ListPreferenceMultiSelect.parseStoredValue(val); if (values != null) { final int length = values.length; final CharSequence[] entries = mBrightnessMode.getEntries(); StringBuilder summary = new StringBuilder(); for (int i = 0; i < (length); i++) { CharSequence entry = entries[Integer.parseInt(values[i])]; if ((length - i) > 2) { summary.append(entry).append(", "); } else if ((length - i) == 2) { summary.append(entry).append(" & "); } else if ((length - i) == 1) { summary.append(entry); } } mBrightnessMode.setSummary(summary); } else { mBrightnessMode.setSummary(R.string.pref_brightness_mode_summary); } } private void updateRingModeSummary(String val) { // Update summary message with current values final String[] values = ListPreferenceMultiSelect.parseStoredValue(val); if (values != null) { final int length = values.length; final CharSequence[] entries = mRingMode.getEntries(); StringBuilder summary = new StringBuilder(); for (int i = 0; i < (length); i++) { CharSequence entry = entries[Integer.parseInt(values[i])]; if ((length - i) > 2) { summary.append(entry).append(", "); } else if ((length - i) == 2) { summary.append(entry).append(" & "); } else if ((length - i) == 1) { summary.append(entry); } } mRingMode.setSummary(summary); } else { mRingMode.setSummary(R.string.pref_ring_mode_summary); } } } public static class PowerWidgetOrder extends ListFragment Loading