[2/2] OmniGears: battery styles are back
Change-Id: I0ab26a8ef8681629ed71378a438c7e3e8d60e63a
diff --git a/res/values/custom_dimens.xml b/res/values/custom_dimens.xml
index 73b9b17..beb265a 100755
--- a/res/values/custom_dimens.xml
+++ b/res/values/custom_dimens.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2014 The OmniROM Project
+<!-- Copyright (C) 2016 The OmniROM Project
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -16,7 +16,7 @@
-->
<resources>
- <dimen name="color_preference_width">16dip</dimen>
- <dimen name="color_preference_height">16dip</dimen>
- <dimen name="color_preference_height_large">32dip</dimen>
+ <dimen name="alert_dialog_padding_material">20dp</dimen>
+ <dimen name="color_preference_width">18dip</dimen>
+ <dimen name="color_preference_height">18dip</dimen>
</resources>
diff --git a/res/values/custom_strings.xml b/res/values/custom_strings.xml
index 58d4b77..d55fd24 100644
--- a/res/values/custom_strings.xml
+++ b/res/values/custom_strings.xml
@@ -161,6 +161,7 @@
<string name="statusbar_title">Status bar</string>
<string name="battery_title">Battery display</string>
+ <string name="statusbar_battery_summary">Set style of status bar battery display</string>
<string name="battery_style_title">Style</string>
<string name="battery_percent_title">Show percent</string>
<string name="battery_percent_none">Never</string>
@@ -171,7 +172,9 @@
<string name="statusbar_charging_image_title">Charging indicator</string>
<string name="statusbar_category_charging_title">Charging</string>
<string name="statusbar_charging_image_summary">Display bolt indicator while charging. Hides percent overlay</string>
- <string name="statusbar_battery_charging_color_title">Color battery while charging</string>
+ <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="button_brightness_title">Brightness</string>
<string name="button_brightness_summary">Button backlight brightness</string>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
deleted file mode 100644
index 3c299cc..0000000
--- a/res/values/dimens.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- Copyright (C) 2015 The OmniROM Project
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
--->
-<resources>
- <dimen name="alert_dialog_padding_material">20dp</dimen>
-</resources>
diff --git a/res/xml/bars_settings.xml b/res/xml/bars_settings.xml
index 5d61fa2..12c196e 100644
--- a/res/xml/bars_settings.xml
+++ b/res/xml/bars_settings.xml
@@ -34,10 +34,11 @@
android:summary="@string/double_tap_to_sleep_summary"
android:defaultValue="false" />
- <!--<PreferenceScreen
+ <PreferenceScreen
android:key="statusbar_battery"
android:title="@string/battery_title"
- android:fragment="org.omnirom.omnigears.interfacesettings.StatusbarBatterySettings" />-->
+ android:summary="@string/statusbar_battery_summary"
+ android:fragment="org.omnirom.omnigears.interfacesettings.StatusbarBatterySettings" />
<PreferenceScreen
android:title="@string/status_bar_icon_blacklist_title"
diff --git a/res/xml/statusbar_battery_settings.xml b/res/xml/statusbar_battery_settings.xml
index 21aec74..5080042 100644
--- a/res/xml/statusbar_battery_settings.xml
+++ b/res/xml/statusbar_battery_settings.xml
@@ -23,7 +23,8 @@
android:title="@string/battery_style_title"
android:entries="@*android:array/entries_battery_styles"
android:entryValues="@*android:array/values_battery_styles"
- android:persistent="false"/>
+ android:persistent="false"
+ android:defaultValue="0"/>
<ListPreference
android:key="statusbar_battery_percent"
android:title="@string/battery_percent_title"
@@ -45,10 +46,16 @@
android:title="@string/statusbar_charging_image_title"
android:summary="@string/statusbar_charging_image_summary"
android:defaultValue="true"/>
+ <com.android.settings.preference.SystemCheckBoxPreference
+ android:key="statusbar_battery_charging_color_enable"
+ android:title="@string/statusbar_battery_charging_color_enable_title"
+ android:summary="@string/statusbar_battery_charging_color_enable_summary"
+ android:defaultValue="true"/>
<org.omnirom.omnigears.ui.ColorPickerPreference
android:key="statusbar_battery_charging_color"
android:title="@string/statusbar_battery_charging_color_title"
- android:persistent="false" />
+ android:persistent="false"
+ android:dependency ="statusbar_battery_charging_color_enable"/>
</PreferenceCategory>
</PreferenceScreen>
diff --git a/src/org/omnirom/omnigears/interfacesettings/StatusbarBatterySettings.java b/src/org/omnirom/omnigears/interfacesettings/StatusbarBatterySettings.java
index ffb2b2d..713e715 100644
--- a/src/org/omnirom/omnigears/interfacesettings/StatusbarBatterySettings.java
+++ b/src/org/omnirom/omnigears/interfacesettings/StatusbarBatterySettings.java
@@ -26,6 +26,7 @@
import android.net.TrafficStats;
import android.os.Bundle;
import android.os.RemoteException;
+import android.preference.CheckBoxPreference;
import android.preference.ListPreference;
import android.preference.Preference;
import android.preference.PreferenceGroup;
@@ -60,10 +61,16 @@
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 ListPreference mBatteryStyle;
private ListPreference mBatteryPercent;
private ColorPickerPreference mChargingColor;
+ private CheckBoxPreference mPercentInside;
+ private CheckBoxPreference mShowBolt;
+ private int mShowPercent;
+ private int mBatteryStyleValue;
@Override
protected int getMetricsCategory() {
@@ -79,18 +86,18 @@
ContentResolver resolver = getActivity().getContentResolver();
mBatteryStyle = (ListPreference) findPreference(STATUSBAR_BATTERY_STYLE);
- int batteryStyle = Settings.System.getInt(resolver,
+ mBatteryStyleValue = Settings.System.getInt(resolver,
Settings.System.STATUSBAR_BATTERY_STYLE, 0);
- mBatteryStyle.setValue(Integer.toString(batteryStyle));
+ mBatteryStyle.setValue(Integer.toString(mBatteryStyleValue));
mBatteryStyle.setSummary(mBatteryStyle.getEntry());
mBatteryStyle.setOnPreferenceChangeListener(this);
mBatteryPercent = (ListPreference) findPreference(STATUSBAR_BATTERY_PERCENT);
- int batteryPercent = Settings.System.getInt(resolver,
+ mShowPercent = Settings.System.getInt(resolver,
Settings.System.STATUSBAR_BATTERY_PERCENT, 2);
- mBatteryPercent.setValue(Integer.toString(batteryPercent));
+ mBatteryPercent.setValue(Integer.toString(mShowPercent));
mBatteryPercent.setSummary(mBatteryPercent.getEntry());
mBatteryPercent.setOnPreferenceChangeListener(this);
@@ -101,6 +108,12 @@
String hexColor = String.format("#%08X", chargingColor);
mChargingColor.setSummary(hexColor);
mChargingColor.setOnPreferenceChangeListener(this);
+
+ mPercentInside = (CheckBoxPreference) findPreference(STATUSBAT_BATTERY_PERCENT_INSIDE);
+ mPercentInside.setEnabled(mBatteryStyleValue < 3 && mShowPercent != 0);
+
+ mShowBolt = (CheckBoxPreference) findPreference(STATUSBAT_BATTERY_SHOW_BOLT);
+ mShowBolt.setEnabled(mBatteryStyleValue < 3);
}
@Override
@@ -113,19 +126,22 @@
public boolean onPreferenceChange(Preference preference, Object newValue) {
ContentResolver resolver = getActivity().getContentResolver();
if (preference == mBatteryStyle) {
- int value = Integer.valueOf((String) newValue);
+ 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, value);
+ Settings.System.STATUSBAR_BATTERY_STYLE, mBatteryStyleValue);
} else if (preference == mBatteryPercent) {
- int value = Integer.valueOf((String) newValue);
+ 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, value);
+ Settings.System.STATUSBAR_BATTERY_PERCENT, mShowPercent);
} else if (preference == mChargingColor) {
String hexColor = String.format("#%08X", mChargingColor.getColor());
mChargingColor.setSummary(hexColor);