-
-
Save Razziell/ea7ef841093d23168301430fad3a953e to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Фреймворк: | |
From 19abe51e94f16616177a8cef1eb8ee522cd77993 Mon Sep 17 00:00:00 2001 | |
From: Razziell <razziell@ya.ru> | |
Date: Mon, 7 May 2018 20:41:48 +0300 | |
Subject: [PATCH] Battery light: 100% charged level (1/3) | |
--- | |
core/res/res/values/config.xml | 5 ++++- | |
core/res/res/values/symbols.xml | 1 + | |
services/core/java/com/android/server/BatteryService.java | 3 +++ | |
3 files changed, 8 insertions(+), 1 deletion(-) | |
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml | |
index a3e623f..c3d510c 100644 | |
--- a/core/res/res/values/config.xml | |
+++ b/core/res/res/values/config.xml | |
@@ -1078,7 +1078,10 @@ | |
<integer name="config_notificationsBatteryMediumARGB">0xFFFFFF00</integer> | |
<!-- Default value for led color when battery is fully charged --> | |
- <integer name="config_notificationsBatteryFullARGB">0xFF00FF00</integer> | |
+ <integer name="config_notificationsBatteryFullARGB">0xFF0000FF</integer> | |
+ | |
+ <!-- Default value for led color when battery is really fully charged --> | |
+ <integer name="config_notificationsBatteryReallyFullARGB">0xFF00FF00</integer> | |
<!-- Default value for LED on time when the battery is low on charge in miliseconds --> | |
<integer name="config_notificationsBatteryLedOn">125</integer> | |
diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml | |
index 2e8055d..6f2648d 100644 | |
--- a/core/res/res/values/symbols.xml | |
+++ b/core/res/res/values/symbols.xml | |
@@ -1832,6 +1832,7 @@ | |
<java-symbol type="bool" name="config_apfDrop802_3Frames" /> | |
<java-symbol type="integer" name="config_networkMeteredMultipathPreference" /> | |
<java-symbol type="integer" name="config_notificationsBatteryFullARGB" /> | |
+ <java-symbol type="integer" name="config_notificationsBatteryReallyFullARGB" /> | |
<java-symbol type="integer" name="config_notificationsBatteryLedOff" /> | |
<java-symbol type="integer" name="config_notificationsBatteryLedOn" /> | |
<java-symbol type="integer" name="config_notificationsBatteryLowARGB" /> | |
diff --git a/services/core/java/com/android/server/BatteryService.java b/services/core/java/com/android/server/BatteryService.java | |
index 0837252..d55d29d 100644 | |
--- a/services/core/java/com/android/server/BatteryService.java | |
+++ b/services/core/java/com/android/server/BatteryService.java | |
@@ -959,6 +959,7 @@ public final class BatteryService extends SystemService { | |
private final int mBatteryLowARGB; | |
private final int mBatteryMediumARGB; | |
private final int mBatteryFullARGB; | |
+ private final int mBatteryReallyFullARGB; | |
private final int mBatteryLedOn; | |
private final int mBatteryLedOff; | |
@@ -971,6 +972,8 @@ public final class BatteryService extends SystemService { | |
com.android.internal.R.integer.config_notificationsBatteryMediumARGB); | |
mBatteryFullARGB = context.getResources().getInteger( | |
com.android.internal.R.integer.config_notificationsBatteryFullARGB); | |
+ mBatteryReallyFullARGB = context.getResources().getInteger( | |
+ com.android.internal.R.integer.config_notificationsBatteryReallyFullARGB); | |
mBatteryLedOn = context.getResources().getInteger( | |
com.android.internal.R.integer.config_notificationsBatteryLedOn); | |
mBatteryLedOff = context.getResources().getInteger( | |
-- | |
2.7.4 | |
lineage-sdk: | |
From e20208903cabf33f94826ad500d3f356627d2779 Mon Sep 17 00:00:00 2001 | |
From: Razziell <razziell@ya.ru> | |
Date: Mon, 7 May 2018 20:53:14 +0300 | |
Subject: [PATCH] Battery light: 100% charged level (3/3) | |
--- | |
api/lineage_current.txt | 1 + | |
.../java/lineageos/providers/LineageSettings.java | 11 +++++++++++ | |
.../internal/notification/LineageBatteryLights.java | 20 +++++++++++++++++--- | |
3 files changed, 29 insertions(+), 3 deletions(-) | |
diff --git a/api/lineage_current.txt b/api/lineage_current.txt | |
index 9f36306..114fdab 100644 | |
--- a/api/lineage_current.txt | |
+++ b/api/lineage_current.txt | |
@@ -797,6 +797,7 @@ package lineageos.providers { | |
field public static final java.lang.String BATTERY_LIGHT_BRIGHTNESS_LEVEL = "battery_light_brightness_level"; | |
field public static final java.lang.String BATTERY_LIGHT_BRIGHTNESS_LEVEL_ZEN = "battery_light_brightness_level_zen"; | |
field public static final java.lang.String BATTERY_LIGHT_ENABLED = "battery_light_enabled"; | |
+ field public static final java.lang.String BATTERY_LIGHT_REALLY_FULL_COLOR = "battery_light_really_full_color"; | |
field public static final java.lang.String BATTERY_LIGHT_FULL_COLOR = "battery_light_full_color"; | |
field public static final java.lang.String BATTERY_LIGHT_LOW_COLOR = "battery_light_low_color"; | |
field public static final java.lang.String BATTERY_LIGHT_MEDIUM_COLOR = "battery_light_medium_color"; | |
diff --git a/sdk/src/java/lineageos/providers/LineageSettings.java b/sdk/src/java/lineageos/providers/LineageSettings.java | |
index aa154fd..1b1d708 100644 | |
--- a/sdk/src/java/lineageos/providers/LineageSettings.java | |
+++ b/sdk/src/java/lineageos/providers/LineageSettings.java | |
@@ -1302,6 +1302,15 @@ public final class LineageSettings { | |
sColorValidator; | |
/** | |
+ * What color to use for the battery LED while charging - really full | |
+ */ | |
+ public static final String BATTERY_LIGHT_REALLY_FULL_COLOR = "battery_light_really_full_color"; | |
+ | |
+ /** @hide */ | |
+ public static final Validator BATTERY_LIGHT_REALLY_FULL_COLOR_VALIDATOR = | |
+ sColorValidator; | |
+ | |
+ /** | |
* Sprint MWI Quirk: Show message wait indicator notifications | |
* @hide | |
*/ | |
@@ -2057,6 +2066,7 @@ public final class LineageSettings { | |
LineageSettings.System.BATTERY_LIGHT_LOW_COLOR, | |
LineageSettings.System.BATTERY_LIGHT_MEDIUM_COLOR, | |
LineageSettings.System.BATTERY_LIGHT_FULL_COLOR, | |
+ LineageSettings.System.BATTERY_LIGHT_REALLY_FULL_COLOR, | |
LineageSettings.System.ENABLE_MWI_NOTIFICATION, | |
LineageSettings.System.PROXIMITY_ON_WAKE, | |
LineageSettings.System.ENABLE_FORWARD_LOOKUP, | |
@@ -2211,6 +2221,7 @@ public final class LineageSettings { | |
VALIDATORS.put(BATTERY_LIGHT_LOW_COLOR, BATTERY_LIGHT_LOW_COLOR_VALIDATOR); | |
VALIDATORS.put(BATTERY_LIGHT_MEDIUM_COLOR, BATTERY_LIGHT_MEDIUM_COLOR_VALIDATOR); | |
VALIDATORS.put(BATTERY_LIGHT_FULL_COLOR, BATTERY_LIGHT_FULL_COLOR_VALIDATOR); | |
+ VALIDATORS.put(BATTERY_LIGHT_REALLY_FULL_COLOR, BATTERY_LIGHT_REALLY_FULL_COLOR_VALIDATOR); | |
VALIDATORS.put(ENABLE_MWI_NOTIFICATION, ENABLE_MWI_NOTIFICATION_VALIDATOR); | |
VALIDATORS.put(PROXIMITY_ON_WAKE, PROXIMITY_ON_WAKE_VALIDATOR); | |
VALIDATORS.put(BERRY_GLOBAL_STYLE, BERRY_GLOBAL_STYLE_VALIDATOR); | |
diff --git a/sdk/src/java/org/lineageos/internal/notification/LineageBatteryLights.java b/sdk/src/java/org/lineageos/internal/notification/LineageBatteryLights.java | |
index a318ce1..2b8cf6c 100644 | |
--- a/sdk/src/java/org/lineageos/internal/notification/LineageBatteryLights.java | |
+++ b/sdk/src/java/org/lineageos/internal/notification/LineageBatteryLights.java | |
@@ -55,6 +55,7 @@ public final class LineageBatteryLights { | |
private int mBatteryLowARGB; | |
private int mBatteryMediumARGB; | |
private int mBatteryFullARGB; | |
+ private int mBatteryReallyFullARGB; | |
private int mBatteryBrightnessLevel; | |
private int mBatteryBrightnessZenLevel; | |
@@ -166,9 +167,15 @@ public final class LineageBatteryLights { | |
} else if (status == BatteryManager.BATTERY_STATUS_CHARGING | |
|| status == BatteryManager.BATTERY_STATUS_FULL) { | |
if (status == BatteryManager.BATTERY_STATUS_FULL || level >= 90) { | |
- // Battery is full or charging and nearly full. | |
- ledValues.setColor(mBatteryFullARGB); | |
- ledValues.setSolid(); | |
+ if (level == 100) { | |
+ // Battery is really full | |
+ ledValues.setColor(mBatteryReallyFullARGB); | |
+ ledValues.setSolid(); | |
+ } else { | |
+ // Battery is full or charging and nearly full | |
+ ledValues.setColor(mBatteryFullARGB); | |
+ ledValues.setSolid(); | |
+ } | |
} else { | |
// Battery is charging and not nearly full. | |
ledValues.setColor(mBatteryMediumARGB); | |
@@ -226,6 +233,9 @@ public final class LineageBatteryLights { | |
resolver.registerContentObserver(LineageSettings.System.getUriFor( | |
LineageSettings.System.BATTERY_LIGHT_FULL_COLOR), false, this, | |
UserHandle.USER_ALL); | |
+ resolver.registerContentObserver(LineageSettings.System.getUriFor( | |
+ LineageSettings.System.BATTERY_LIGHT_REALLY_FULL_COLOR), false, this, | |
+ UserHandle.USER_ALL); | |
} | |
if (mCanAdjustBrightness) { | |
@@ -274,6 +284,10 @@ public final class LineageBatteryLights { | |
LineageSettings.System.BATTERY_LIGHT_FULL_COLOR, res.getInteger( | |
com.android.internal.R.integer.config_notificationsBatteryFullARGB), | |
UserHandle.USER_CURRENT); | |
+ mBatteryReallyFullARGB = LineageSettings.System.getIntForUser(resolver, | |
+ LineageSettings.System.BATTERY_LIGHT_REALLY_FULL_COLOR, res.getInteger( | |
+ com.android.internal.R.integer.config_notificationsBatteryReallyFullARGB), | |
+ UserHandle.USER_CURRENT); | |
// Adustable battery LED brightness. | |
if (mCanAdjustBrightness) { | |
-- | |
2.7.4 | |
LineageParts: | |
From 5ac901429833ecb692781af7a40495fcb6c41d93 Mon Sep 17 00:00:00 2001 | |
From: Razziell <razziell@ya.ru> | |
Date: Mon, 7 May 2018 20:45:15 +0300 | |
Subject: [PATCH] Battery light: 100% charged level (2/3) | |
--- | |
res/values-ru/strings.xml | 3 ++- | |
res/values/strings.xml | 3 ++- | |
res/xml/battery_light_settings.xml | 5 +++++ | |
.../notificationlight/BatteryLightSettings.java | 25 +++++++++++++++++++++- | |
4 files changed, 33 insertions(+), 3 deletions(-) | |
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml | |
index 9d05376..f8a3a3b 100644 | |
--- a/res/values-ru/strings.xml | |
+++ b/res/values-ru/strings.xml | |
@@ -86,7 +86,8 @@ | |
<string name="battery_light_list_title">Цвета</string> | |
<string name="battery_light_low_color_title">Батарея разряжена</string> | |
<string name="battery_light_medium_color_title">Заряжается</string> | |
- <string name="battery_light_full_color_title">Полностью заряжена</string> | |
+ <string name="battery_light_full_color_title">Заряжена (90%)</string> | |
+ <string name="battery_light_really_full_color_title">Полностью заряжена</string> | |
<!-- Lights settings screen, notification light settings --> | |
<string name="notification_light_title">Индикация уведомлений</string> | |
<string name="notification_light_general_title">Общие</string> | |
diff --git a/res/values/strings.xml b/res/values/strings.xml | |
index 16e20b9..3d835e5 100644 | |
--- a/res/values/strings.xml | |
+++ b/res/values/strings.xml | |
@@ -96,7 +96,8 @@ | |
<string name="battery_light_list_title">Colors</string> | |
<string name="battery_light_low_color_title">Battery low</string> | |
<string name="battery_light_medium_color_title">Charging</string> | |
- <string name="battery_light_full_color_title">Fully charged</string> | |
+ <string name="battery_light_full_color_title">Charged (90%)</string> | |
+ <string name="battery_light_really_full_color_title">Charged (100%)</string> | |
<string name="battery_light_brightness_normal" translatable="false">@string/light_brightness_normal</string> | |
<string name="battery_light_brightness_zen" translatable="false">@string/light_brightness_zen</string> | |
diff --git a/res/xml/battery_light_settings.xml b/res/xml/battery_light_settings.xml | |
index eb2b671..b94a05c 100644 | |
--- a/res/xml/battery_light_settings.xml | |
+++ b/res/xml/battery_light_settings.xml | |
@@ -55,6 +55,11 @@ | |
android:title="@string/battery_light_full_color_title" | |
android:persistent="false" /> | |
+ <org.lineageos.lineageparts.notificationlight.ApplicationLightPreference | |
+ android:key="really_full_color" | |
+ android:title="@string/battery_light_really_full_color_title" | |
+ android:persistent="false" /> | |
+ | |
</PreferenceCategory> | |
<PreferenceCategory | |
diff --git a/src/org/lineageos/lineageparts/notificationlight/BatteryLightSettings.java b/src/org/lineageos/lineageparts/notificationlight/BatteryLightSettings.java | |
index c723156..94ca3ca 100644 | |
--- a/src/org/lineageos/lineageparts/notificationlight/BatteryLightSettings.java | |
+++ b/src/org/lineageos/lineageparts/notificationlight/BatteryLightSettings.java | |
@@ -20,6 +20,7 @@ import android.content.ContentResolver; | |
import android.content.Context; | |
import android.content.res.Resources; | |
import android.os.Bundle; | |
+import android.provider.Settings; | |
import android.support.v7.preference.Preference; | |
import android.support.v7.preference.PreferenceGroup; | |
import android.support.v7.preference.PreferenceScreen; | |
@@ -45,6 +46,7 @@ public class BatteryLightSettings extends SettingsPreferenceFragment implements | |
private static final String LOW_COLOR_PREF = "low_color"; | |
private static final String MEDIUM_COLOR_PREF = "medium_color"; | |
private static final String FULL_COLOR_PREF = "full_color"; | |
+ private static final String REALLY_FULL_COLOR_PREF = "really_full_color"; | |
private static final String LIGHT_ENABLED_PREF = "battery_light_enabled"; | |
private static final String PULSE_ENABLED_PREF = "battery_light_pulse"; | |
private static final String BRIGHTNESS_PREFERENCE = "battery_light_brightness_level"; | |
@@ -54,6 +56,7 @@ public class BatteryLightSettings extends SettingsPreferenceFragment implements | |
private ApplicationLightPreference mLowColorPref; | |
private ApplicationLightPreference mMediumColorPref; | |
private ApplicationLightPreference mFullColorPref; | |
+ private ApplicationLightPreference mReallyFullColorPref; | |
private LineageSystemSettingSwitchPreference mLightEnabledPref; | |
private LineageSystemSettingSwitchPreference mPulseEnabledPref; | |
private BatteryBrightnessPreference mBatteryBrightnessPref; | |
@@ -61,6 +64,7 @@ public class BatteryLightSettings extends SettingsPreferenceFragment implements | |
private int mDefaultLowColor; | |
private int mDefaultMediumColor; | |
private int mDefaultFullColor; | |
+ private int mDefaultReallyFullColor; | |
private int mBatteryBrightness; | |
// liblights supports brightness control | |
private boolean mHALAdjustableBrightness; | |
@@ -107,6 +111,8 @@ public class BatteryLightSettings extends SettingsPreferenceFragment implements | |
com.android.internal.R.integer.config_notificationsBatteryMediumARGB); | |
mDefaultFullColor = res.getInteger( | |
com.android.internal.R.integer.config_notificationsBatteryFullARGB); | |
+ mDefaultReallyFullColor = res.getInteger( | |
+ com.android.internal.R.integer.config_notificationsBatteryReallyFullARGB); | |
mBatteryBrightness = mBatteryBrightnessPref.getBrightnessSetting(); | |
@@ -133,6 +139,11 @@ public class BatteryLightSettings extends SettingsPreferenceFragment implements | |
mFullColorPref.setDefaultValues(mDefaultFullColor, 0, 0); | |
mFullColorPref.setBrightness(mBatteryBrightness); | |
+ mReallyFullColorPref = (ApplicationLightPreference) prefSet.findPreference(REALLY_FULL_COLOR_PREF); | |
+ mReallyFullColorPref.setOnPreferenceChangeListener(this); | |
+ mReallyFullColorPref.setDefaultValues(mDefaultReallyFullColor, 0, 0); | |
+ mReallyFullColorPref.setBrightness(mBatteryBrightness); | |
+ | |
final BrightnessPreference.OnBrightnessChangedListener brightnessListener = | |
new BrightnessPreference.OnBrightnessChangedListener() { | |
@Override | |
@@ -140,6 +151,7 @@ public class BatteryLightSettings extends SettingsPreferenceFragment implements | |
mLowColorPref.setBrightness(brightness); | |
mMediumColorPref.setBrightness(brightness); | |
mFullColorPref.setBrightness(brightness); | |
+ mReallyFullColorPref.setBrightness(brightness); | |
} | |
}; | |
mBatteryBrightnessPref.setOnBrightnessChangedListener(brightnessListener); | |
@@ -182,8 +194,15 @@ public class BatteryLightSettings extends SettingsPreferenceFragment implements | |
int fullColor = LineageSettings.System.getInt(resolver, | |
LineageSettings.System.BATTERY_LIGHT_FULL_COLOR, mDefaultFullColor); | |
mFullColorPref.setAllValues(fullColor, 0, 0, false); | |
- updateBrightnessPrefColor(fullColor); | |
} | |
+ | |
+ if (mReallyFullColorPref != null) { | |
+ int reallyfullColor = LineageSettings.System.getInt(resolver, | |
+ LineageSettings.System.BATTERY_LIGHT_REALLY_FULL_COLOR, mDefaultReallyFullColor); | |
+ mReallyFullColorPref.setAllValues(reallyfullColor, 0, 0, false); | |
+ updateBrightnessPrefColor(reallyfullColor); | |
+ } | |
+ | |
} | |
private void updateBrightnessPrefColor(int color) { | |
@@ -211,6 +230,8 @@ public class BatteryLightSettings extends SettingsPreferenceFragment implements | |
LineageSettings.System.putInt(resolver, LineageSettings.System.BATTERY_LIGHT_MEDIUM_COLOR, color); | |
} else if (key.equals(FULL_COLOR_PREF)) { | |
LineageSettings.System.putInt(resolver, LineageSettings.System.BATTERY_LIGHT_FULL_COLOR, color); | |
+ } else if (key.equals(REALLY_FULL_COLOR_PREF)) { | |
+ LineageSettings.System.putInt(resolver, LineageSettings.System.BATTERY_LIGHT_REALLY_FULL_COLOR, color); | |
updateBrightnessPrefColor(color); | |
} | |
} | |
@@ -246,6 +267,8 @@ public class BatteryLightSettings extends SettingsPreferenceFragment implements | |
mDefaultMediumColor); | |
LineageSettings.System.putInt(resolver, LineageSettings.System.BATTERY_LIGHT_FULL_COLOR, | |
mDefaultFullColor); | |
+ LineageSettings.System.putInt(resolver, LineageSettings.System.BATTERY_LIGHT_REALLY_FULL_COLOR, | |
+ mDefaultReallyFullColor); | |
refreshColors(); | |
} | |
-- | |
2.7.4 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment