Pixel 8 Pro Android 15 Idle Mode No Longer Work
I upgraded from the stock Android 14 to Android 15 with December Update that supports charging limit and bypass charging. If I enable the charging limit in the OS settings, it will also enable bypass charging and it works.
I tried using ACC v2025.12.29 and v2025.12.15 versions, acc -t reported most of the switches doesn't work and only find one switch support idle mode (/sys/devices/platform/google,charger/charge_stop_level 100 battery/capacity). This switch doesn't enable idle mode in auto mode or manually using acc -d. In Android 14, it works but not reliable and doesn't recommend using this switch.
Instead I use this switch "gcpm/constant_charge_current_max 5940000 0" for idle mode in Android 14 but in Android 15, acc -t stated it doesn't support it. In acc idle mode auto mode doesn't work but if I enable it using acc -d, it will support idle mode. But if you reconnect the USB power cable, it disable idle mode and start charging normally.
Note: I disable all power management in OS settings.
Here is the acc -t log.
What's the output of su -c grep . /sys/class/power_supply/*/present while the device is unplugged?
What's the output of
su -c grep . /sys/class/power_supply/*/presentwhile the device is unplugged?
/sys/class/power_supply/battery/present:1 /sys/class/power_supply/dc-mains/present:1 /sys/class/power_supply/dc/present:0 /sys/class/power_supply/gcpm/present:0 /sys/class/power_supply/gcpm_pps/present:0 /sys/class/power_supply/main-charger/present:0 /sys/class/power_supply/maxfg/present:1 /sys/class/power_supply/usb/present:0 /sys/class/power_supply/wireless/present:0
This version fixes the idle issue. It enable idle when marches the pause capacity and also enable it when you reconnect the power cable. I will report back if anything changes.
There is a small issue related to Pixel idle switch.
The 386000 value in the idle switch (gcpm/constant_charge_current_max 3860000 0) sometimes changes to other value like 586000, etc. when you reconnect the power cable even if it is the same power source. It happens more frequent if different power source.
The problem is if the value is below 386000, idle mode doesn't work. Another problem is if you force the idle switch instead of auto select it, it will not recognize the idle switch anymore since the value is changed.
Is it possible to make some changes to recognize the idle switch even if the value changes because it is the same idle switch with a different vaule? I believe this value might a mcc value.
The value is provided by the kernel itself.
If you force a working switch with acc -s s="gcpm/constant_charge_current_max 3860000 0 --", it'll still work, even if it's no longer on the list of available switches.
If you set the charging switch to auto mode, it will work even if the value changes when reconnecting the USB cable.
But it doesn't work if you force to use the switch. Idle mode will not recognize and enable it. I have to re-select the switch with the new value.
Maybe you can implement a check if the switch uses mcc. If it does, it will check the charging switch if the mcc value changes when power cable is connected to the device. Then it automatically re-select the same charging switch with the new mcc value.
I have similar experience with Pixel 6. The charge limit (and Idle?) only works when switch is set empty.