OmniGears: disable custom charging attributes for theme battery
theme is responsible for that
and while we are here remove those two useless list preferences
with switch and checkbox
Change-Id: I707ff4b5977f60b3e00aaca27f6fc6ebfa08713b
diff --git a/res/values/custom_arrays.xml b/res/values/custom_arrays.xml
index 837eaab..87aa59f 100644
--- a/res/values/custom_arrays.xml
+++ b/res/values/custom_arrays.xml
@@ -135,19 +135,6 @@
<item>#FFFF0000</item>
</string-array>
- <!-- show battery percent -->
- <string-array name="entries_battery_percent" translatable="false">
- <item>@string/battery_percent_none</item>
- <item>@string/battery_percent_always</item>
- <!--<item>@string/battery_percent_expanded</item>-->
- </string-array>
-
- <string-array name="values_battery_percent" translatable="false">
- <item>0</item>
- <item>1</item>
- <!--<item>2</item>-->
- </string-array>
-
<string-array name="navbar_recents_style_entries" translatable="false">
<item>@string/keys_action_app_switch_card</item>
<item>@string/keys_action_app_switch_grid</item>
diff --git a/res/values/custom_strings.xml b/res/values/custom_strings.xml
index 0f2d2da..9e282f7 100644
--- a/res/values/custom_strings.xml
+++ b/res/values/custom_strings.xml
@@ -182,9 +182,6 @@
<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>
- <string name="battery_percent_always">Always</string>
- <string name="battery_percent_expanded">Expanded</string>
<string name="statusbar_percent_inside_title">Percent overlay</string>
<string name="statusbar_percent_inside_summary">Display percent on top of the the battery image</string>
<string name="statusbar_charging_image_title">Charging indicator</string>
diff --git a/res/xml/statusbar_battery_settings.xml b/res/xml/statusbar_battery_settings.xml
index 1e3c7b0..95b10eb 100644
--- a/res/xml/statusbar_battery_settings.xml
+++ b/res/xml/statusbar_battery_settings.xml
@@ -17,13 +17,11 @@
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:settings="http://schemas.android.com/apk/res/com.android.settings">
- <ListPreference
+ <SwitchPreference
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"/>
+ android:defaultValue="true"/>
<ListPreference
android:key="statusbar_battery_style"
android:title="@string/battery_style_title"
@@ -31,13 +29,11 @@
android:entryValues="@*android:array/values_battery_styles"
android:persistent="false"
android:defaultValue="0"/>
- <ListPreference
+ <CheckBoxPreference
android:key="statusbar_battery_percent"
android:title="@string/battery_percent_title"
- android:entries="@array/entries_battery_percent"
- android:entryValues="@array/values_battery_percent"
android:persistent="false"
- android:defaultValue="1"/>
+ android:defaultValue="false"/>
<org.omnirom.omnigears.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 326e46e..00dc9d6 100644
--- a/src/org/omnirom/omnigears/interfacesettings/StatusbarBatterySettings.java
+++ b/src/org/omnirom/omnigears/interfacesettings/StatusbarBatterySettings.java
@@ -32,6 +32,7 @@
import android.support.v7.preference.PreferenceScreen;
import android.support.v7.preference.PreferenceCategory;
import android.support.v14.preference.PreferenceFragment;
+import android.support.v14.preference.SwitchPreference;
import android.provider.SearchIndexableResource;
import android.provider.Settings;
import android.provider.Settings.SettingNotFoundException;
@@ -67,13 +68,13 @@
private static final String STATUSBAR_CATEGORY_CHARGING = "statusbar_category_charging";
private ListPreference mBatteryStyle;
- private ListPreference mBatteryPercent;
+ private CheckBoxPreference mBatteryPercent;
private ColorPickerPreference mChargingColor;
private CheckBoxPreference mPercentInside;
private CheckBoxPreference mShowBolt;
private int mShowPercent;
private int mBatteryStyleValue;
- private ListPreference mBatteryEnable;
+ private SwitchPreference mBatteryEnable;
private int mShowBattery = 1;
private PreferenceCategory mChargingCategory;
@@ -98,12 +99,10 @@
mBatteryStyle.setSummary(mBatteryStyle.getEntry());
mBatteryStyle.setOnPreferenceChangeListener(this);
- mBatteryPercent = (ListPreference) findPreference(STATUSBAR_BATTERY_PERCENT);
+ mBatteryPercent = (CheckBoxPreference) findPreference(STATUSBAR_BATTERY_PERCENT);
mShowPercent = Settings.System.getInt(resolver,
Settings.System.STATUSBAR_BATTERY_PERCENT, 0);
-
- mBatteryPercent.setValue(Integer.toString(mShowPercent));
- mBatteryPercent.setSummary(mBatteryPercent.getEntry());
+ mBatteryPercent.setChecked(mShowPercent == 1);
mBatteryPercent.setOnPreferenceChangeListener(this);
mChargingColor = (ColorPickerPreference) prefScreen.findPreference(STATUSBAR_CHARGING_COLOR);
@@ -118,12 +117,10 @@
mShowBolt = (CheckBoxPreference) findPreference(STATUSBAR_BATTERY_SHOW_BOLT);
- mBatteryEnable = (ListPreference) findPreference(STATUSBAR_BATTERY_ENABLE);
+ mBatteryEnable = (SwitchPreference) 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.setChecked(mShowBattery == 1);
mBatteryEnable.setOnPreferenceChangeListener(this);
mChargingCategory = (PreferenceCategory) findPreference(STATUSBAR_CATEGORY_CHARGING);
@@ -148,12 +145,10 @@
Settings.System.STATUSBAR_BATTERY_STYLE, mBatteryStyleValue);
updateEnablement();
} else if (preference == mBatteryPercent) {
- mShowPercent = Integer.valueOf((String) newValue);
- int index = mBatteryPercent.findIndexOfValue((String) newValue);
- mBatteryPercent.setSummary(
- mBatteryPercent.getEntries()[index]);
+ Boolean value = (Boolean) newValue;
+ mShowPercent = value ? 1 : 0;
Settings.System.putInt(getContentResolver(),
- Settings.System.STATUSBAR_BATTERY_PERCENT, mShowPercent);
+ Settings.System.STATUSBAR_BATTERY_PERCENT, value ? 1 : 0);
updateEnablement();
} else if (preference == mChargingColor) {
String hexColor = String.format("#%08X", mChargingColor.getColor());
@@ -161,23 +156,28 @@
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]);
+ Boolean value = (Boolean) newValue;
+ mShowBattery = value ? 1 : 0;
Settings.System.putInt(getContentResolver(),
- Settings.System.STATUSBAR_BATTERY_ENABLE, mShowBattery);
+ Settings.System.STATUSBAR_BATTERY_ENABLE, value ? 1 : 0);
updateEnablement();
}
return true;
}
private void updateEnablement() {
- mPercentInside.setEnabled(mShowBattery != 0 && mBatteryStyleValue != 3 && mBatteryStyleValue != 4 && mShowPercent != 0);
- mShowBolt.setEnabled(mBatteryStyleValue != 3 && mBatteryStyleValue != 4);
+ if (mBatteryStyleValue == 5) {
+ // theme
+ mPercentInside.setEnabled(false);
+ mShowBolt.setEnabled(false);
+ mBatteryPercent.setEnabled(false);
+ } else {
+ mPercentInside.setEnabled(mShowBattery != 0 && mBatteryStyleValue != 3 && mBatteryStyleValue != 4 && mShowPercent != 0);
+ mShowBolt.setEnabled(mBatteryStyleValue != 3 && mBatteryStyleValue != 4);
+ mBatteryPercent.setEnabled(mShowBattery != 0 && mBatteryStyleValue != 3);
+ }
mBatteryStyle.setEnabled(mShowBattery != 0);
- mBatteryPercent.setEnabled(mShowBattery != 0 && mBatteryStyleValue != 3);
- mChargingCategory.setEnabled(mShowBattery != 0);
+ mChargingCategory.setEnabled(mShowBattery != 0 && mBatteryStyleValue != 5);
}
public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =