IPControl automatically switches charging off when battery level reaches a certain
disable threshold and back on as soon as it drowns to enable threshold. Thus, it
is kept bouncing between those boundaries. This feature is called Automation
.
There's one more feature, namingly method
s, that basically helps in switching
based on conditions including level and time, but it is recommended only if you
really need it or have decent knowledge of how phone batteries work.
Please see Commandline
section on manipulating these feature and other available
options.
- Android Lollipop or up
- ARM or x86 based chipset
- Magisk v18.2 (18105) or up
- Any root solution and Init.d support
Having either of 3 or 4 would suffice, 3 is favored if both are detected.
- Asus Zenfone Max Pro M1
- Google Pixel 3
- LG Google Nexus 5
- LeEco Le Max 2
- Lenovo Zuk Z2 Plus
- Motorola Moto X4
- OnePlus 3T
- OnePlus 3
- OnePlus 5T
- OnePlus 6
- OnePlus 7 Pro
- Samsung Galaxy Note 3
- Samsung Galaxy S6 Edge
- Samsung Galaxy S8
- Xiaomi Mi A1
- Xiaomi Mi Max 2
- Xiaomi Mi Max 3
- Xiaomi Pocophone F1
- Xiaomi Redmi K20 Pro
- Xiaomi Redmi Note 3 Pro
- Xiaomi Redmi Note 4
- Xiaomi Redmi Note 5
- Xiaomi Redmi Note 6 Pro
- Xiaomi Redmi Note 7
- ZTE Axon 7
If your device isn't listed above, don't worry! You should try IPControl and test it out yourself.
Please obtain release zips from GitHub releases, downloading from Magisk Manager enforces Magisk framework which forbids some installation functions.
Assured your device meets requirements, flash IPControl like any other flashable. Magisk Manager or TWRP are advised as installation mediums.
If you aren't a power-user and don't wanna mess with understanding commandline (although it's explained well below), here is what minimal setup should be like,
su # Obtain root shell
ipc --update 70 60 # Update thresholds
ipc --daemon launch # Launch the daemon
Usage: `ipc [<option> [<args>...]...]`
Options:
[--update] <thr_disable> <thr_enable>
Updates disable and enable threshold for Automation.
resets them to defaults if no values were specified.
<thr_disable> and <thr_enable> must be integers.
-> `ipc --update 90 80` sets disable threshold to 90
and enable threshold to 80
-> `ipc --update` resets thresholds to 70 60
[--toggle] <status>
Toggles Automation on or off.
<status> can be 'ON' or 'OFF'.
-> `ipc --toggle ON` toggles Automation on
-> `ipc --toggle OFF` toggles Automation off
[--method] <format_str>
Runs a method based on format string <format_str>.
Here, format string must follow the pattern:
(e|d)(%|s|m|h)(threshold: int)
where...
... (e|d) defines if enable/disabling charging,
... (%|s|m|h) defines if seeking level or timespan,
... and this is the value of threshold.
-> `ipc --method es60` enables charging for 60 secs
-> `ipc --method d%40` disables charging until 40%
-> `ipc --method em30` enables charging for 30 mins
[--daemon] <action>
Launches or kills the daemon.
<action> can be 'launch' or 'kill'.
-> `ipc --daemon launch` launches the daemon
-> `ipc --daemon kill` kills the daemon
[--info]
Shows battery details and IPControl settings.
-> `ipc --info` shows battery level, battery status,
Automation status, disable threshold
and enable threshold
Please share your unease in this Telegram group and I will serve you ASAP with required solutions.
Copyright (c) 2019 Jaymin Suthar. All rights reserved.
See file NOTICE in project root for licensing information.