diff --git a/README.md b/README.md index 184cff4..9048fc5 100644 --- a/README.md +++ b/README.md @@ -623,6 +623,9 @@ It's a software (Android/kernel) issue. Use the `capacityOffset` feature. --- ## LATEST CHANGES +**2019.10.13-r2-dev (201910132)** +- `forceStatusAt100`: ensure the battery service is ready before freezing/unfreezing the charging status + **2019.10.13-r1-dev (201910131)** - `acc --upgrade`: use `curl` over `wget` diff --git a/acc/acc.sh b/acc/acc.sh index c74104f..a15c0b6 100644 --- a/acc/acc.sh +++ b/acc/acc.sh @@ -28,7 +28,7 @@ daemon() { if $isRunning; then set +eo pipefail echo "$pid" | xargs kill -9 2>/dev/null - { dumpsys battery reset + { dumpsys battery reset 2>/dev/null not_charging && enable_charging set_charging_voltage -; } > /dev/null 2>&1 print_stopped @@ -577,7 +577,7 @@ case ${1:-} in -r|--readme) shift; edit ${config%/*}/info/README$readmeSuffix.md $@;; -R|--resetbs) - dumpsys batterystats --reset > /dev/null 2>&1 || : + dumpsys batterystats --reset || : rm /data/system/batterystats* 2>/dev/null || : ;; diff --git a/acc/accd.sh b/acc/accd.sh index 1308289..bbfe543 100644 --- a/acc/accd.sh +++ b/acc/accd.sh @@ -8,7 +8,7 @@ exxit() { local exitCode=$? set +euxo pipefail trap - EXIT - { dumpsys battery reset + { dumpsys battery reset 2>/dev/null enable_charging (/sbin/acc --voltage -); } > /dev/null 2>&1 [ -n "$1" ] && echo -e "$2" && exitCode=$1 @@ -47,19 +47,19 @@ is_charging() { # forceStatusAt100 if ! $forcedStatusAt100 && [[ "$(get_value forceStatusAt100)" == [0-9]* ]] && [ $(cat $batt/capacity) -gt 99 ]; then - dumpsys battery set level 100 - dumpsys battery set status $(get_value forceStatusAt100) - forcedStatusAt100=true - frozenBattSvc=true + dumpsys battery set level 100 2>/dev/null \ + && dumpsys battery set status $(get_value forceStatusAt100) 2>/dev/null \ + && { forcedStatusAt100=true; frozenBattSvc=true; } \ + || sleep $(get_value loopDelay | cut -d, -f1) fi else # revert forceStatusAt100 if $frozenBattSvc; then - dumpsys battery reset - frozenBattSvc=false - forcedStatusAt100=false + dumpsys battery reset 2>/dev/null \ + && { frozenBattSvc=false; forcedStatusAt100=false; } \ + || sleep $(get_value loopDelay | cut -d, -f2) fi if ! $coolDown; then @@ -68,7 +68,7 @@ is_charging() { if $resetBsOnUnplug && eval $(get_value resetBsOnUnplug); then sleep $(get_value loopDelay | cut -d, -f2) if grep -iq dis $batt/status; then - dumpsys batterystats --reset > /dev/null 2>&1 || : + dumpsys batterystats --reset 2>/dev/null || : rm /data/system/batterystats* 2>/dev/null || : resetBsOnUnplug=false fi @@ -89,8 +89,8 @@ is_charging() { # correct the battery capacity reported by Android if eval $(get_value capacitySync); then - dumpsys battery reset || : - dumpsys battery set level $(cat $batt/capacity) || : + dumpsys battery reset 2>/dev/null || : + dumpsys battery set level $(cat $batt/capacity) 2>/dev/null || : fi > /dev/null 2>&1 # log cleanup @@ -164,7 +164,7 @@ ctrl_charging() { if eval $(get_value resetBsOnPause); then # reset battery stats - dumpsys batterystats --reset > /dev/null 2>&1 || : + dumpsys batterystats --reset 2>/dev/null || : rm /data/system/batterystats* 2>/dev/null || : fi fi diff --git a/module.prop b/module.prop index 204086b..a5d5f57 100644 --- a/module.prop +++ b/module.prop @@ -1,6 +1,6 @@ id=acc name=Advanced Charging Controller (acc) -version=2019.10.13-r1-dev -versionCode=201910131 +version=2019.10.13-r2-dev +versionCode=201910132 author=VR25 (xda-developers.com) description=This is primarily intended for extending battery service life. On the flip side, the name says it all. Any root solution is supported. A recent stable Magisk version is recommended. Refer to README.md for details. If you are in Magisk Manager > Downloads, click here to open the documentation.