diff --git a/res/xml/cherish_settings_statusbar_battery.xml b/res/xml/cherish_settings_statusbar_battery.xml index 79e3fb4..fa4b905 100644 --- a/res/xml/cherish_settings_statusbar_battery.xml +++ b/res/xml/cherish_settings_statusbar_battery.xml @@ -31,8 +31,8 @@ diff --git a/src/com/cherish/settings/fragments/fragments/StatusbarBatterySettings.java b/src/com/cherish/settings/fragments/fragments/StatusbarBatterySettings.java index 9d9197d..709714d 100644 --- a/src/com/cherish/settings/fragments/fragments/StatusbarBatterySettings.java +++ b/src/com/cherish/settings/fragments/fragments/StatusbarBatterySettings.java @@ -51,13 +51,13 @@ public class StatusbarBatterySettings extends SettingsPreferenceFragment impleme private ListPreference mBatteryStyle; private int mBatteryPercentValue; - private int mBatteryPercentValuePrev; private static final int BATTERY_STYLE_PORTRAIT = 0; private static final int BATTERY_STYLE_TEXT = 4; private static final int BATTERY_STYLE_HIDDEN = 5; private static final int BATTERY_PERCENT_HIDDEN = 0; - private static final int BATTERY_PERCENT_SHOW = 2; + //private static final int BATTERY_PERCENT_SHOW_INSIDE = 1; + //private static final int BATTERY_PERCENT_SHOW_OUTSIDE = 2; @Override public void onCreate(Bundle savedInstanceState) { @@ -72,15 +72,13 @@ public class StatusbarBatterySettings extends SettingsPreferenceFragment impleme mBatteryStyle.setOnPreferenceChangeListener(this); mBatteryPercentValue = Settings.System.getIntForUser(getContentResolver(), - Settings.System.STATUS_BAR_SHOW_BATTERY_PERCENT, 0, UserHandle.USER_CURRENT); - mBatteryPercentValuePrev = Settings.System.getIntForUser(getContentResolver(), - Settings.System.STATUS_BAR_SHOW_BATTERY_PERCENT + "_prev", -1, UserHandle.USER_CURRENT); - mBatteryPercent = findPreference("status_bar_show_battery_percent"); + Settings.System.STATUS_BAR_SHOW_BATTERY_PERCENT, BATTERY_PERCENT_HIDDEN, UserHandle.USER_CURRENT); + mBatteryPercent = (ListPreference) findPreference("status_bar_show_battery_percent"); mBatteryPercent.setValue(String.valueOf(mBatteryPercentValue)); mBatteryPercent.setSummary(mBatteryPercent.getEntry()); mBatteryPercent.setOnPreferenceChangeListener(this); - - updateBatteryOptions(batterystyle, mBatteryPercentValue); + mBatteryPercent.setEnabled( + batterystyle != BATTERY_STYLE_TEXT && batterystyle != BATTERY_STYLE_HIDDEN); } @Override @@ -88,9 +86,13 @@ public class StatusbarBatterySettings extends SettingsPreferenceFragment impleme ContentResolver resolver = getActivity().getContentResolver(); if (preference == mBatteryStyle) { int batterystyle = Integer.parseInt((String) newValue); - updateBatteryOptions(batterystyle, mBatteryPercentValue); + Settings.System.putIntForUser(resolver, + Settings.System.STATUS_BAR_BATTERY_STYLE, batterystyle, + UserHandle.USER_CURRENT); int index = mBatteryStyle.findIndexOfValue((String) newValue); mBatteryStyle.setSummary(mBatteryStyle.getEntries()[index]); + mBatteryPercent.setEnabled( + batterystyle != BATTERY_STYLE_TEXT && batterystyle != BATTERY_STYLE_HIDDEN); return true; } else if (preference == mBatteryPercent) { mBatteryPercentValue = Integer.parseInt((String) newValue); @@ -104,57 +106,6 @@ public class StatusbarBatterySettings extends SettingsPreferenceFragment impleme return false; } - private void updateBatteryOptions(int batterystyle, int batterypercent) { - ContentResolver resolver = getActivity().getContentResolver(); - switch (batterystyle) { - case BATTERY_STYLE_TEXT: - handleTextPercentage(BATTERY_PERCENT_SHOW); - break; - case BATTERY_STYLE_HIDDEN: - handleTextPercentage(BATTERY_PERCENT_HIDDEN); - break; - default: - mBatteryPercent.setEnabled(true); - if (mBatteryPercentValuePrev != -1) { - Settings.System.putIntForUser(resolver, - Settings.System.STATUS_BAR_SHOW_BATTERY_PERCENT, - mBatteryPercentValuePrev, UserHandle.USER_CURRENT); - Settings.System.putIntForUser(resolver, - Settings.System.STATUS_BAR_SHOW_BATTERY_PERCENT + "_prev", - -1, UserHandle.USER_CURRENT); - mBatteryPercentValue = mBatteryPercentValuePrev; - mBatteryPercentValuePrev = -1; - int index = mBatteryPercent.findIndexOfValue(String.valueOf(mBatteryPercentValue)); - mBatteryPercent.setSummary(mBatteryPercent.getEntries()[index]); - } - - Settings.System.putIntForUser(resolver, - Settings.System.STATUS_BAR_BATTERY_STYLE, batterystyle, - UserHandle.USER_CURRENT); - break; - } - } - - private void handleTextPercentage(int batterypercent) { - ContentResolver resolver = getActivity().getContentResolver(); - if (mBatteryPercentValuePrev == -1) { - mBatteryPercentValuePrev = mBatteryPercentValue; - Settings.System.putIntForUser(resolver, - Settings.System.STATUS_BAR_SHOW_BATTERY_PERCENT + "_prev", - mBatteryPercentValue, UserHandle.USER_CURRENT); - } - - Settings.System.putIntForUser(resolver, - Settings.System.STATUS_BAR_SHOW_BATTERY_PERCENT, - batterypercent, UserHandle.USER_CURRENT); - Settings.System.putIntForUser(resolver, - Settings.System.STATUS_BAR_BATTERY_STYLE, BATTERY_STYLE_TEXT, - UserHandle.USER_CURRENT); - int index = mBatteryPercent.findIndexOfValue(String.valueOf(batterypercent)); - mBatteryPercent.setSummary(mBatteryPercent.getEntries()[index]); - mBatteryPercent.setEnabled(false); - } - @Override public int getMetricsCategory() { return MetricsEvent.CHERISH_SETTINGS;