Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4699a57f authored by Ricardo Cerqueira's avatar Ricardo Cerqueira Committed by Gerrit Code Review
Browse files

Merge "Settings: Power widget cleanup" into ics

parents 63f5cfe9 0eae97d4
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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">
@@ -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>
+14 −22
Original line number Diff line number Diff line
@@ -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>
@@ -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>
+0 −3
Original line number Diff line number Diff line
@@ -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" />

@@ -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" />

@@ -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>
+36 −27
Original line number Diff line number Diff line
@@ -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>
+75 −17
Original line number Diff line number Diff line
@@ -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
@@ -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);
@@ -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;
@@ -181,7 +173,7 @@ public class PowerWidget extends SettingsPreferenceFragment implements

        ListPreferenceMultiSelect mBrightnessMode;
        ListPreference mNetworkMode;
        ListPreference mScreentimeoutMode;
        ListPreference mScreenTimeoutMode;
        ListPreferenceMultiSelect mRingMode;
        ListPreference mFlashMode;

@@ -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));
@@ -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);

@@ -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())) {
@@ -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