diff --git a/res/values/cherish_arrays.xml b/res/values/cherish_arrays.xml
index ff2ad29..a836446 100644
--- a/res/values/cherish_arrays.xml
+++ b/res/values/cherish_arrays.xml
@@ -169,8 +169,8 @@
- @string/status_bar_battery_percentage_default
- - @string/status_bar_battery_percentage_text_next
- @string/status_bar_battery_percentage_text_inside
+ - @string/status_bar_battery_percentage_text_next
@@ -195,4 +195,19 @@
- 4
+
+
+ - @string/battery_percentage_off
+ - @string/battery_percentage_next
+ - @string/battery_percentage_inside
+ - @string/battery_percentage_estimate
+
+
+
+ - 0
+ - 1
+ - 2
+ - 3
+
+
diff --git a/res/values/cherish_strings.xml b/res/values/cherish_strings.xml
index c643d28..279249b 100644
--- a/res/values/cherish_strings.xml
+++ b/res/values/cherish_strings.xml
@@ -173,5 +173,14 @@
Hidden (default)
Inside the icon
Next to the icon
+ Battery percentage when charging
+ Always display battery percentage when charging
+
+
+ Battery percentage
+ Disabled
+ Enabled
+ Enabled (inside icon)
+ Enabled (estimate)
diff --git a/res/xml/cherish_settings_quicksettings.xml b/res/xml/cherish_settings_quicksettings.xml
index a60b4de..7dd01e6 100644
--- a/res/xml/cherish_settings_quicksettings.xml
+++ b/res/xml/cherish_settings_quicksettings.xml
@@ -96,4 +96,11 @@
+
+
diff --git a/res/xml/cherish_settings_statusbar.xml b/res/xml/cherish_settings_statusbar.xml
index 740434c..6de9dc6 100644
--- a/res/xml/cherish_settings_statusbar.xml
+++ b/res/xml/cherish_settings_statusbar.xml
@@ -37,20 +37,28 @@
android:key="battery_style_category"
android:title="@string/battery_style_category_title" >
-
+ android:entryValues="@array/status_bar_battery_style_values"
+ android:defaultValue="0" />
-
+ android:entryValues="@array/battery_percent_values"
+ android:defaultValue="0" />
+
+
diff --git a/src/com/cherish/settings/fragments/StatusBarSettings.java b/src/com/cherish/settings/fragments/StatusBarSettings.java
index 8a4ebd9..f36f244 100644
--- a/src/com/cherish/settings/fragments/StatusBarSettings.java
+++ b/src/com/cherish/settings/fragments/StatusBarSettings.java
@@ -39,10 +39,9 @@ import java.util.Collections;
public class StatusBarSettings extends SettingsPreferenceFragment implements
OnPreferenceChangeListener {
-
- private static final String STATUS_BAR_CLOCK = "status_bar_clock";
- private static final String SHOW_BATTERY_PERCENT = "show_battery_percent";
- private static final String KEY_BATTERY_PERCENTAGE = "battery_percentage";
+ private static final String STATUS_BAR_CLOCK = "status_bar_clock";
+ private static final String STATUS_BAR_SHOW_BATTERY_PERCENT = "status_bar_show_battery_percent";
+ private static final String STATUS_BAR_BATTERY_TEXT_CHARGING = "status_bar_battery_text_charging";
private static final String BATTERY_PERCENTAGE_HIDDEN = "0";
private static final String STATUS_BAR_BATTERY_STYLE = "status_bar_battery_style";
@@ -55,6 +54,7 @@ public class StatusBarSettings extends SettingsPreferenceFragment implements
private SystemSettingMasterSwitchPreference mStatusBarClockShow;
private ListPreference mBatteryPercent;
private ListPreference mBatteryStyle;
+ private SwitchPreference mBatteryCharging;
@Override
public void onCreate(Bundle icicle) {
@@ -71,17 +71,12 @@ public class StatusBarSettings extends SettingsPreferenceFragment implements
Settings.System.STATUS_BAR_CLOCK, 1) == 1));
mStatusBarClockShow.setOnPreferenceChangeListener(this);
- mBatteryPercent = (ListPreference) findPreference(KEY_BATTERY_PERCENTAGE);
- int percentstyle = Settings.System.getInt(resolver,
- Settings.System.SHOW_BATTERY_PERCENT, 0);
- mBatteryPercent.setValue(String.valueOf(percentstyle));
- mBatteryPercent.setSummary(mBatteryPercent.getEntry());
- mBatteryPercent.setOnPreferenceChangeListener(this);
+ mBatteryPercent = (ListPreference) findPreference(STATUS_BAR_SHOW_BATTERY_PERCENT);
+ mBatteryCharging = (SwitchPreference) findPreference(STATUS_BAR_BATTERY_TEXT_CHARGING);
mBatteryStyle = (ListPreference) findPreference(STATUS_BAR_BATTERY_STYLE);
- int batterystyle = Settings.Secure.getIntForUser(resolver,
- Settings.Secure.STATUS_BAR_BATTERY_STYLE, BATTERY_STYLE_Q,
- UserHandle.USER_CURRENT);
+ int batterystyle = Settings.System.getInt(resolver,
+ Settings.System.STATUS_BAR_BATTERY_STYLE, BATTERY_STYLE_Q);
mBatteryStyle.setOnPreferenceChangeListener(this);
updateBatteryOptions(batterystyle);
@@ -94,14 +89,7 @@ public class StatusBarSettings extends SettingsPreferenceFragment implements
Settings.System.putInt(getActivity().getContentResolver(),
Settings.System.STATUS_BAR_CLOCK, value ? 1 : 0);
return true;
- } else if (preference == mBatteryPercent) {
- int value = Integer.parseInt((String) objValue);
- int index = mBatteryPercent.findIndexOfValue((String) objValue);
- Settings.System.putInt(getActivity().getContentResolver(),
- Settings.System.SHOW_BATTERY_PERCENT, value);
- mBatteryPercent.setSummary(mBatteryPercent.getEntries()[index]);
- return true;
- } else if (preference == mBatteryStyle) {
+ } else if (preference == mBatteryStyle) {
int value = Integer.parseInt((String) objValue);
updateBatteryOptions(value);
return true;
@@ -110,11 +98,15 @@ public class StatusBarSettings extends SettingsPreferenceFragment implements
}
private void updateBatteryOptions(int batterystyle) {
+ boolean enabled = batterystyle != BATTERY_STYLE_TEXT && batterystyle != BATTERY_STYLE_HIDDEN;
if (batterystyle == BATTERY_STYLE_HIDDEN) {
- mBatteryPercent.setValue(BATTERY_PERCENTAGE_HIDDEN);
- mBatteryPercent.setSummary(mBatteryPercent.getEntry());
+ mBatteryPercent.setValue(BATTERY_PERCENTAGE_HIDDEN);
+ mBatteryPercent.setSummary(mBatteryPercent.getEntry());
+ Settings.System.putInt(getActivity().getContentResolver(),
+ Settings.System.STATUS_BAR_SHOW_BATTERY_PERCENT, 0);
}
- mBatteryPercent.setEnabled(batterystyle != BATTERY_STYLE_TEXT && batterystyle != BATTERY_STYLE_HIDDEN);
+ mBatteryCharging.setEnabled(enabled);
+ mBatteryPercent.setEnabled(enabled);
}
@Override