Hey everyone,
I’ve been testing my Nothing Phone (Nothing OS 3.5) with ChatGPT (GPT-5) to understand why the CPU doesn’t seem to enter deep idle — even when the screen is off and nothing’s running in the foreground.
We went through a full diagnostic session using ADB to identify which services or apps might be holding wake locks or background jobs that keep the CPU partially active
⚙️ Background
The issue started with unusually high idle CPU usage (20–29%) and noticeable overnight battery drain (around 6–8%).
After checking dumpsys power, several partial wake locks were visible — mainly from Smart Center (com.nothing.smartcenter) and occasionally other apps using Firebase (like WhatsApp, Messaging, or TubeMate).
Smart Center’s BLE notification service in particular (NothingNotificationService) seems to stay active even when the phone should be sleeping.
🧩 Steps & Methods
1. Checking active listeners
adb shell settings get secure enabled_notification_listeners
Found Smart Center’s BLE notification listener constantly enabled.
2. Restricting background activity
We temporarily limited Smart Center’s permissions to see if it affects CPU sleep states:
adb shell am set-standby-bucket com.nothing.smartcenter restricted
adb shell cmd appops set com.nothing.smartcenter RUN_ANY_IN_BACKGROUND ignore
adb shell cmd appops set com.nothing.smartcenter WAKE_LOCK ignore
adb shell cmd appops set com.nothing.smartcenter POST_NOTIFICATION ignore
adb shell cmd jobscheduler cancel com.nothing.smartcenter
3. Forcing deep idle manually
adb shell cmd deviceidle force-idle
adb shell cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
CPU frequency started dropping from ~1.9GHz down to ~441MHz, showing that deep idle can be reached manually.
4. Testing third-party apps
Some third-party apps (like TubeMate) were also seen holding KeepAlive jobs:
adb shell cmd appops set devian.tubemate.v3 RUN_IN_BACKGROUND ignore
adb shell cmd appops set devian.tubemate.v3 WAKE_LOCK ignore
adb shell am force-stop devian.tubemate.v3
📊 Current Observations
With restrictions in place, CPU frequency does fall lower during idle, sometimes reaching 441MHz.
dumpsys power shows significantly fewer active wake locks.
Still under testing to confirm long-term battery impact and if Nothing OS automatically re-enables those background services over time.
🔄 Reverting the Changes
To restore everything:
adb shell cmd appops set com.nothing.smartcenter RUN_ANY_IN_BACKGROUND allow
adb shell cmd appops set com.nothing.smartcenter WAKE_LOCK allow
adb shell am set-standby-bucket com.nothing.smartcenter active
There’s also a revert_all_changes.bat script prepared to reset all settings at once.
💬 Closing Notes
This doesn’t appear to be an app bug — it’s likely a system behavior tied to Nothing’s background daemons, Smart Center, and Firebase sync routines.
We’re still testing whether these restrictions improve idle drain over time.
Big thanks to ChatGPT (GPT-5) for helping me trace and document each step clearly.
Please, feel free to drop any suggestions or ideas.
Keep in mind that my device was not directly bought with Nothing, so it does not have warranty. At this point, I'm just trying different stuff out to see if anything helps with the battery life problems and the apparent causes of it. (At least for me)