rather than looking at the smali code, it would be better to look at the java code
the code has evolved since this original mod, so below is the better solution:
by default, the battery binary [services/jni/com_android_server_BatteryService.cpp] reads the battery value from /sys/class/power_supply/battery/capacity
for motorola, we were fortunate that it writes 1% battery files to a file at /sys/class/power_supply/battery/charge_counter , so the end solution in custom roms was to change com_android_server_BatteryService.cpp to read from /charge_counter instead of /capacity
the original mod, changed the BatteryServices.java file (that compiled into BatteryService.smali) to use the FileReader function to read /charge_counter and then replace mBatteryLevel with the 1% value instead. One can make the edits in java or in machine code.
keep in mind this runs the battery faster than reading in 10%'s
so part of the question for you guys would be:
- is there a file in /power_supply or another location that writes 1% values already?
if not, then you'll have your work cut out for you
for revised graphics:
- you should be able to decompile or build systemUI from source, without it you can't edit the xmls correctly
I typically build from source (for the same reason, very hard to find aapt that works well for recompile), and don't know if the prime source is available?