One of the first things that I noticed on my Galaxy while working some battery-saving magic was that the Cell Standby line constantly dominated the power usage display. Cell Standby might use up lots of battery in a poor or no-signal area because the phone constantly looks for a cell signal. But that wasn’t the case here.
After searching the web for insight, bala_gamer on xda-developers had both the cause and two solutions. The problem turns out to be a simple typo in a system profile file. Instead of Cell Standby consuming 5.4 mA, the file said 54 mA. The phone isn’t using that much power, but the battery display thinks that Cell Standby is. That’s simple enough to fix. One approach involves flashing a file using CWM Recovery. I did not wish to take that approach because I could not be sure that it was up to date with the latest over-the-air (OTA) update. So, I decided to apply the fix manually. It’s actually easy and here’s how.
The problem appears in power_profile.xml, which resides in /system/framework/framework-res.apk on the phone. You’ll need root access to apply the fix, plus a good file manager. I highly recommend Total Commander for Android. I wouldn’t leave home without it, having used it on Windows, Windows Mobile, and Android. There’s none better, and it understands root access. Don’t forget the FTP and LAN plugins to construct a truly well-connected universe.
First, you need to change the /system directory from read-only to read-write. Total Commander can do this on the fly with an internal command (119 Remount). Alternately, you can do so from a root terminal/shell on the phone with the following command line:
mount -o remount,rw -t ext4 /dev/block/mmcblk0p14/system
Copy framework-res.apk from your phone to your computer. I did this over WiFi using Total Commander’s LAN plugin. Keep a backup. An Android .apk file is really just a .zip file with a particular internal arrangement. I renamed the target file to framework-res.apk to framework-res.zip in order to work with it without issues. For Linux, 7zip and Archive Manager will both work well for this exercise.
Download the fixed and compiled power_profile.xml file from xda-developers. Put it in the directory in which you have framework-res.apk (or .zip). Again, backup the current framework-res.apk in case you need it later.
Open the renamed framework-res.zip and navigate to /res/xml directory inside the file. Delete power_profile.xml. Then copy the fixed power_profile.xml into framework-res.zip. Rename the file back to framework-res.apk. As a quick check, the fixed file should be within 1k of the file size of the original.
Copy the fixed framework-res.apk file back to your phone somewhere like a temp directory. As root, navigate to /system/framework/framework-res.apk on the phone and delete the file. Copy the fixed file to /system/framework/. Make sure that the resultant file size matches as a safety check.
Now reset the /system directory to read-write either with your file manger or from a terminal/shell:
mount -o remount,ro -t ext4 /dev/block/mmcblk0p14 /system
Restart/reboot your phone or just cycle the power.
After your phone reboots, you should be good to go. Check your battery status after a few minutes and you should see Cell Standby’s usage near the bottom of the list and Screen at or near the top.
Pop yourself a cold one, thank bala_gamer on xda-developers, and congratulate yourself on not buying an iThing so you’d have to wait until the next expensive version to get something simple fixed.