[2/2] OmniGears: add battery display config
everything else on the statusbar can be hidden
why not also the battery if you want
Change-Id: I0dbc54dadfe06a98bb1b22ad4256e26b8ebbed2e
diff --git a/res/values/custom_strings.xml b/res/values/custom_strings.xml
index 0cbbb6e..2dd3d1e 100644
--- a/res/values/custom_strings.xml
+++ b/res/values/custom_strings.xml
@@ -175,6 +175,7 @@
<string name="statusbar_battery_charging_color_title">Color</string>
<string name="statusbar_battery_charging_color_enable_title">Color while charging</string>
<string name="statusbar_battery_charging_color_enable_summary"></string>
+ <string name="battery_enable_title">Show battery</string>
<string name="button_brightness_title">Brightness</string>
<string name="button_brightness_summary">Button backlight brightness</string>
diff --git a/res/xml/statusbar_battery_settings.xml b/res/xml/statusbar_battery_settings.xml
index 5ceb438..0eb7c13 100644
--- a/res/xml/statusbar_battery_settings.xml
+++ b/res/xml/statusbar_battery_settings.xml
@@ -19,6 +19,13 @@
xmlns:settings="http://schemas.android.com/apk/res/com.android.settings">
<ListPreference
+ android:key="statusbar_battery_enable"
+ android:title="@string/battery_enable_title"
+ android:entries="@array/entries_battery_percent"
+ android:entryValues="@array/values_battery_percent"
+ android:persistent="false"
+ android:defaultValue="1"/>
+ <ListPreference
android:key="statusbar_battery_style"
android:title="@string/battery_style_title"
android:entries="@*android:array/entries_battery_styles"
@@ -30,7 +37,8 @@
android:title="@string/battery_percent_title"
android:entries="@array/entries_battery_percent"
android:entryValues="@array/values_battery_percent"
- android:persistent="false"/>
+ android:persistent="false"
+ android:defaultValue="2"/>
<com.android.settings.preference.SystemCheckBoxPreference
android:key="statusbar_battery_percent_inside"
android:title="@string/statusbar_percent_inside_title"
diff --git a/src/org/omnirom/omnigears/interfacesettings/StatusbarBatterySettings.java b/src/org/omnirom/omnigears/interfacesettings/StatusbarBatterySettings.java
index 1d41cda..ecb3d51 100644
--- a/src/org/omnirom/omnigears/interfacesettings/StatusbarBatterySettings.java
+++ b/src/org/omnirom/omnigears/interfacesettings/StatusbarBatterySettings.java
@@ -61,8 +61,10 @@
private static final String STATUSBAR_BATTERY_STYLE = "statusbar_battery_style";
private static final String STATUSBAR_BATTERY_PERCENT = "statusbar_battery_percent";
private static final String STATUSBAR_CHARGING_COLOR = "statusbar_battery_charging_color";
- private static final String STATUSBAT_BATTERY_PERCENT_INSIDE = "statusbar_battery_percent_inside";
- private static final String STATUSBAT_BATTERY_SHOW_BOLT = "statusbar_battery_charging_image";
+ private static final String STATUSBAR_BATTERY_PERCENT_INSIDE = "statusbar_battery_percent_inside";
+ private static final String STATUSBAR_BATTERY_SHOW_BOLT = "statusbar_battery_charging_image";
+ private static final String STATUSBAR_BATTERY_ENABLE = "statusbar_battery_enable";
+ private static final String STATUSBAR_CATEGORY_CHARGING = "statusbar_category_charging";
private ListPreference mBatteryStyle;
private ListPreference mBatteryPercent;
@@ -71,6 +73,9 @@
private CheckBoxPreference mShowBolt;
private int mShowPercent;
private int mBatteryStyleValue;
+ private ListPreference mBatteryEnable;
+ private int mShowBattery = 1;
+ private PreferenceCategory mChargingCategory;
@Override
protected int getMetricsCategory() {
@@ -109,11 +114,20 @@
mChargingColor.setSummary(hexColor);
mChargingColor.setOnPreferenceChangeListener(this);
- mPercentInside = (CheckBoxPreference) findPreference(STATUSBAT_BATTERY_PERCENT_INSIDE);
- mPercentInside.setEnabled(mBatteryStyleValue < 3 && mShowPercent != 0);
+ mPercentInside = (CheckBoxPreference) findPreference(STATUSBAR_BATTERY_PERCENT_INSIDE);
- mShowBolt = (CheckBoxPreference) findPreference(STATUSBAT_BATTERY_SHOW_BOLT);
- mShowBolt.setEnabled(mBatteryStyleValue < 3);
+ mShowBolt = (CheckBoxPreference) findPreference(STATUSBAR_BATTERY_SHOW_BOLT);
+
+ mBatteryEnable = (ListPreference) findPreference(STATUSBAR_BATTERY_ENABLE);
+ mShowBattery = Settings.System.getInt(resolver,
+ Settings.System.STATUSBAR_BATTERY_ENABLE, 1);
+
+ mBatteryEnable.setValue(Integer.toString(mShowBattery));
+ mBatteryEnable.setSummary(mBatteryEnable.getEntry());
+ mBatteryEnable.setOnPreferenceChangeListener(this);
+
+ mChargingCategory = (PreferenceCategory) findPreference(STATUSBAR_CATEGORY_CHARGING);
+ updateEnablement();
}
@Override
@@ -128,29 +142,44 @@
if (preference == mBatteryStyle) {
mBatteryStyleValue = Integer.valueOf((String) newValue);
int index = mBatteryStyle.findIndexOfValue((String) newValue);
- mPercentInside.setEnabled(mBatteryStyleValue < 3 && mShowPercent != 0);
- mShowBolt.setEnabled(mBatteryStyleValue < 3);
mBatteryStyle.setSummary(
mBatteryStyle.getEntries()[index]);
Settings.System.putInt(getContentResolver(),
Settings.System.STATUSBAR_BATTERY_STYLE, mBatteryStyleValue);
+ updateEnablement();
} else if (preference == mBatteryPercent) {
mShowPercent = Integer.valueOf((String) newValue);
int index = mBatteryPercent.findIndexOfValue((String) newValue);
- mPercentInside.setEnabled(mBatteryStyleValue < 3 && mShowPercent != 0);
mBatteryPercent.setSummary(
mBatteryPercent.getEntries()[index]);
Settings.System.putInt(getContentResolver(),
Settings.System.STATUSBAR_BATTERY_PERCENT, mShowPercent);
+ updateEnablement();
} else if (preference == mChargingColor) {
String hexColor = String.format("#%08X", mChargingColor.getColor());
mChargingColor.setSummary(hexColor);
Settings.System.putInt(resolver,
Settings.System.STATUSBAR_BATTERY_CHARGING_COLOR, mChargingColor.getColor());
+ } else if (preference == mBatteryEnable) {
+ mShowBattery = Integer.valueOf((String) newValue);
+ int index = mBatteryEnable.findIndexOfValue((String) newValue);
+ mBatteryEnable.setSummary(
+ mBatteryEnable.getEntries()[index]);
+ Settings.System.putInt(getContentResolver(),
+ Settings.System.STATUSBAR_BATTERY_ENABLE, mShowBattery);
+ updateEnablement();
}
return true;
}
+ private void updateEnablement() {
+ mPercentInside.setEnabled(mShowBattery != 0 && mBatteryStyleValue < 3 && mShowPercent != 0);
+ mShowBolt.setEnabled(mBatteryStyleValue < 3);
+ mBatteryStyle.setEnabled(mShowBattery != 0);
+ mBatteryPercent.setEnabled(mShowBattery != 0);
+ mChargingCategory.setEnabled(mShowBattery != 0);
+ }
+
public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
new BaseSearchIndexProvider() {
@Override