G'Day XDA,
I have written a bit of a guide to changing your battery icons in a way which is quite easy to do. There are a couple of ways to do it, and depending on your framework and mods depends on how you will need to do it. And before you do anything, please make a Nandroid backup using ClockworkMod Recovery. I will NOT be held responsible if you brick your phone, but I will try my best to help you if the inevitable happens.
On my SGSII I run an odexed 4.0.3 XWLPI stock ROM which has JKay's Deluxe framework & Deluxe Settings app, so I can easily choose to theme my battery icon. There are a number of different icons and ways to create them on XDA, I downloaded mine from shayne77's Battery Mod Tool thread which has quite a few, or if you're that way inclined then you can make your own.
Ok so first things first, you will need a rooted phone and some sort of file explorer that can navigate down to the root folders. I use ES File Explorer but it's personal preference. You will also need a computer with a USB cable that can connect into your phone and a zip program like 7Zip. If you don't have a ROM that currently supports % battery icons then you will need something like APK Tool to decompile and recompile SystemUI.apk . You will also need a text editor like Notepad++ to edit the XML file. The last thing that you may need (if you want to create your own icons or modify any) is a program like Photoshop, but I use Greenfish Icon Editor Pro.
You will need to download/make the icons that you want. Then you need to make sure that they are named accordingly to your SystemUI.apk's /res/drawable-hdpi folder. I use JKay's framework, so mine are named jkay_stat_sys_battery_0.png through to jkay_stat_sys_battery_100.png and then jkay_stat_sys_battery_charge_anim0.png through to jkay_stat_sys_battery_charge_anim100.png . Yours may be named without the jkay at the start if you don't use his framework.
If your ROM currently doesn't support % battery icons then I will show you how to do that. It involves decompiling SystemUI.apk, editing an XML file and then recompiling and flashing and will be detailed in the 3rd post..
Ok now once you have all of the things I mentioned above, you will need to use your file explorer to navigate to /system/app and make a copy of SystemUI.apk .
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
I use a folder on my phone's SD card called Mods so I know where everything is. You will then need to plug the phone into the computer and copy SystemUI.apk onto your computer. Again, I use a folder called Mods.
Now right click on SystemUI.apk, hover over 7Zip click Open archive.
When the window opens, double click on res and then double click on drawable-hdpi. Have a look in this folder for a number of icons which will be named something like stat_sys_battery_0.png or jkay_stat_sys_battery_0.png and make note of what they are named. This is what you will need to be renaming the icons that you have downloaded or made, unless of course they already have the same names.
Once all 202 icons have the same names as the ones in the /res/drawable-hdpi folder, you now need to select them all and drag them into the 7Zip archive which you have open. When the prompt asks you if you are sure that you would like to copy the files to the archive, click Yes. Then close the archive.
Now you need to plug your phone back into the computer (unless you left it plugged in from before) and copy your newly modded SystemUI.apk back onto your phone's internal SD Card. Once this is done you can unplug the phone from the computer (unless you are charging it) and open up your file explorer. Navigate to where your newly modded SystemUI.apk is stored and then move it to /system. Once that is done navigate to /system.
Now find the SystemUI.apk that you have modified and long press on it to bring up the menu and click on Properties. When you click on Properties a new window will open up which looks like this.
Notice how the permissions are set to rw- rw- rw-? This needs to be changed. So click on the Change button.
Once you have done that, you will see a new window which looks like the screenshot with a bunch of check boxes and ticks in some of them. We need to uncheck the ticks in the write column in the Group row and the Other row. Yours should now look like this. Click OK.
Now notice how the permissions have changed to rw- r-- r--? This is what we want.
Now long press on SystemUI.apk and select Move To and move it to /system/app.
A window will appear asking if you are sure that you want to overwrite your existing SystemUI.apk. Click yes.
Now restart the phone. And once it reboots, you will be left with your new battery icon! Simple!!!
Another way to change your battery icon is to use a flashable zip file. I use VRTheme zips for all of my mods and they work really well. I have attached 4 flashable zips below, 2 each of the Big Android Battery (which I use) and the Little Android Battery, and one of each is for users with JKay's framework and one of each without. You can download these and flash them through ClockworkMod Recovery, but don't forget to make a Nandroid backup!
Big Android Battery
JKay Big Android Battery
Little Android Battery
JKay Little Android Battery
If you want to use different icons, you can still download the zip which suits your framework and just change the icons for the ones that you want. You will need to download the zip file to your computer and then when it's finished, right click on it and hover over 7Zip and click on Open archive.
Once the window opens, double click on vrtheme then system then app and you should see a folder called SystemUI.apk . Double click on this, then on res and drawable-hdpi. In that folder there should be 202 png icons which are the battery icons.
Simply drag your renamed icons into the folder, click Yes when the prompt asks you if you are sure that you want to add the files to the archive and when that's done simply close the archive.
Now copy the zip file back onto your phone's internal SD card and flash through ClockworkMod Recovery! Simple!!!
Now if you have a ROM that doesn't currently support % battery icons, then this next section if for you. You will need to use a program like APK Tool to decompile your SystemUI.apk, but before you do that you will need to install the Android SDK and the JRE. If you don't know how to do this, then have a look at this post & video on how to download and install the correct components.
You will need to have APK Tool installed to ddecompile and recompile, and if you click on the link that will guide you through how to install that.
Once that is installed you will need to copy SystemUI.apk from /system/app onto your computer, and then you will need to move it to the folder place-apk-here-for-modding which is inside your new APK Tool folder.
Once the apk is in that folder, go back one level to the main folder of APK Tool and click on Script.bat and a Windows Command Prompt should open up with a bunch of green writing.
Type 22 in the Please make your decision: field which will Set current project and press Enter. Now type in the number to the left of SystemUI.apk and press Enter. You should be back on the main screen of the APK Tool script, and up the top on the right it should say Current-App: SystemUI.apk .
Now in the Please make your decision: field type 9 which is for Decompile apk and press Enter. APK Tool will now decompile your SystemUI.apk (this can sometimes take a while). When that is finished, close the script window and double click on the folder projects. When this opens, double click on SystemUI.apk .
Now double click on res. You will see a number of folders. The battery icons that you downloaded or made before, copy them all into drawable-hdpi and say yes to overwrite any battery icons that were previously in the folder. Go back one level to res and then double click on drawable and when that opens up, double click on stat_sys_battery.xml to open it with Notepad++. When that opens, you should see the following:
Notice how there are only a few lines on there with different levels of max battery?
We need to change this to have all 101 levels of battery (from 0 to 100). This may take a while, but you need to make sure that every number from 0 to 100 has it's own line. Your end result should look like this:
Code:
<?xml version="1.0" encoding="utf-8"?>
<level-list
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/stat_sys_battery_0" android:maxLevel="0" />
<item android:drawable="@drawable/stat_sys_battery_1" android:maxLevel="1" />
<item android:drawable="@drawable/stat_sys_battery_2" android:maxLevel="2" />
<item android:drawable="@drawable/stat_sys_battery_3" android:maxLevel="3" />
<item android:drawable="@drawable/stat_sys_battery_4" android:maxLevel="4" />
<item android:drawable="@drawable/stat_sys_battery_5" android:maxLevel="5" />
<item android:drawable="@drawable/stat_sys_battery_6" android:maxLevel="6" />
<item android:drawable="@drawable/stat_sys_battery_7" android:maxLevel="7" />
<item android:drawable="@drawable/stat_sys_battery_8" android:maxLevel="8" />
<item android:drawable="@drawable/stat_sys_battery_9" android:maxLevel="9" />
<item android:drawable="@drawable/stat_sys_battery_10" android:maxLevel="10" />
<item android:drawable="@drawable/stat_sys_battery_11" android:maxLevel="11" />
<item android:drawable="@drawable/stat_sys_battery_12" android:maxLevel="12" />
<item android:drawable="@drawable/stat_sys_battery_13" android:maxLevel="13" />
<item android:drawable="@drawable/stat_sys_battery_14" android:maxLevel="14" />
<item android:drawable="@drawable/stat_sys_battery_15" android:maxLevel="15" />
<item android:drawable="@drawable/stat_sys_battery_16" android:maxLevel="16" />
<item android:drawable="@drawable/stat_sys_battery_17" android:maxLevel="17" />
<item android:drawable="@drawable/stat_sys_battery_18" android:maxLevel="18" />
<item android:drawable="@drawable/stat_sys_battery_19" android:maxLevel="19" />
<item android:drawable="@drawable/stat_sys_battery_20" android:maxLevel="20" />
<item android:drawable="@drawable/stat_sys_battery_21" android:maxLevel="21" />
<item android:drawable="@drawable/stat_sys_battery_22" android:maxLevel="22" />
<item android:drawable="@drawable/stat_sys_battery_23" android:maxLevel="23" />
<item android:drawable="@drawable/stat_sys_battery_24" android:maxLevel="24" />
<item android:drawable="@drawable/stat_sys_battery_25" android:maxLevel="25" />
<item android:drawable="@drawable/stat_sys_battery_26" android:maxLevel="26" />
<item android:drawable="@drawable/stat_sys_battery_27" android:maxLevel="27" />
<item android:drawable="@drawable/stat_sys_battery_28" android:maxLevel="28" />
<item android:drawable="@drawable/stat_sys_battery_29" android:maxLevel="29" />
<item android:drawable="@drawable/stat_sys_battery_30" android:maxLevel="30" />
<item android:drawable="@drawable/stat_sys_battery_31" android:maxLevel="31" />
<item android:drawable="@drawable/stat_sys_battery_32" android:maxLevel="32" />
<item android:drawable="@drawable/stat_sys_battery_33" android:maxLevel="33" />
<item android:drawable="@drawable/stat_sys_battery_34" android:maxLevel="34" />
<item android:drawable="@drawable/stat_sys_battery_35" android:maxLevel="35" />
<item android:drawable="@drawable/stat_sys_battery_36" android:maxLevel="36" />
<item android:drawable="@drawable/stat_sys_battery_37" android:maxLevel="37" />
<item android:drawable="@drawable/stat_sys_battery_38" android:maxLevel="38" />
<item android:drawable="@drawable/stat_sys_battery_39" android:maxLevel="39" />
<item android:drawable="@drawable/stat_sys_battery_40" android:maxLevel="40" />
<item android:drawable="@drawable/stat_sys_battery_41" android:maxLevel="41" />
<item android:drawable="@drawable/stat_sys_battery_42" android:maxLevel="42" />
<item android:drawable="@drawable/stat_sys_battery_43" android:maxLevel="43" />
<item android:drawable="@drawable/stat_sys_battery_44" android:maxLevel="44" />
<item android:drawable="@drawable/stat_sys_battery_45" android:maxLevel="45" />
<item android:drawable="@drawable/stat_sys_battery_46" android:maxLevel="46" />
<item android:drawable="@drawable/stat_sys_battery_47" android:maxLevel="47" />
<item android:drawable="@drawable/stat_sys_battery_48" android:maxLevel="48" />
<item android:drawable="@drawable/stat_sys_battery_49" android:maxLevel="49" />
<item android:drawable="@drawable/stat_sys_battery_50" android:maxLevel="50" />
<item android:drawable="@drawable/stat_sys_battery_51" android:maxLevel="51" />
<item android:drawable="@drawable/stat_sys_battery_52" android:maxLevel="52" />
<item android:drawable="@drawable/stat_sys_battery_53" android:maxLevel="53" />
<item android:drawable="@drawable/stat_sys_battery_54" android:maxLevel="54" />
<item android:drawable="@drawable/stat_sys_battery_55" android:maxLevel="55" />
<item android:drawable="@drawable/stat_sys_battery_56" android:maxLevel="56" />
<item android:drawable="@drawable/stat_sys_battery_57" android:maxLevel="57" />
<item android:drawable="@drawable/stat_sys_battery_58" android:maxLevel="58" />
<item android:drawable="@drawable/stat_sys_battery_59" android:maxLevel="59" />
<item android:drawable="@drawable/stat_sys_battery_60" android:maxLevel="60" />
<item android:drawable="@drawable/stat_sys_battery_61" android:maxLevel="61" />
<item android:drawable="@drawable/stat_sys_battery_62" android:maxLevel="62" />
<item android:drawable="@drawable/stat_sys_battery_63" android:maxLevel="63" />
<item android:drawable="@drawable/stat_sys_battery_64" android:maxLevel="64" />
<item android:drawable="@drawable/stat_sys_battery_65" android:maxLevel="65" />
<item android:drawable="@drawable/stat_sys_battery_66" android:maxLevel="66" />
<item android:drawable="@drawable/stat_sys_battery_67" android:maxLevel="67" />
<item android:drawable="@drawable/stat_sys_battery_68" android:maxLevel="68" />
<item android:drawable="@drawable/stat_sys_battery_69" android:maxLevel="69" />
<item android:drawable="@drawable/stat_sys_battery_70" android:maxLevel="70" />
<item android:drawable="@drawable/stat_sys_battery_71" android:maxLevel="71" />
<item android:drawable="@drawable/stat_sys_battery_72" android:maxLevel="72" />
<item android:drawable="@drawable/stat_sys_battery_73" android:maxLevel="73" />
<item android:drawable="@drawable/stat_sys_battery_74" android:maxLevel="74" />
<item android:drawable="@drawable/stat_sys_battery_75" android:maxLevel="75" />
<item android:drawable="@drawable/stat_sys_battery_76" android:maxLevel="76" />
<item android:drawable="@drawable/stat_sys_battery_77" android:maxLevel="77" />
<item android:drawable="@drawable/stat_sys_battery_78" android:maxLevel="78" />
<item android:drawable="@drawable/stat_sys_battery_79" android:maxLevel="79" />
<item android:drawable="@drawable/stat_sys_battery_80" android:maxLevel="80" />
<item android:drawable="@drawable/stat_sys_battery_81" android:maxLevel="81" />
<item android:drawable="@drawable/stat_sys_battery_82" android:maxLevel="82" />
<item android:drawable="@drawable/stat_sys_battery_83" android:maxLevel="83" />
<item android:drawable="@drawable/stat_sys_battery_84" android:maxLevel="84" />
<item android:drawable="@drawable/stat_sys_battery_85" android:maxLevel="85" />
<item android:drawable="@drawable/stat_sys_battery_86" android:maxLevel="86" />
<item android:drawable="@drawable/stat_sys_battery_87" android:maxLevel="87" />
<item android:drawable="@drawable/stat_sys_battery_88" android:maxLevel="88" />
<item android:drawable="@drawable/stat_sys_battery_89" android:maxLevel="89" />
<item android:drawable="@drawable/stat_sys_battery_90" android:maxLevel="90" />
<item android:drawable="@drawable/stat_sys_battery_91" android:maxLevel="91" />
<item android:drawable="@drawable/stat_sys_battery_92" android:maxLevel="92" />
<item android:drawable="@drawable/stat_sys_battery_93" android:maxLevel="93" />
<item android:drawable="@drawable/stat_sys_battery_94" android:maxLevel="94" />
<item android:drawable="@drawable/stat_sys_battery_95" android:maxLevel="95" />
<item android:drawable="@drawable/stat_sys_battery_96" android:maxLevel="96" />
<item android:drawable="@drawable/stat_sys_battery_97" android:maxLevel="97" />
<item android:drawable="@drawable/stat_sys_battery_98" android:maxLevel="98" />
<item android:drawable="@drawable/stat_sys_battery_99" android:maxLevel="99" />
<item android:drawable="@drawable/stat_sys_battery_100" android:maxLevel="100" />
</level-list>
You will then need to save and close the file. Now that you have done that, it should mean that once you have flashed that file, you will have a different icon show for each percentage that the battery loses while it's discharging. Once that's done, you will need to do the same for stat_sys_battery_charge.xml and again every number from 0 to 100 needs its own line. Your end result should look like this:
Code:
<?xml version="1.0" encoding="utf-8"?>
<level-list
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/stat_sys_battery_charge_anim0" android:maxLevel="0" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim1" android:maxLevel="1" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim2" android:maxLevel="2" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim3" android:maxLevel="3" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim4" android:maxLevel="4" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim5" android:maxLevel="5" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim6" android:maxLevel="6" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim7" android:maxLevel="7" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim8" android:maxLevel="8" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim9" android:maxLevel="9" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim10" android:maxLevel="10" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim11" android:maxLevel="11" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim12" android:maxLevel="12" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim13" android:maxLevel="13" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim14" android:maxLevel="14" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim15" android:maxLevel="15" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim16" android:maxLevel="16" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim17" android:maxLevel="17" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim18" android:maxLevel="18" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim19" android:maxLevel="19" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim20" android:maxLevel="20" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim21" android:maxLevel="21" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim22" android:maxLevel="22" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim23" android:maxLevel="23" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim24" android:maxLevel="24" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim25" android:maxLevel="25" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim26" android:maxLevel="26" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim27" android:maxLevel="27" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim28" android:maxLevel="28" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim29" android:maxLevel="29" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim30" android:maxLevel="30" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim31" android:maxLevel="31" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim32" android:maxLevel="32" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim33" android:maxLevel="33" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim34" android:maxLevel="34" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim35" android:maxLevel="35" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim36" android:maxLevel="36" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim37" android:maxLevel="37" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim38" android:maxLevel="38" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim39" android:maxLevel="39" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim40" android:maxLevel="40" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim41" android:maxLevel="41" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim42" android:maxLevel="42" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim43" android:maxLevel="43" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim44" android:maxLevel="44" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim45" android:maxLevel="45" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim46" android:maxLevel="46" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim47" android:maxLevel="47" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim48" android:maxLevel="48" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim49" android:maxLevel="499" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim50" android:maxLevel="50" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim51" android:maxLevel="51" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim52" android:maxLevel="52" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim53" android:maxLevel="53" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim54" android:maxLevel="54" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim55" android:maxLevel="55" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim56" android:maxLevel="56" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim57" android:maxLevel="57" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim58" android:maxLevel="58" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim59" android:maxLevel="59" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim60" android:maxLevel="60" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim61" android:maxLevel="61" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim62" android:maxLevel="62" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim63" android:maxLevel="63" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim64" android:maxLevel="64" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim65" android:maxLevel="65" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim66" android:maxLevel="66" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim67" android:maxLevel="67" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim68" android:maxLevel="68" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim69" android:maxLevel="69" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim70" android:maxLevel="70" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim71" android:maxLevel="71" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim72" android:maxLevel="72" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim73" android:maxLevel="73" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim74" android:maxLevel="74" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim75" android:maxLevel="75" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim76" android:maxLevel="76" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim77" android:maxLevel="77" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim78" android:maxLevel="78" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim79" android:maxLevel="79" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim80" android:maxLevel="80" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim81" android:maxLevel="81" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim82" android:maxLevel="82" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim83" android:maxLevel="83" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim84" android:maxLevel="84" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim85" android:maxLevel="85" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim86" android:maxLevel="86" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim87" android:maxLevel="87" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim88" android:maxLevel="88" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim89" android:maxLevel="89" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim90" android:maxLevel="90" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim91" android:maxLevel="91" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim92" android:maxLevel="92" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim93" android:maxLevel="93" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim94" android:maxLevel="94" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim95" android:maxLevel="95" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim96" android:maxLevel="96" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim97" android:maxLevel="97" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim98" android:maxLevel="98" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim99" android:maxLevel="99" />
<item android:drawable="@drawable/stat_sys_battery_charge_anim100" android:maxLevel="100" />
</level-list>
Again save and close the file. What you have just done will give you an icon for every percentage that the battery recharges. On JKay's Deluxe framework, the icon fills up every second or 2 and displays the percentage that it has charged to so far. I can show you how to do that, but it takes a lot more coding that what we have done above. If I get enough requests then I may do that for you, we'll see.
Ok so once you have edited and saved both of those files, you will need to go back to the main folder of APK Tool and click on Script.bat . Once that opens, choose option 22 again and press enter. When you see the list of apks that are available for modding, type the number to the left of SystemUI.apk and press enter.
You should now be back on the main screen of the script. Type 11 for Compile apk and press enter. The words Building apk should now appear down the bottom of the script screen. Be patient, this can sometimes take a while.
Once it has finished building (you shouldn't get any errors) it will ask 'Is this a system apk?' to which you type y and press enter.
After you do this it will ask 'Aside from the signatures, would you like to copy over any additional files that you didn't modify from the original apk in order to ensure least # of errors' to which you type n and press enter.
Then APK Tool will do it's thing and you will be back on the main screen of the script. Close the script window and double click on the place-apk-here-for-modding folder. When inside that folder you should have a new apk called unsignedSystemUI.apk which is your newly modified apk. You will need to right click on this, hover over 7Zip and select Open archive.
When the new window opens, double click on res, then drawable and highlight stat_sys_battery.xml and stat_sys_battery_charge.xml and drag them both either onto your desktop or into a separate Mods folder (or something simliar). We will need to use these files soon.
There are 2 ways to apply the changes to your phone. You can either use a flashable zip (which I have attached), you can take the xml files out of this new apk and drop them into your original apk, push it to /system/app, change the permissions and restart your phone.
The first one is the one I use, it is the most easy for me. The flashable zip that I have attached is a VRTheme zip.
Flashable Zip
What you need to do is save the zip onto your computer and open the archive with 7Zip. When that opens, double click on vrtheme, then double click on system, then double click on app. Again you will see a folder called SystemUI.apk.
Double click on SystemUI.apk then double click on res and you will see 2 folders, drawable and drawable-hdpi.
You need to drag the 2 xml files that we just took out of our modded apk into drawable and then you need to drag all of your battery icons into drawable-hdpi.
*EDIT* I've been told by a very knowledgable source (thanks Spannaa) that it's a good idea to include the new resources.arsc into the zip because if you ever decompile SystemUI.apk again, any of the PNGs that are not in the original apk will be removed. When including resources.arsc to the zip file it needs to be added without compression. I use Winrar just for resources.arsc when creating new flashable zips.
Now you need to close the archive window. This will save the zip file. Then connect your phone to the computer, drag the zip file onto the internal SD card of the phone and wait for the media scanning to complete. Then you can reboot to recovery, flash the zip file and reboot the phone and you should see your nice new % battery icons. Done!
The second way that you can apply the changes to your phone is to drag the newly modded xml files and the icons into the original SystemUI.apk and push that to /system/app. Ok so what you have to do is go into the APK Tool main folder and then double click on place-apk-here-for-modding. Find SystemUI.apk and copy it onto your desktop.
Then you need to right click on SystemUI.apk, hover over 7Zip and click Open archive.
When this opens you need to double click on res. If you haven't already done it, then double click on drawable-hdpi and drag all of the battery icons that you have downloaded/made into the folder. Once that's done, go back one level to res.
Now double click on drawable. Drag your modified stat_sys_battery.xml and stat_sys_battery_charge.xml into this folder. Now close the window.
Connect your phone to the computer and open the explorer that allows you to see what's in your phone on your computer screen. Now drag your newly modded SystemUI.apk into your phone's internal SD card folder.
Once this is done you can unplug the phone from the computer & open up your file explorer. Navigate to your newly modded SystemUI.apk & move it to /system. Once that is done navigate to /system.
Now find the SystemUI.apk that you have modified & long press on it to bring up the menu. Click on Properties.
When you click on Properties a new window will open up which looks like this.
Notice how the permissions are set to rw- rw- rw-? This needs to be changed. So click on the Change button.
Once you have done that, you will see a new window which looks like the screenshot with a bunch of check boxes and ticks in some of them. We need to uncheck the ticks in the write column in the Group row and the Other row. Yours should now look like this. Click OK.
Now notice how the permissions have changed to rw- r-- r--?This is what we want.
Now long press on SystemUI.apk and select Move To and move it to /system/app.
A window will appear asking if you are sure that you want to overwrite your existing SystemUI.apk. Click yes.
Now restart the phone. And once it reboots, you will be left with your new % battery icon!
I hope you found this guide helpful. If you did you may click the Thanks button to show your appreciation. If you don't want to then that is fine, a simple reply to the thread to let me know if it worked for you would make me happy.
A few thanks are needed to be given:
shayne77 - for his Battery Mod Tool
_JKay_ - for his brilliant Deluxe framework and Deluxe Settings apk
Spannaa - for giving me the knowledge to do this guide and for being an all around helpful awesome guy
Thanks XDA, enjoy.
Dave
unzip systemUI.apk tahn put your images of battery in res/drawable-hdpi ( that will about 204)
zip again sign it with an signer and done
Update
I just updated the 3rd post of this guide with a bit of new information about resources.arsc (thanks again Spannaa) so if anyone has used the guide to create a % battery in their ROM then please have a look at the edit in the 3rd post.
Cheers,
Dave
Or you could use UOT Kitchen
Awesome guide for newbies though
Sent from my Ace 2 running 4.1.2 JB
Fzee said:
Or you could use UOT Kitchen
Awesome guide for newbies though
Click to expand...
Click to collapse
I'd say the opposite - it's much better to learn how to mod stuff yourself.
UOT is great for people who can't...
Related
i was using apktool and looking through some xml files in systemUI and i found this in res/drawable
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="false" android:drawable="@drawable/hd_off" />
<item android:drawable="@drawable/hd_on" />
</selector>
i was just wondering if anyone knew what this was and or what would happen in i changed it to state_checked="true"
thanks
Updated with Guide !
GUIDE HOW TO ANIMATED NOTIFICATION DROPDOWN BACKGROUND FOR CM9
Decompile SystemUI.apk
Systemui/res/drawable
1. Copy hd.xml and paste it inside drawable folder too
now in the folder you have hd.xml and Copy of hd.xml
2. rename Copy of hd.xml to anim.xml
3. Open with notepad++ anim.xml and delete the whole line and add all this line.
Code:
<?xml version="1.0" encoding="utf-8"?>
<animation-list android:oneshot="false"
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:duration="100" android:drawable="@drawable/anim0" />
<item android:duration="100" android:drawable="@drawable/anim1" />
<item android:duration="100" android:drawable="@drawable/anim2" />
<item android:duration="100" android:drawable="@drawable/anim3" />
<item android:duration="100" android:drawable="@drawable/anim4" />
<item android:duration="100" android:drawable="@drawable/anim5" />
<item android:duration="100" android:drawable="@drawable/anim6" />
<item android:duration="100" android:drawable="@drawable/anim7" />
<item android:duration="100" android:drawable="@drawable/anim8" />
<item android:duration="100" android:drawable="@drawable/anim9" />
<item android:duration="100" android:drawable="@drawable/anim10" />
<item android:duration="100" android:drawable="@drawable/anim11" />
<item android:duration="100" android:drawable="@drawable/anim12" />
<item android:duration="100" android:drawable="@drawable/anim13" />
<item android:duration="100" android:drawable="@drawable/anim14" />
<item android:duration="100" android:drawable="@drawable/anim15" />
<item android:duration="100" android:drawable="@drawable/anim16" />
<item android:duration="100" android:drawable="@drawable/anim17" />
<item android:duration="100" android:drawable="@drawable/anim18" />
<item android:duration="100" android:drawable="@drawable/anim19" />
<item android:duration="100" android:drawable="@drawable/anim20" />
<item android:duration="100" android:drawable="@drawable/anim21" />
<item android:duration="100" android:drawable="@drawable/anim22" />
<item android:duration="100" android:drawable="@drawable/anim23" />
<item android:duration="100" android:drawable="@drawable/anim24" />
<item android:duration="100" android:drawable="@drawable/anim25" />
<item android:duration="100" android:drawable="@drawable/anim26" />
<item android:duration="100" android:drawable="@drawable/anim27" />
<item android:duration="100" android:drawable="@drawable/anim28" />
<item android:duration="100" android:drawable="@drawable/anim29" />
<item android:duration="100" android:drawable="@drawable/anim30" />
<item android:duration="100" android:drawable="@drawable/anim31" />
<item android:duration="100" android:drawable="@drawable/anim32" />
<item android:duration="100" android:drawable="@drawable/anim33" />
<item android:duration="100" android:drawable="@drawable/anim34" />
<item android:duration="100" android:drawable="@drawable/anim35" />
<item android:duration="100" android:drawable="@drawable/anim36" />
<item android:duration="100" android:drawable="@drawable/anim37" />
<item android:duration="100" android:drawable="@drawable/anim38" />
<item android:duration="100" android:drawable="@drawable/anim39" />
<item android:duration="100" android:drawable="@drawable/anim40" />
<item android:duration="100" android:drawable="@drawable/anim41" />
<item android:duration="100" android:drawable="@drawable/anim42" />
<item android:duration="100" android:drawable="@drawable/anim43" />
<item android:duration="100" android:drawable="@drawable/anim44" />
<item android:duration="100" android:drawable="@drawable/anim45" />
<item android:duration="100" android:drawable="@drawable/anim46" />
<item android:duration="100" android:drawable="@drawable/anim47" />
<item android:duration="100" android:drawable="@drawable/anim48" />
<item android:duration="100" android:drawable="@drawable/anim49" />
<item android:duration="100" android:drawable="@drawable/anim50" />
<item android:duration="100" android:drawable="@drawable/anim51" />
<item android:duration="100" android:drawable="@drawable/anim52" />
<item android:duration="100" android:drawable="@drawable/anim53" />
<item android:duration="100" android:drawable="@drawable/anim54" />
<item android:duration="100" android:drawable="@drawable/anim55" />
<item android:duration="100" android:drawable="@drawable/anim56" />
<item android:duration="100" android:drawable="@drawable/anim57" />
<item android:duration="100" android:drawable="@drawable/anim58" />
<item android:duration="100" android:drawable="@drawable/anim59" />
<item android:duration="100" android:drawable="@drawable/anim60" />
<item android:duration="100" android:drawable="@drawable/anim61" />
<item android:duration="100" android:drawable="@drawable/anim62" />
<item android:duration="100" android:drawable="@drawable/anim63" />
<item android:duration="100" android:drawable="@drawable/anim64" />
<item android:duration="100" android:drawable="@drawable/anim65" />
<item android:duration="100" android:drawable="@drawable/anim66" />
<item android:duration="100" android:drawable="@drawable/anim67" />
<item android:duration="100" android:drawable="@drawable/anim68" />
</animation-list>
systemUI/res/layout/status_bar_tracking.xml
+ android:background="@drawable/anim"
Code:
<com.android.systemui.statusbar.phone.TrackingView android:orientation="vertical" [COLOR="Red"]android:background="@drawable/anim"[/COLOR] android:paddingLeft="0.0px" android:paddingRight="0.0px" android:paddingBottom="0.0px" android:focusable="true" android:visibility="gone" android:descendantFocusability="afterDescendants"
systemUI/res/value/drawable.xml
Code:
<item type="drawable" name="notification_tracking_bg">[COLOR="Red"]#00000000[/COLOR]</item>
add resources to systemUI/res/drawable-hdpi : http://www.mediafire.com/?plyo9s7bx1czngc
resources are Nexus Prime animation
-------------------------------------------------------------------------------------------------------<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
[MOD-CM9] Animated Notification Dropdown Background
Instruction
CWM
mount & storage
change mount system to unmount system,
back to cwm menu
install zip
select the Animation Dropdown.zip
reboot
Animation Dropdown.zip :
1. Nexus Prime animation : https://www.dropbox.com/s/xr7duhadnw8et1z/Animated-Pulldown.zip
2. Sinchan Animation : https://www.dropbox.com/s/0dam387ai2kghrf/AnimatedSincan.zip
3. Reactors anim : http://db.tt/tZXdfbLc
4. BootEvo anim : http://db.tt/rpCD20Yp
5. CyanogenMod : http://db.tt/33YPPCw2
NOTE : (Animated pull down - Navigation Bar Dockbackground - Disable Capacitive light::
"for those who coming from my previous Mod Navigation Bar with no dock background , you are free to install this mod ,.but for dock navibar , here I have made the zip
1. Animated Pulldown(nexus prime)-Navigation Bar with dock-Disable capacitive light : https://www.dropbox.com/s/3s3vlpb3oz3li3m/Animated-Navibar(dock).zip
2. Animated Pulldown(Sinchan)-Navigation Bar with dock-Disable capacitive light : https://www.dropbox.com/s/u9h3khagad5e3em/Animated-NaviDock-sinchan.zip
3. Anim pulldown Reactors - NavibarDock- discapacitive light : http://db.tt/K4WmWCKM
4. Anim pulldown BootEvo NavibarDock-discapacitive : http://db.tt/7ShdsxoZ
5. Anim pulldown CyanogenMod NavibarDock-discapacitive : http://db.tt/swVKnKpe
Credits & thanks to :
Sir Arco for CM9
Sir SilencerOfLambs for the tuts
"If you like my Mod, please to press the THANKS BUTTON
the sinchan animation is so epic~ love it
ghyeng said:
the sinchan animation is so epic~ love it
Click to expand...
Click to collapse
thanks bro
more animation ASAP if i have free time
2 more animated added
Nice Mod Mas Bro... Can I use this on AOKP rom ?? Thanks
sgilmans said:
Nice Mod Mas Bro... Can I use this on AOKP rom ?? Thanks
Click to expand...
Click to collapse
Hahaha †ђąηk ўσυ Mas Gan,
btw, It's only for Cm9
give me your latest systemUI.apk.. and whic animated you want
and if you want with navibar give me your framework-res.apk too
I'll try what I can do
added CyanogenMod animation
I know that pic lol hahahaha
I will go for it i have one now hahaha
Sent from my ussrv7prototype Xparent ICS Blue Tapatalk 2
evanlocked said:
I know that pic lol hahahaha
I will go for it i have one now hahaha
Sent from my ussrv7prototype Xparent ICS Blue Tapatalk 2
Click to expand...
Click to collapse
jiahhhahaa...
mantap Bro..
Adi_ai****eru said:
Hahaha †ђąηk ўσυ Mas Gan,
btw, It's only for Cm9
give me your latest systemUI.apk.. and whic animated you want
and if you want with navibar give me your framework-res.apk too
I'll try what I can do
Click to expand...
Click to collapse
Thanks for the offer Mas Gan , :good: But currently are switching from rom to rom ... hahahaha... Thanks again :highfive:
Thanks
sgilmans said:
Thanks for the offer Mas Gan , :good: But currently are switching from rom to rom ... hahahaha... Thanks again :highfive:
Click to expand...
Click to collapse
ok
Hey man can you add this mod to this system ui ?
http://www.mediafire.com/?lzl3yt9tgyo6mnn
And please add more picture
Thanks
Mastahh
Sent from my esia hidayah using xda premium
hoaaamers said:
Hey man can you add this mod to this system ui ?
http://www.mediafire.com/?lzl3yt9tgyo6mnn
And please add more picture
Thanks
Click to expand...
Click to collapse
oke Bro, I'll try best i can do
RizaLeon said:
Mastahh
Sent from my esia hidayah using xda premium
Click to expand...
Click to collapse
ampun Om Riza..
hoaaamers said:
Hey man can you add this mod to this system ui ?
http://www.mediafire.com/?lzl3yt9tgyo6mnn
And please add more picture
Thanks
Click to expand...
Click to collapse
please try bro.
added sinschan animated pulldown
Go to cwm recovery
do nandroid back/up
mount & storage
change mount system into unmount system,
back to cwm menu
install zip
select hoamerrs.zip : https://www.dropbox.com/s/ueogkhtd7laes96/hoamerrs.zip
reboot
and report back
Adi_ai****eru said:
please try bro.
added sinschan animated pulldown
Go to cwm recovery
do nandroid back/up
mount & storage
change mount system into unmount system,
back to cwm menu
install zip
select hoamerrs.zip : https://www.dropbox.com/s/ueogkhtd7laes96/hoamerrs.zip
reboot
and report back
Click to expand...
Click to collapse
Wow thanks man its works perfectly ! Heehe
Now can you help me once again ?
Please help me to make navigation bar on this framework-res.apk
http://db.tt/J0VWD7LX
Thanks
hoaaamers said:
Wow thanks man its works perfectly ! Heehe
Now can you help me once again ?
Please help me to make navigation bar on this framework-res.apk
http://db.tt/J0VWD7LX
Thanks
Click to expand...
Click to collapse
Oke bro
hoaaamers said:
Wow thanks man its works perfectly ! Heehe
Now can you help me once again ?
Please help me to make navigation bar on this framework-res.apk
http://db.tt/J0VWD7LX
Thanks
Click to expand...
Click to collapse
oke bro , please try and report back
Go to cwm recovery
do nandroid back/up
mount & storage
change mount system into unmount system,
back to cwm menu
install zip
select hoamerrs-navibar.zip : https://www.dropbox.com/s/0b7cknkce17wbui/hoamerrs-navibar.zip
reboot
Hi again guys :laugh:
on this occasion, i want share how to make click/tap like android L,
I am coming from this guide thread http://forum.xda-developers.com/showpost.php?p=60224248&postcount=1
big thanks to the author Gabri™
but I got an error while following step guide , then I think , it is a guide for stock TouchWiz .. and I tried to change a little in order to be able to work well in CM11
This guide is very simply
ok lets go..
Decompile framework-res.apk
Open framework-res.apk/res/drawable/list_selector_background_transition_holo_dark.xml
Code:
<?xml version="1.0" encoding="utf-8"?>
<transition
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/list_pressed_holo_dark" />
<item android:drawable="@drawable/list_longpressed_holo_dark" />
</transition>
Replace all lines with this:
Code:
[COLOR="Red"]<?xml version="1.0" encoding="utf-8"?>
<animation-list android:oneshot="true"
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:duration="1" android:drawable="@drawable/list_anim_holo_dark_000" />
<item android:duration="1" android:drawable="@drawable/list_anim_holo_dark_001" />
<item android:duration="1" android:drawable="@drawable/list_anim_holo_dark_002" />
<item android:duration="1" android:drawable="@drawable/list_anim_holo_dark_003" />
<item android:duration="1" android:drawable="@drawable/list_anim_holo_dark_004" />
<item android:duration="1" android:drawable="@drawable/list_anim_holo_dark_005" />
</animation-list>[/COLOR]
Save
Open framework-res.apk/res/drawable/list_selector_background_transition_holo_light.xml
Code:
<?xml version="1.0" encoding="utf-8"?>
<transition
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/list_pressed_holo_light" />
<item android:drawable="@drawable/list_longpressed_holo_light" />
</transition>
Replace all lines with this:
Code:
[COLOR="Red"]<?xml version="1.0" encoding="utf-8"?>
<animation-list android:oneshot="true"
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:duration="1" android:drawable="@drawable/list_anim_holo_light_000" />
<item android:duration="1" android:drawable="@drawable/list_anim_holo_light_001" />
<item android:duration="1" android:drawable="@drawable/list_anim_holo_light_002" />
<item android:duration="1" android:drawable="@drawable/list_anim_holo_light_003" />
<item android:duration="1" android:drawable="@drawable/list_anim_holo_light_004" />
<item android:duration="1" android:drawable="@drawable/list_anim_holo_light_005" />
</animation-list>[/COLOR]
Save
Then, download attached file and merge it to your decompiled framework-res.apk (framework-res.apk/res/drawable-xxhdpi/here)
Recompile ,,
Done
enjoyyy
A video tutorial would be great.....
qoejohn said:
Hi again guys :laugh:
on this occasion, i want share how to make click/tap like android L,
I am coming from this guide thread http://forum.xda-developers.com/showpost.php?p=60224248&postcount=1
big thanks to the author Gabri™
but I got an error while following step guide , then I think , it is a guide for stock TouchWiz .. and I tried to change a little in order to be able to work well in CM11
This guide is very simply
ok lets go..
Decompile framework-res.apk
Open framework-res.apk/res/drawable/list_selector_background_transition_holo_dark.xml
Code:
<?xml version="1.0" encoding="utf-8"?>
<transition
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/list_pressed_holo_dark" />
<item android:drawable="@drawable/list_longpressed_holo_dark" />
</transition>
Replace all lines with this:
Code:
[COLOR="Red"]<?xml version="1.0" encoding="utf-8"?>
<animation-list android:oneshot="true"
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:duration="1" android:drawable="@drawable/list_anim_holo_dark_000" />
<item android:duration="1" android:drawable="@drawable/list_anim_holo_dark_001" />
<item android:duration="1" android:drawable="@drawable/list_anim_holo_dark_002" />
<item android:duration="1" android:drawable="@drawable/list_anim_holo_dark_003" />
<item android:duration="1" android:drawable="@drawable/list_anim_holo_dark_004" />
<item android:duration="1" android:drawable="@drawable/list_anim_holo_dark_005" />
</animation-list>[/COLOR]
Save
Open framework-res.apk/res/drawable/list_selector_background_transition_holo_light.xml
Code:
<?xml version="1.0" encoding="utf-8"?>
<transition
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/list_pressed_holo_light" />
<item android:drawable="@drawable/list_longpressed_holo_light" />
</transition>
Replace all lines with this:
Code:
[COLOR="Red"]<?xml version="1.0" encoding="utf-8"?>
<animation-list android:oneshot="true"
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:duration="1" android:drawable="@drawable/list_anim_holo_light_000" />
<item android:duration="1" android:drawable="@drawable/list_anim_holo_light_001" />
<item android:duration="1" android:drawable="@drawable/list_anim_holo_light_002" />
<item android:duration="1" android:drawable="@drawable/list_anim_holo_light_003" />
<item android:duration="1" android:drawable="@drawable/list_anim_holo_light_004" />
<item android:duration="1" android:drawable="@drawable/list_anim_holo_light_005" />
</animation-list>[/COLOR]
Save
Then, download attached file and merge it to your decompiled framework-res.apk (framework-res.apk/res/drawable-xxhdpi/here)
Recompile ,,
Done
enjoyyy
Click to expand...
Click to collapse
amazing thanks bro ... now if it works .. thanks..
Casper1982 said:
amazing thanks bro ... now if it works .. thanks..
Click to expand...
Click to collapse
well broo :good:
So i've been tinkering with themes for the G4 tweaksbox and i've found that resources on the lockscreen (for example, the slide-for-camera icon) are changed with the system ui theme and not the lockscreen theme - is this because the tweaksbox was originally made for KitKat on the G3 and the lockscreen was fundamentally changed with lollipop and is now pretty much a part of the systemui?
Anyway, i've made some new resources and added the correct strings to theme.xml and lockscreen-theme.xml (which turned out to be not needed) along with a animation file for them in /drawable, but i can't get the custom animation to work. I've created the file lockscreen_lock_icon_camera_animation.xml (found by decompiling the systemui.apk on my G4) and pretty much used other g4twb animation files as a template to write this in it: (The xmlns link does not have breaks in it, i put them in here because xda wont let new users post links)
Code:
<?xml version="1.0" encoding="utf-8"?>
<animation-list android:oneshot="true"
xmlns:android="http :// schemas . android . com / apk / res / android">
<item android:duration="1300" android:drawable="@drawable/lockscreen_lock_icon_camera_00" />
<item android:duration="100" android:drawable="@drawable/lockscreen_lock_icon_camera_01" />
<item android:duration="100" android:drawable="@drawable/lockscreen_lock_icon_camera_02" />
<item android:duration="800" android:drawable="@drawable/lockscreen_lock_icon_camera_03" />
<item android:duration="300" android:drawable="@drawable/lockscreen_lock_icon_camera_00" />
<item android:duration="100" android:drawable="@drawable/lockscreen_lock_icon_camera_01" />
<item android:duration="100" android:drawable="@drawable/lockscreen_lock_icon_camera_02" />
<item android:duration="800" android:drawable="@drawable/lockscreen_lock_icon_camera_03" />
<item android:duration="300" android:drawable="@drawable/lockscreen_lock_icon_camera_00" />
</animation-list>
All the files compile fine and can be found in the newly generated public.xml file but only the new resources show, not the new animation. Any ideas why?
EDIT:
Looked through my files again and turns out i forgot to add the animation file to theme.xml.
Can't find a delete button anywhere so i guess you are all free to laugh at me now
I want to share how I add Xperia lockscreen clock style including analog, vertical, & horizontal clock to CM12.1 (or other rom based on it)
REQUIREMENT:
Before applying this guide, u have to:
- Know how to decompile, recompile, sign apk
- Know how to compare xml & smali
- Use this Sony fonts
- Apply this guide & this
STEPS:
SystemUI.apk
- Apply this
- Decompile SystemUI.apk
- Download attachment, merge to decompiled SystemUI.apk
- Open /res/values/styles.xml, add this
PHP:
<style name="502_hour">
<item name="android:textSize">114.0dip</item>
<item name="android:fontFamily">x-sst-medium</item>
</style>
<style name="502_minute">
<item name="android:textSize">114.0dip</item>
<item name="android:fontFamily">x-sst-ultralight</item>
</style>
<style name="511">
<item name="android:textSize">114.0dip</item>
<item name="android:fontFamily">x-sst</item>
</style>
<style name="601">
<item name="android:textSize">114.0dip</item>
<item name="android:fontFamily">x-sst-light</item>
</style>
<style name="502h_hour">
<item name="android:textSize">88.0dip</item>
<item name="android:fontFamily">x-sst-medium</item>
</style>
<style name="502h_minute">
<item name="android:textSize">88.0dip</item>
<item name="android:fontFamily">x-sst-ultralight</item>
</style>
<style name="511h">
<item name="android:textSize">88.0dip</item>
<item name="android:fontFamily">x-sst</item>
</style>
<style name="601h">
<item name="android:textSize">88.0dip</item>
<item name="android:fontFamily">x-sst-light</item>
</style>
- Recompile it
- Decompile again
- Open /res/values/public.xml
- Open /smali/com/dhian/clock/AnalogClock.smali, change id's with urs
Line 132: const v3, 0x7f0204ba <public type="drawable" name="somc_themeable_analog_clock_face" id="
Line 141: const v3, 0x7f0204bb <public type="drawable" name="somc_themeable_analog_clock_hour_hand" id="
Line 150: const v3, 0x7f0204bc <public type="drawable" name="somc_themeable_analog_clock_minute_hand" id="
Line 159: const v3, 0x7f0204bd <public type="drawable" name="somc_themeable_analog_clock_second_hand" id="
Click to expand...
Click to collapse
- Open /smali/com/dhian/clock2/AnalogClock.smali, change id's with urs
Line 132: const v3, 0x7f02030e <public type="drawable" name="plain_dial" id="
Line 141: const v3, 0x7f0204c0 <public type="drawable" name="plain_hour" id="
Line 150: const v3, 0x7f0204c1 <public type="drawable" name="plain_minute" id="
Line 159: const v3, 0x7f0204c2 <public type="drawable" name="plain_second" id="
Click to expand...
Click to collapse
- Open /smali/com/dhian/clock3/AnalogClock.smali, change id's with urs
Line 132: const v3, 0x7f0204c5 <public type="drawable" name="xplain_dial" id="
Line 141: const v3, 0x7f0204c8 <public type="drawable" name="xplain_hour" id="
Line 150: const v3, 0x7f0204c9 <public type="drawable" name="xplain_minute" id="
Line 159: const v3, 0x7f0204ca <public type="drawable" name="xplain_second" id="
Click to expand...
Click to collapse
- Save all changes
- Recompile, sign, push
NEXT TO POST #2
STEPS:
Settings.apk
- Apply this
- Decompile Settings.apk
- open /res/xml/zen_prefs.xml, add this
PHP:
<PreferenceScreen android:title="Lock screen"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:settings="http://schemas.android.com/apk/res/com.android.settings">
<PreferenceCategory android:title="Status bar" />
<SwitchPreference android:title="Sony battery icon" android:key="kg_sony_battery" android:defaultValue="true" />
<SwitchPreference android:title="Percentage (right)" android:key="kg_sony_percent_right" android:defaultValue="true" />
<SwitchPreference android:title="Sony battery icon with percentage" android:key="kg_sony_battery_percent" android:defaultValue="false" />
<PreferenceCategory android:title="Analog clock" />
<SwitchPreference android:title="Standard" android:key="analog_clock" android:defaultValue="false" />
<SwitchPreference android:title="Sony" android:key="analog_sony" android:defaultValue="false" />
<SwitchPreference android:title="Xperia" android:key="analog_xperia" android:defaultValue="false" />
<PreferenceCategory android:title="Vertical clock" />
<SwitchPreference android:title="5.0.2 style" android:key="502" android:defaultValue="false" />
<SwitchPreference android:title="5.1.1 style" android:key="511" android:defaultValue="false" />
<SwitchPreference android:title="6.0.1 style (left)" android:key="601_left" android:defaultValue="false" />
<SwitchPreference android:title="6.0.1 style (center)" android:key="601_center" android:defaultValue="true" />
<SwitchPreference android:title="6.0.1 style (right)" android:key="601_right" android:defaultValue="false" />
<PreferenceCategory android:title="Horizontal clock" />
<SwitchPreference android:title="5.0.2 style" android:key="502h" android:defaultValue="false" />
<SwitchPreference android:title="5.1.1 style" android:key="511h" android:defaultValue="false" />
<SwitchPreference android:title="6.0.1 style" android:key="601h" android:defaultValue="false" />
<PreferenceCategory android:title="Others" />
<SwitchPreference android:title="Sony date" android:key="sony_date" android:defaultValue="false" />
<SwitchPreference android:title="RR date" android:key="rr_date" android:defaultValue="false" />
<SwitchPreference android:title="Alarm" android:key="alarm" android:defaultValue="true" />
</PreferenceScreen>
- Save all changes
- Recompile, sign, push
VIDEO PREVIEW
This guide is tested on Xperia M running CM12.1 & Resurrection Remix 5.5.9
For other rom just compare it
CREDITS
Thanks to Dhian Rusdiana for analog clock
Thanks to venkat kamesh, bamzzz, vandroid7
boro2 mo nyobain om, cm12.1 di m2 kaga stable2 ???
Is possible to make swipe to right to unlock?
please dont use such words to critique your nasty government. and I think you should rename your attachment file to more friendly language (or words), especially for user from indonesian.
and sorry for my bad english, coz you know? I am indonesian.