diff --git a/res/drawable/ic_lighting_bolt.xml b/res/drawable/ic_lighting_bolt.xml
new file mode 100644
index 0000000..40cbea7
--- /dev/null
+++ b/res/drawable/ic_lighting_bolt.xml
@@ -0,0 +1,7 @@
+
+
+
\ No newline at end of file
diff --git a/res/values/cherish_strings.xml b/res/values/cherish_strings.xml
index 52a01ce..920793f 100644
--- a/res/values/cherish_strings.xml
+++ b/res/values/cherish_strings.xml
@@ -214,6 +214,8 @@
Next to the icon
Battery percentage when charging
Always display battery percentage when charging
+ Show charging bolt
+ Show a \u26A1\uFE0E symbol near battery text when charging
Battery icon
diff --git a/res/xml/cherish_settings_statusbar.xml b/res/xml/cherish_settings_statusbar.xml
index be0027c..13915c8 100644
--- a/res/xml/cherish_settings_statusbar.xml
+++ b/res/xml/cherish_settings_statusbar.xml
@@ -151,6 +151,13 @@
android:title="@string/status_bar_battery_text_charging_title"
android:summary="@string/status_bar_battery_text_charging_summary"
android:defaultValue="true" />
+
+
\ No newline at end of file
diff --git a/src/com/cherish/settings/fragments/StatusBarSettings.java b/src/com/cherish/settings/fragments/StatusBarSettings.java
index 0a33673..0a29bff 100644
--- a/src/com/cherish/settings/fragments/StatusBarSettings.java
+++ b/src/com/cherish/settings/fragments/StatusBarSettings.java
@@ -42,6 +42,7 @@ public class StatusBarSettings extends SettingsPreferenceFragment implements
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 STATUS_BAR_BATTERY_CHARGING_BOLT = "status_bar_battery_charging_bolt";
private static final String BATTERY_PERCENTAGE_HIDDEN = "0";
private static final String STATUS_BAR_BATTERY_STYLE = "status_bar_battery_style";
@@ -57,6 +58,7 @@ public class StatusBarSettings extends SettingsPreferenceFragment implements
private SwitchPreference mBatteryCharging;
private CustomSeekBarPreference mThreshold;
private SystemSettingSwitchPreference mNetMonitor;
+ private SwitchPreference mBatteryBolt;
@Override
public void onCreate(Bundle icicle) {
@@ -75,6 +77,10 @@ public class StatusBarSettings extends SettingsPreferenceFragment implements
mBatteryPercent = (ListPreference) findPreference(STATUS_BAR_SHOW_BATTERY_PERCENT);
mBatteryCharging = (SwitchPreference) findPreference(STATUS_BAR_BATTERY_TEXT_CHARGING);
+ mBatteryCharging.setOnPreferenceChangeListener(this);
+
+ mBatteryBolt = (SwitchPreference) findPreference(STATUS_BAR_BATTERY_CHARGING_BOLT);
+ mBatteryBolt.setOnPreferenceChangeListener(this);
mBatteryStyle = (ListPreference) findPreference(STATUS_BAR_BATTERY_STYLE);
int batterystyle = Settings.System.getInt(resolver,
@@ -122,23 +128,48 @@ public class StatusBarSettings extends SettingsPreferenceFragment implements
Settings.System.NETWORK_TRAFFIC_AUTOHIDE_THRESHOLD, val,
UserHandle.USER_CURRENT);
return true;
+ } else if (preference == mBatteryCharging) {
+ boolean enabled = (Boolean) objValue;
+ Settings.System.putInt(getActivity().getContentResolver(),
+ Settings.System.STATUS_BAR_BATTERY_TEXT_CHARGING,
+ enabled ? 1 : 0);
+ updateBoltEnablement();
+ return true;
+ } else if (preference == mBatteryBolt) {
+ boolean enabled = (Boolean) objValue;
+ Settings.System.putInt(getActivity().getContentResolver(),
+ Settings.System.STATUS_BAR_BATTERY_CHARGING_BOLT,
+ enabled ? 1 : 0);
+ return true;
}
return false;
}
private void updateBatteryOptions(int batterystyle) {
- boolean enabled = batterystyle != BATTERY_STYLE_TEXT && batterystyle != BATTERY_STYLE_HIDDEN;
+ boolean enabled = batterystyle != BATTERY_STYLE_TEXT && batterystyle != BATTERY_STYLE_HIDDEN;
if (batterystyle == BATTERY_STYLE_HIDDEN) {
mBatteryPercent.setValue(BATTERY_PERCENTAGE_HIDDEN);
mBatteryPercent.setSummary(mBatteryPercent.getEntry());
Settings.System.putInt(getActivity().getContentResolver(),
Settings.System.STATUS_BAR_SHOW_BATTERY_PERCENT, 0);
}
- mBatteryCharging.setEnabled(enabled);
- mBatteryPercent.setEnabled(enabled);
+ mBatteryCharging.setEnabled(enabled);
+ mBatteryPercent.setEnabled(enabled);
+ updateBoltEnablement();
}
+ private void updateBoltEnablement() {
+ int batteryStyle = Settings.System.getInt(getActivity().getContentResolver(),
+ Settings.System.STATUS_BAR_BATTERY_STYLE, BATTERY_STYLE_Q);
+ boolean precentOnCharging = Settings.System.getInt(getActivity().getContentResolver(),
+ Settings.System.STATUS_BAR_BATTERY_TEXT_CHARGING, 1) == 1;
+ boolean textEnabled = batteryStyle == BATTERY_STYLE_TEXT ||
+ (batteryStyle == BATTERY_STYLE_HIDDEN && precentOnCharging);
+ mBatteryBolt.setEnabled(textEnabled);
+
+ }
+
@Override
public int getMetricsCategory() {
return MetricsProto.MetricsEvent.CHERISH_SETTINGS;