[Magisk] VR25:
Here's a Prerelease

**2019.8.18 (201908180)**

- `acc -u`: always use current `installDir`

- AccA's ACC module can be upgraded from Magisk Manager (alternative to `acc -u`)

- Attribute back-end files ownership to front-end app

- Enhanced power supply logger (psl.sh)

- Fixed busybox and `loopDelay` handling issues

- Flashable uninstaller: `/sdcard/acc-uninstaller.zip`

- Major optimizations

- Richer installation and initialization logs (/data/adb/acc-*/logs/)

- Updated `build.sh` and documentation

- Updated Telegram group link (`t.me/acc_group/`)

- Use `umask 077` everywhere

The flashable uninstaller works everywhere - Magisk Manager, kernel managers, TWRP, etc..

The documentation includes a new section named QUICK START GUIDE - for new, less tech savvy, and "textphobic" users.

I'm posting some of the most important pieces of text from the README.md to avoid repeating myself.

---

## DESCRIPTION

ACC is primarily intended for [extending battery service life](https://batteryuniversity.com/learn/article/how_to_prolong_lithium_based_batteries). On the flip side, the name says it all.

---

## TROUBLESHOOTING

### Battery Capacity (% Level) is Misreported

The "smart" battery must be calibrated. Refer to the `FAQ` section below for details.

### Charging Switch

By default, ACC uses whatever [charging switch](https://github.com/VR-25/acc/blob/master/acc/switches.txt) works.

If `prioritizeBattIdleMode` is set to `true`, charging switches that support battery idle mode take precedence - allowing the device to draw power directly from the external power supply when charging is paused.

However, things don't always go well.

- Some switches are unreliable under certain conditions (e.g., screen off).

- Others hold a [wakelock](https://duckduckgo.com/?q=wakelock) - causing faster battery drain.

- High CPU load and inability to re-enable charging may also be experienced.

In such situations, you have to find and enforce a switch that works as expected. Here's how to do it:

1. Run `acc -test --` (or acc -t --) to see which switches work.

2. Run `acc --set chargingSwitch` (or acc -s s) to enforce a working switch.

3. Test the reliability of the set switch. If it doesn't work properly, try another one.

### Charging Voltage And Current Limits

Unfortunately, not all devices/kernels support these features.

Those that do are rare.

Most OEMs don't care about that.

The existence of potential voltage/current control file doesn't necessarily mean these features are supported.

### Restore Default Config

`acc --set reset` (or `acc -s r`)

### Slow Charging

Check whether charging current in being limited by `applyOnPlug` or `applyOnBoot`.

Set `coolDownCapacity` to `101`, nullify coolDownRatio (`acc --set coolDownRatio`), or change its value. By default, coolDownRatio is null.

### Diagnostics/Logs

Logs are stored at `/sbin/.acc/`. You can export all to `/sdcard/acc-logs-$device.tar.bz2` with `acc --log --export`.

In addition to acc logs, the archive includes `charging-ctrl-files.txt`, `charging-voltage-ctrl-files.txt`, `config.txt`, `magisk.log`, and everything from `/data/adb/acc-*/logs/`.

Installation and initialization logs are located at `/data/adb/acc-*/logs/`.

The existence of `/dev/acc-modpath-not-found` indicates a fatal ACC initialization error.

---

## FREQUENTLY ASKED QUESTIONS (FAQ)

> How do I report issues?

Open issues on GitHub or contact the developer on Telegram/XDA (linked below). Always provide as much information as possible, and attach `/sdcard/acc-logs-*tar.bz2`. This file is generated automatically. When this doesn't happen, run `acc --log --export` shortly after the problem occurs.

> What's "battery idle" mode?

That's a device's ability to draw power directly from an external power supply when charging is disabled or the battery is pulled out. The Motorola Moto G4 Play and many other smartphones can do that. Run `acc -t --` to test yours.

> What's "cool down" capacity for?

It's meant for reducing stress induced by prolonged high charging voltage (e.g., 4.20 Volts). It's a fair alternative to the charging voltage limit feature.

> Why won't you support my device? I've been waiting for ages!

First, never lose hope! Second, several systems don't have intuitive charging control files; I have to dig deeper and improvise; this takes extra time and effort. Lastly, some systems don't support custom charging control at all; in such cases, you have to keep trying different kernels and uploading the respective [power supply logs](https://github.com/VR-25/acc#power-supply-log).

> Why, when and how should I calibrate the battery?

Refer to https://batteryuniversity.com/index.php/learn/article/battery_calibration

Tip: a voltage control file could be used as charging switch file (beta, battery idle mode support): `chagingSwitch=FILE DEFAULT_VOLTAGE STOP_VOLTAGE`

Example: chagingSwitch=/sys/class/power_supply/battery/voltage_max_ 4400 3500