The trick actually comes from Defy devs and I tested it before on Milestone, but unsuccessfully at that time.
normal battery capacity reading is done using
/sys/class/power_supply/battery/capacity - which is in 10% steps
On some Motorola phones, there's also
/sys/class/power_supply/battery/charge_counter - that is in 1% steps.
But on Milestone, the charge_counter is always 0.
Unless you use /system/bin/battd from Milestone 2 or Droid 2 (or possibly other phone as well)
See (origin - Defy)
https://github.com/Quarx2k/android_...ni/com_android_server_BatteryService.cpp#L301
Btw., in CM7 I've decided to use battd from the leaked Droid2 gingerbread firmware, as that is the most recent (and the only 2.3) motorola's build for phone with similar HW as Milestone that I'm aware of.
Current implementation in CM7 for Milestone (optional, using persist.sys.one_percent_batt property):
https://github.com/nadlabak/android_frameworks_base/commit/b912685321b67b4d2b145e6f17fd6bc3cedf4e45
https://github.com/nadlabak/android...mmit/113eb4200fd3c9237ce5d9c4aa9df2778aa55e97
https://github.com/nadlabak/android...mmit/32efe6e51ea1666222cf082075d6683d2b6fc791
https://github.com/nadlabak/android...mmit/b709ad1e344959529db158d48cf10b8faaa8955a
Please note that Droid 2 / Milestone 2 is more strict when it comes to third party batteries.
So this feature may cause issues when third party batteries are used.
There may also be problems with some third party AC adapters that are not able to provide stable 5V when charging.
sounds good btw, any tut how to do it on any 2.3 rom?
or just replace battd from mileston2 rom (or your last cm7) and it will work? or...?
It's certainly not limited to 2.3 ROMs.
But frameworks/base/services/jni/com_android_server_BatteryService.cpp needs the above mentioned change.
kabaldan said:
It's certainly not limited to 2.3 ROMs.
Click to expand...
Click to collapse
Again, brilliant work Kabaldan!
The only feature I'm looking for now is the ability to use a SWAP partition in the micro SD.
@kab
I have compiled the framework using that commit, then used the battd and libbattd.so from CM7, but I still have 10% steps!
Any other changes I have to do?
salisbury_steak said:
Again, brilliant work Kabaldan!
The only feature I'm looking for now is the ability to use a SWAP partition in the micro SD.
Click to expand...
Click to collapse
I totally second that, but I don't think that that is ever going to happen though we should never underestimate the power of kabaldan
please can you finalise froyo kabaldan? so much good work going on since the last version. ive found your froyo to be the best on battery and performance/snappiness
deleted....
how can i make the rom i use right now showing one by one the battery percentage?? thank you.
I decompiled framework-res.apk, edit file stat_sys_battery lik this:
Code:
<item android:drawable="@drawable/stat_sys_battery_0" android:maxLevel="1" />
<item android:drawable="@drawable/stat_sys_battery_1" android:maxLevel="2" />
<item android:drawable="@drawable/stat_sys_battery_2" android:maxLevel="3" />
<item android:drawable="@drawable/stat_sys_battery_3" android:maxLevel="4" />
<item android:drawable="@drawable/stat_sys_battery_4" android:maxLevel="5" />
<item android:drawable="@drawable/stat_sys_battery_5" android:maxLevel="6" />
<item android:drawable="@drawable/stat_sys_battery_6" android:maxLevel="7" />
<item android:drawable="@drawable/stat_sys_battery_7" android:maxLevel="8" />
<item android:drawable="@drawable/stat_sys_battery_8" android:maxLevel="9" />
<item android:drawable="@drawable/stat_sys_battery_9" android:maxLevel="10" />
<item android:drawable="@drawable/stat_sys_battery_10" android:maxLevel="11" />
<item android:drawable="@drawable/stat_sys_battery_11" android:maxLevel="12" />
<item android:drawable="@drawable/stat_sys_battery_12" android:maxLevel="13" />
<item android:drawable="@drawable/stat_sys_battery_13" android:maxLevel="14" />
<item android:drawable="@drawable/stat_sys_battery_14" android:maxLevel="15" />
<item android:drawable="@drawable/stat_sys_battery_15" android:maxLevel="16" />
<item android:drawable="@drawable/stat_sys_battery_16" android:maxLevel="17" />
<item android:drawable="@drawable/stat_sys_battery_17" android:maxLevel="18" />
<item android:drawable="@drawable/stat_sys_battery_18" android:maxLevel="19" />
<item android:drawable="@drawable/stat_sys_battery_19" android:maxLevel="20" />
<item android:drawable="@drawable/stat_sys_battery_20" android:maxLevel="21" />
<item android:drawable="@drawable/stat_sys_battery_21" android:maxLevel="22" />
<item android:drawable="@drawable/stat_sys_battery_22" android:maxLevel="23" />
<item android:drawable="@drawable/stat_sys_battery_23" android:maxLevel="24" />
<item android:drawable="@drawable/stat_sys_battery_24" android:maxLevel="25" />
<item android:drawable="@drawable/stat_sys_battery_25" android:maxLevel="26" />
<item android:drawable="@drawable/stat_sys_battery_26" android:maxLevel="27" />
<item android:drawable="@drawable/stat_sys_battery_27" android:maxLevel="28" />
<item android:drawable="@drawable/stat_sys_battery_28" android:maxLevel="29" />
<item android:drawable="@drawable/stat_sys_battery_29" android:maxLevel="30" />
<item android:drawable="@drawable/stat_sys_battery_30" android:maxLevel="31" />
<item android:drawable="@drawable/stat_sys_battery_31" android:maxLevel="32" />
<item android:drawable="@drawable/stat_sys_battery_32" android:maxLevel="33" />
<item android:drawable="@drawable/stat_sys_battery_33" android:maxLevel="34" />
<item android:drawable="@drawable/stat_sys_battery_34" android:maxLevel="35" />
<item android:drawable="@drawable/stat_sys_battery_35" android:maxLevel="36" />
<item android:drawable="@drawable/stat_sys_battery_36" android:maxLevel="37" />
<item android:drawable="@drawable/stat_sys_battery_37" android:maxLevel="38" />
<item android:drawable="@drawable/stat_sys_battery_38" android:maxLevel="39" />
<item android:drawable="@drawable/stat_sys_battery_39" android:maxLevel="40" />
<item android:drawable="@drawable/stat_sys_battery_40" android:maxLevel="41" />
<item android:drawable="@drawable/stat_sys_battery_41" android:maxLevel="42" />
<item android:drawable="@drawable/stat_sys_battery_42" android:maxLevel="43" />
<item android:drawable="@drawable/stat_sys_battery_43" android:maxLevel="44" />
<item android:drawable="@drawable/stat_sys_battery_44" android:maxLevel="45" />
<item android:drawable="@drawable/stat_sys_battery_45" android:maxLevel="46" />
<item android:drawable="@drawable/stat_sys_battery_46" android:maxLevel="47" />
<item android:drawable="@drawable/stat_sys_battery_47" android:maxLevel="48" />
<item android:drawable="@drawable/stat_sys_battery_48" android:maxLevel="49" />
<item android:drawable="@drawable/stat_sys_battery_49" android:maxLevel="50" />
<item android:drawable="@drawable/stat_sys_battery_50" android:maxLevel="51" />
<item android:drawable="@drawable/stat_sys_battery_51" android:maxLevel="52" />
<item android:drawable="@drawable/stat_sys_battery_52" android:maxLevel="53" />
<item android:drawable="@drawable/stat_sys_battery_53" android:maxLevel="54" />
<item android:drawable="@drawable/stat_sys_battery_54" android:maxLevel="55" />
<item android:drawable="@drawable/stat_sys_battery_55" android:maxLevel="56" />
<item android:drawable="@drawable/stat_sys_battery_56" android:maxLevel="57" />
<item android:drawable="@drawable/stat_sys_battery_57" android:maxLevel="58" />
<item android:drawable="@drawable/stat_sys_battery_58" android:maxLevel="59" />
<item android:drawable="@drawable/stat_sys_battery_59" android:maxLevel="60" />
<item android:drawable="@drawable/stat_sys_battery_60" android:maxLevel="61" />
<item android:drawable="@drawable/stat_sys_battery_61" android:maxLevel="62" />
<item android:drawable="@drawable/stat_sys_battery_62" android:maxLevel="63" />
<item android:drawable="@drawable/stat_sys_battery_63" android:maxLevel="64" />
<item android:drawable="@drawable/stat_sys_battery_64" android:maxLevel="65" />
<item android:drawable="@drawable/stat_sys_battery_65" android:maxLevel="66" />
<item android:drawable="@drawable/stat_sys_battery_66" android:maxLevel="67" />
<item android:drawable="@drawable/stat_sys_battery_67" android:maxLevel="68" />
<item android:drawable="@drawable/stat_sys_battery_68" android:maxLevel="69" />
<item android:drawable="@drawable/stat_sys_battery_69" android:maxLevel="70" />
<item android:drawable="@drawable/stat_sys_battery_70" android:maxLevel="71" />
<item android:drawable="@drawable/stat_sys_battery_71" android:maxLevel="72" />
<item android:drawable="@drawable/stat_sys_battery_72" android:maxLevel="73" />
<item android:drawable="@drawable/stat_sys_battery_73" android:maxLevel="74" />
<item android:drawable="@drawable/stat_sys_battery_74" android:maxLevel="75" />
<item android:drawable="@drawable/stat_sys_battery_75" android:maxLevel="76" />
<item android:drawable="@drawable/stat_sys_battery_76" android:maxLevel="77" />
<item android:drawable="@drawable/stat_sys_battery_77" android:maxLevel="78" />
<item android:drawable="@drawable/stat_sys_battery_78" android:maxLevel="79" />
<item android:drawable="@drawable/stat_sys_battery_79" android:maxLevel="80" />
<item android:drawable="@drawable/stat_sys_battery_80" android:maxLevel="81" />
<item android:drawable="@drawable/stat_sys_battery_81" android:maxLevel="82" />
<item android:drawable="@drawable/stat_sys_battery_82" android:maxLevel="83" />
<item android:drawable="@drawable/stat_sys_battery_83" android:maxLevel="84" />
<item android:drawable="@drawable/stat_sys_battery_84" android:maxLevel="85" />
<item android:drawable="@drawable/stat_sys_battery_85" android:maxLevel="86" />
<item android:drawable="@drawable/stat_sys_battery_86" android:maxLevel="87" />
<item android:drawable="@drawable/stat_sys_battery_87" android:maxLevel="88" />
<item android:drawable="@drawable/stat_sys_battery_88" android:maxLevel="89" />
<item android:drawable="@drawable/stat_sys_battery_89" android:maxLevel="90" />
<item android:drawable="@drawable/stat_sys_battery_90" android:maxLevel="91" />
<item android:drawable="@drawable/stat_sys_battery_91" android:maxLevel="92" />
<item android:drawable="@drawable/stat_sys_battery_92" android:maxLevel="93" />
<item android:drawable="@drawable/stat_sys_battery_93" android:maxLevel="94" />
<item android:drawable="@drawable/stat_sys_battery_94" android:maxLevel="95" />
<item android:drawable="@drawable/stat_sys_battery_95" android:maxLevel="96" />
<item android:drawable="@drawable/stat_sys_battery_96" android:maxLevel="97" />
<item android:drawable="@drawable/stat_sys_battery_97" android:maxLevel="98" />
<item android:drawable="@drawable/stat_sys_battery_98" android:maxLevel="99" />
<item android:drawable="@drawable/stat_sys_battery_100" android:maxLevel="100" />
Then added png files battery level with % number into drawable-hdpi, rebuilt, reflashed, rebooted, when the fall started, it showed new battery icon with % number on statusbar, but a lot of app FC...
Did i do anything wrong?
keunhuvac said:
I decompiled framework-res.apk, edit file stat_sys_battery lik this:
Then added png files battery level with % number into drawable-hdpi, rebuilt, reflashed, rebooted, when the fall started, it showed new battery icon with % number on statusbar, but a lot of app FC...
Did i do anything wrong?
Click to expand...
Click to collapse
it's not that easy, dude.
as kabaldan wrote: you have to build frameworks/base/services/jni/com_android_server_BatteryService.cpp from sources!!! with the changes you find in github-link he posted + using the battd in /system/bin/ he used (from Droid2 od MS2)
eybee1970 said:
it's not that easy, dude.
as kabaldan wrote: you have to build frameworks/base/services/jni/com_android_server_BatteryService.cpp from sources!!! with the changes you find in github-link he posted + using the battd in /system/bin/ he used (from Droid2 od MS2)
Click to expand...
Click to collapse
So the method to display battery in step 1% is only available if i choose display % battery in statatusbar tweak (in cyanogenmod settings)?
Nope sileshn got it working on my Froyomod with all 100 battery icons!!
Ask him
keunhuvac said:
So the method to display battery in step 1% is only available if i choose display % battery in statatusbar tweak (in cyanogenmod settings)?
Click to expand...
Click to collapse
You need to change the resource ID's for all of the PNG's you are adding. Silesh said it was something like 89 extra PNG's for all 100 icons.
Where can I find him? I port MIUI to the droid from the Milestone build each week. I would like to port this to Droid as well.
TreyMotes said:
Where can I find him? I port MIUI to the droid from the Milestone build each week. I would like to port this to Droid as well.
Click to expand...
Click to collapse
You can send him a PM. He is always around here though, so he might also reply to this thread soon.
I just realized that it won't really matter. MIUI is closed source so building framework from source is impossible. I have passed this info to the Chinese developers in hopes that they will add this to the Milestone MIUI builds.
TreyMotes said:
I just realized that it won't really matter. MIUI is closed source so building framework from source is impossible. I have passed this info to the Chinese developers in hopes that they will add this to the Milestone MIUI builds.
Click to expand...
Click to collapse
Very true my friend. You will need to wait till miui cn include it in their releases. Then you can mod it to use extra png's.
It works perfectly on Froyomod.
Sent from my Milestone using Tapatalk
This saddens me. I really wanted to surprise the users of my port this morning. Oh well. We patiently wait I guess...
keunhuvac said:
So the method to display battery in step 1% is only available if i choose display % battery in statatusbar tweak (in cyanogenmod settings)?
Click to expand...
Click to collapse
Hey buddy, I can add the pngs to the framework of cm7 if you want me to. Just link me up to the icons you want to use.
Sent from my Milestone using Tapatalk
Related
Major thing I love about GSM is its worldwide.I bought At&t HOXL,and my first impression was-wtf,where is all languages.
And I know that system got them all,they just hidden.Flashed couple custom ROMs here and same thing,only 3 languages...
I will tell you exactly how to unlock them,please bake it and your ROM could be usefull worldwide
English is my second lang,and Im sure many will like this addon.
open system/customize/CID/default.xml
On top you will see
Before:
Code:
<?xml version="1.0" encoding="utf-8"?>
<customization_form>
<category name="system">
<module name="locale">
<function>
<set name="single">
<item name="total_list">en_US;es_US;fr_US;</item>
<item type="boolean" name="en_US">yes</item>
<item type="boolean" name="es_US">yes</item>
<item type="boolean" name="fr_US">yes</item>
</set>
Replace it to
After:
Code:
<?xml version="1.0" encoding="utf-8"?>
<customization_form>
<category name="system">
<module name="locale">
<function>
<set name="single">
<item name="total_list">ar_AR;ar_BH;ar_DZ;ar_JO;ar_KW;ar_LB;ar_LY;ar_MA;ar_OM;ar_QA;ar_TN;bg_BG;bg_BY;bg_CS;bg_CZ;bg_EE;bg_HR;bg_HU;bg_LT;bg_LV;bg_PL;bg_RO;bg_SI;bg_SK;bg_UA;cs_BG;cs_BY;cs_CS;cs_CZ;cs_EE;cs_HR;cs_HU;cs_LT;cs_LV;cs_PL;cs_RO;cs_SI;cs_SK;cs_UA;da_DK;da_FI;da_NO;da_SE;de_AO;de_AT;de_CH;de_DE;de_ES;de_FR;de_GB;de_IE;de_IT;de_KE;de_LU;de_MZ;de_NA;de_NG;de_NL;de_PT;de_ZA;el_GR;en_AE;en_AM;en_AO;en_AT;en_AU;en_AZ;en_BG;en_BH;en_BY;en_CH;en_CS;en_CZ;en_DE;en_DK;en_DZ;en_EE;en_EG;en_ES;en_FI;en_FR;en_GB;en_GE;en_GR;en_HR;en_HU;en_ID;en_IE;en_IQ;en_IT;en_JO;en_KE;en_KW;en_KZ;en_LB;en_LT;en_LU;en_LV;en_LY;en_MA;en_MZ;en_NA;en_NG;en_NL;en_NO;en_OM;en_PL;en_PT;en_QA;en_RO;en_RU;en_SA;en_SE;en_SG;en_SI;en_SK;en_TN;en_UA;en_US;en_ZA;es_ES;es_FR;es_GB;es_IE;es_IT;es_PT;es_US;fi_DK;fi_FI;fi_NO;fi_SE;fr_AE;fr_AO;fr_AT;fr_BH;fr_CH;fr_DE;fr_DZ;fr_EG;fr_ES;fr_FR;fr_GB;fr_IE;fr_IQ;fr_IT;fr_JO;fr_KE;fr_KW;fr_LB;fr_LU;fr_LY;fr_MA;fr_MZ;fr_NA;fr_NG;fr_NL;fr_OM;fr_PT;fr_QA;fr_SA;fr_TN;fr_US;fr_ZA;hi_HI;hr_BG;hr_BY;hr_CS;hr_CZ;hr_EE;hr_HR;hr_HU;hr_LT;hr_LV;hr_PL;hr_RO;hr_SI;hr_SK;hr_UA;hu_BG;hu_BY;hu_CS;hu_CZ;hu_EE;hu_HR;hu_HU;hu_LT;hu_LV;hu_PL;hu_RO;hu_SI;hu_SK;hu_UA;it_AT;it_CH;it_DE;it_FR;it_GB;it_IE;it_IT;iw_IW;ja_JP;ko_KR;nb_DK;nb_FI;nb_NO;nb_SE;nl_FR;nl_LU;nl_NL;nl_BE;pl_BG;pl_BY;pl_CS;pl_CZ;pl_EE;pl_GB;pl_HR;pl_HU;pl_IE;pl_LT;pl_LV;pl_PL;pl_RO;pl_SI;pl_SK;pl_UA;pt_AO;pt_ES;pt_FR;pt_KE;pt_MZ;pt_NA;pt_NG;pt_PT;pt_ZA;ro_BG;ro_BY;ro_CS;ro_CZ;ro_EE;ro_HR;ro_HU;ro_LT;ro_LV;ro_PL;ro_RO;ro_SI;ro_SK;ro_UA;ru_AM;ru_AZ;ru_BG;ru_BY;ru_CS;ru_CZ;ru_EE;ru_GE;ru_HR;ru_HU;ru_KZ;ru_LT;ru_LV;ru_PL;ru_RO;ru_RU;ru_SI;ru_SK;ru_UA;sk_BG;sk_BY;sk_CS;sk_CZ;sk_EE;sk_HR;sk_HU;sk_LT;sk_LV;sk_PL;sk_RO;sk_SI;sk_SK;sk_UA;sl_BG;sl_BY;sl_CS;sl_CZ;sl_EE;sl_HR;sl_HU;sl_LT;sl_LV;sl_PL;sl_RO;sl_SI;sl_SK;sl_UA;sr_BG;sr_BY;sr_CS;sr_CZ;sr_EE;sr_HR;sr_HU;sr_LT;sr_LV;sr_PL;sr_RO;sr_SI;sr_SK;sr_UA;sv_DK;sv_FI;sv_NO;sv_SE;th_TH;tr_AT;tr_CH;tr_DE;tr_TR;vi_VN;zh_CN;zh_HK;zh_TW;</item>
<item type="boolean" name="ar_AR">yes</item>
<item type="boolean" name="ar_BH">yes</item>
<item type="boolean" name="ar_DZ">yes</item>
<item type="boolean" name="ar_JO">yes</item>
<item type="boolean" name="ar_KW">yes</item>
<item type="boolean" name="ar_LB">yes</item>
<item type="boolean" name="ar_LY">yes</item>
<item type="boolean" name="ar_MA">yes</item>
<item type="boolean" name="ar_OM">yes</item>
<item type="boolean" name="ar_QA">yes</item>
<item type="boolean" name="ar_TN">yes</item>
<item type="boolean" name="bg_BG">yes</item>
<item type="boolean" name="bg_BY">yes</item>
<item type="boolean" name="bg_CS">yes</item>
<item type="boolean" name="bg_CZ">yes</item>
<item type="boolean" name="bg_EE">yes</item>
<item type="boolean" name="bg_HR">yes</item>
<item type="boolean" name="bg_HU">yes</item>
<item type="boolean" name="bg_LT">yes</item>
<item type="boolean" name="bg_LV">yes</item>
<item type="boolean" name="bg_PL">yes</item>
<item type="boolean" name="bg_RO">yes</item>
<item type="boolean" name="bg_SI">yes</item>
<item type="boolean" name="bg_SK">yes</item>
<item type="boolean" name="bg_UA">yes</item>
<item type="boolean" name="cs_BG">yes</item>
<item type="boolean" name="cs_BY">yes</item>
<item type="boolean" name="cs_CS">yes</item>
<item type="boolean" name="cs_CZ">yes</item>
<item type="boolean" name="cs_EE">yes</item>
<item type="boolean" name="cs_HR">yes</item>
<item type="boolean" name="cs_HU">yes</item>
<item type="boolean" name="cs_LT">yes</item>
<item type="boolean" name="cs_LV">yes</item>
<item type="boolean" name="cs_PL">yes</item>
<item type="boolean" name="cs_RO">yes</item>
<item type="boolean" name="cs_SI">yes</item>
<item type="boolean" name="cs_SK">yes</item>
<item type="boolean" name="cs_UA">yes</item>
<item type="boolean" name="da_DK">yes</item>
<item type="boolean" name="da_FI">yes</item>
<item type="boolean" name="da_NO">yes</item>
<item type="boolean" name="da_SE">yes</item>
<item type="boolean" name="de_AO">yes</item>
<item type="boolean" name="de_AT">yes</item>
<item type="boolean" name="de_CH">yes</item>
<item type="boolean" name="de_DE">yes</item>
<item type="boolean" name="de_ES">yes</item>
<item type="boolean" name="de_FR">yes</item>
<item type="boolean" name="de_GB">yes</item>
<item type="boolean" name="de_IE">yes</item>
<item type="boolean" name="de_IT">yes</item>
<item type="boolean" name="de_KE">yes</item>
<item type="boolean" name="de_LU">yes</item>
<item type="boolean" name="de_MZ">yes</item>
<item type="boolean" name="de_NA">yes</item>
<item type="boolean" name="de_NG">yes</item>
<item type="boolean" name="de_NL">yes</item>
<item type="boolean" name="de_PT">yes</item>
<item type="boolean" name="de_ZA">yes</item>
<item type="boolean" name="el_GR">yes</item>
<item type="boolean" name="en_AE">yes</item>
<item type="boolean" name="en_AM">yes</item>
<item type="boolean" name="en_AO">yes</item>
<item type="boolean" name="en_AT">yes</item>
<item type="boolean" name="en_AU">yes</item>
<item type="boolean" name="en_AZ">yes</item>
<item type="boolean" name="en_BG">yes</item>
<item type="boolean" name="en_BH">yes</item>
<item type="boolean" name="en_BY">yes</item>
<item type="boolean" name="en_CH">yes</item>
<item type="boolean" name="en_CS">yes</item>
<item type="boolean" name="en_CZ">yes</item>
<item type="boolean" name="en_DE">yes</item>
<item type="boolean" name="en_DK">yes</item>
<item type="boolean" name="en_DZ">yes</item>
<item type="boolean" name="en_EE">yes</item>
<item type="boolean" name="en_EG">yes</item>
<item type="boolean" name="en_ES">yes</item>
<item type="boolean" name="en_FI">yes</item>
<item type="boolean" name="en_FR">yes</item>
<item type="boolean" name="en_GB">yes</item>
<item type="boolean" name="en_GE">yes</item>
<item type="boolean" name="en_GR">yes</item>
<item type="boolean" name="en_HR">yes</item>
<item type="boolean" name="en_HU">yes</item>
<item type="boolean" name="en_ID">yes</item>
<item type="boolean" name="en_IE">yes</item>
<item type="boolean" name="en_IQ">yes</item>
<item type="boolean" name="en_IT">yes</item>
<item type="boolean" name="en_JO">yes</item>
<item type="boolean" name="en_KE">yes</item>
<item type="boolean" name="en_KW">yes</item>
<item type="boolean" name="en_KZ">yes</item>
<item type="boolean" name="en_LB">yes</item>
<item type="boolean" name="en_LT">yes</item>
<item type="boolean" name="en_LU">yes</item>
<item type="boolean" name="en_LV">yes</item>
<item type="boolean" name="en_LY">yes</item>
<item type="boolean" name="en_MA">yes</item>
<item type="boolean" name="en_MZ">yes</item>
<item type="boolean" name="en_NA">yes</item>
<item type="boolean" name="en_NG">yes</item>
<item type="boolean" name="en_NL">yes</item>
<item type="boolean" name="en_NO">yes</item>
<item type="boolean" name="en_OM">yes</item>
<item type="boolean" name="en_PL">yes</item>
<item type="boolean" name="en_PT">yes</item>
<item type="boolean" name="en_QA">yes</item>
<item type="boolean" name="en_RO">yes</item>
<item type="boolean" name="en_RU">yes</item>
<item type="boolean" name="en_SA">yes</item>
<item type="boolean" name="en_SE">yes</item>
<item type="boolean" name="en_SG">yes</item>
<item type="boolean" name="en_SI">yes</item>
<item type="boolean" name="en_SK">yes</item>
<item type="boolean" name="en_TN">yes</item>
<item type="boolean" name="en_UA">yes</item>
<item type="boolean" name="en_US">yes</item>
<item type="boolean" name="en_ZA">yes</item>
<item type="boolean" name="es_ES">yes</item>
<item type="boolean" name="es_FR">yes</item>
<item type="boolean" name="es_GB">yes</item>
<item type="boolean" name="es_IE">yes</item>
<item type="boolean" name="es_IT">yes</item>
<item type="boolean" name="es_PT">yes</item>
<item type="boolean" name="es_US">yes</item>
<item type="boolean" name="fi_DK">yes</item>
<item type="boolean" name="fi_FI">yes</item>
<item type="boolean" name="fi_NO">yes</item>
<item type="boolean" name="fi_SE">yes</item>
<item type="boolean" name="fr_AE">yes</item>
<item type="boolean" name="fr_AO">yes</item>
<item type="boolean" name="fr_AT">yes</item>
<item type="boolean" name="fr_BH">yes</item>
<item type="boolean" name="fr_CH">yes</item>
<item type="boolean" name="fr_DE">yes</item>
<item type="boolean" name="fr_DZ">yes</item>
<item type="boolean" name="fr_EG">yes</item>
<item type="boolean" name="fr_ES">yes</item>
<item type="boolean" name="fr_FR">yes</item>
<item type="boolean" name="fr_GB">yes</item>
<item type="boolean" name="fr_IE">yes</item>
<item type="boolean" name="fr_IQ">yes</item>
<item type="boolean" name="fr_IT">yes</item>
<item type="boolean" name="fr_JO">yes</item>
<item type="boolean" name="fr_KE">yes</item>
<item type="boolean" name="fr_KW">yes</item>
<item type="boolean" name="fr_LB">yes</item>
<item type="boolean" name="fr_LU">yes</item>
<item type="boolean" name="fr_LY">yes</item>
<item type="boolean" name="fr_MA">yes</item>
<item type="boolean" name="fr_MZ">yes</item>
<item type="boolean" name="fr_NA">yes</item>
<item type="boolean" name="fr_NG">yes</item>
<item type="boolean" name="fr_NL">yes</item>
<item type="boolean" name="fr_OM">yes</item>
<item type="boolean" name="fr_PT">yes</item>
<item type="boolean" name="fr_QA">yes</item>
<item type="boolean" name="fr_SA">yes</item>
<item type="boolean" name="fr_TN">yes</item>
<item type="boolean" name="fr_US">yes</item>
<item type="boolean" name="fr_ZA">yes</item>
<item type="boolean" name="hi_HI">yes</item>
<item type="boolean" name="hr_BG">yes</item>
<item type="boolean" name="hr_BY">yes</item>
<item type="boolean" name="hr_CS">yes</item>
<item type="boolean" name="hr_CZ">yes</item>
<item type="boolean" name="hr_EE">yes</item>
<item type="boolean" name="hr_HR">yes</item>
<item type="boolean" name="hr_HU">yes</item>
<item type="boolean" name="hr_LT">yes</item>
<item type="boolean" name="hr_LV">yes</item>
<item type="boolean" name="hr_PL">yes</item>
<item type="boolean" name="hr_RO">yes</item>
<item type="boolean" name="hr_SI">yes</item>
<item type="boolean" name="hr_SK">yes</item>
<item type="boolean" name="hr_UA">yes</item>
<item type="boolean" name="hu_BG">yes</item>
<item type="boolean" name="hu_BY">yes</item>
<item type="boolean" name="hu_CS">yes</item>
<item type="boolean" name="hu_CZ">yes</item>
<item type="boolean" name="hu_EE">yes</item>
<item type="boolean" name="hu_HR">yes</item>
<item type="boolean" name="hu_HU">yes</item>
<item type="boolean" name="hu_LT">yes</item>
<item type="boolean" name="hu_LV">yes</item>
<item type="boolean" name="hu_PL">yes</item>
<item type="boolean" name="hu_RO">yes</item>
<item type="boolean" name="hu_SI">yes</item>
<item type="boolean" name="hu_SK">yes</item>
<item type="boolean" name="hu_UA">yes</item>
<item type="boolean" name="it_AT">yes</item>
<item type="boolean" name="it_CH">yes</item>
<item type="boolean" name="it_DE">yes</item>
<item type="boolean" name="it_FR">yes</item>
<item type="boolean" name="it_GB">yes</item>
<item type="boolean" name="it_IE">yes</item>
<item type="boolean" name="it_IT">yes</item>
<item type="boolean" name="iw_IW">yes</item>
<item type="boolean" name="ja_JP">yes</item>
<item type="boolean" name="ko_KR">yes</item>
<item type="boolean" name="nb_DK">yes</item>
<item type="boolean" name="nb_FI">yes</item>
<item type="boolean" name="nb_NO">yes</item>
<item type="boolean" name="nb_SE">yes</item>
<item type="boolean" name="nl_FR">yes</item>
<item type="boolean" name="nl_LU">yes</item>
<item type="boolean" name="nl_NL">yes</item>
<item type="boolean" name="nl_BE">yes</item>
<item type="boolean" name="pl_BG">yes</item>
<item type="boolean" name="pl_BY">yes</item>
<item type="boolean" name="pl_CS">yes</item>
<item type="boolean" name="pl_CZ">yes</item>
<item type="boolean" name="pl_EE">yes</item>
<item type="boolean" name="pl_GB">yes</item>
<item type="boolean" name="pl_HR">yes</item>
<item type="boolean" name="pl_HU">yes</item>
<item type="boolean" name="pl_IE">yes</item>
<item type="boolean" name="pl_LT">yes</item>
<item type="boolean" name="pl_LV">yes</item>
<item type="boolean" name="pl_PL">yes</item>
<item type="boolean" name="pl_RO">yes</item>
<item type="boolean" name="pl_SI">yes</item>
<item type="boolean" name="pl_SK">yes</item>
<item type="boolean" name="pl_UA">yes</item>
<item type="boolean" name="pt_AO">yes</item>
<item type="boolean" name="pt_ES">yes</item>
<item type="boolean" name="pt_FR">yes</item>
<item type="boolean" name="pt_KE">yes</item>
<item type="boolean" name="pt_MZ">yes</item>
<item type="boolean" name="pt_NA">yes</item>
<item type="boolean" name="pt_NG">yes</item>
<item type="boolean" name="pt_PT">yes</item>
<item type="boolean" name="pt_ZA">yes</item>
<item type="boolean" name="ro_BG">yes</item>
<item type="boolean" name="ro_BY">yes</item>
<item type="boolean" name="ro_CS">yes</item>
<item type="boolean" name="ro_CZ">yes</item>
<item type="boolean" name="ro_EE">yes</item>
<item type="boolean" name="ro_HR">yes</item>
<item type="boolean" name="ro_HU">yes</item>
<item type="boolean" name="ro_LT">yes</item>
<item type="boolean" name="ro_LV">yes</item>
<item type="boolean" name="ro_PL">yes</item>
<item type="boolean" name="ro_RO">yes</item>
<item type="boolean" name="ro_SI">yes</item>
<item type="boolean" name="ro_SK">yes</item>
<item type="boolean" name="ro_UA">yes</item>
<item type="boolean" name="ru_AM">yes</item>
<item type="boolean" name="ru_AZ">yes</item>
<item type="boolean" name="ru_BG">yes</item>
<item type="boolean" name="ru_BY">yes</item>
<item type="boolean" name="ru_CS">yes</item>
<item type="boolean" name="ru_CZ">yes</item>
<item type="boolean" name="ru_EE">yes</item>
<item type="boolean" name="ru_GE">yes</item>
<item type="boolean" name="ru_HR">yes</item>
<item type="boolean" name="ru_HU">yes</item>
<item type="boolean" name="ru_KZ">yes</item>
<item type="boolean" name="ru_LT">yes</item>
<item type="boolean" name="ru_LV">yes</item>
<item type="boolean" name="ru_PL">yes</item>
<item type="boolean" name="ru_RO">yes</item>
<item type="boolean" name="ru_RU">yes</item>
<item type="boolean" name="ru_SI">yes</item>
<item type="boolean" name="ru_SK">yes</item>
<item type="boolean" name="ru_UA">yes</item>
<item type="boolean" name="sk_BG">yes</item>
<item type="boolean" name="sk_BY">yes</item>
<item type="boolean" name="sk_CS">yes</item>
<item type="boolean" name="sk_CZ">yes</item>
<item type="boolean" name="sk_EE">yes</item>
<item type="boolean" name="sk_HR">yes</item>
<item type="boolean" name="sk_HU">yes</item>
<item type="boolean" name="sk_LT">yes</item>
<item type="boolean" name="sk_LV">yes</item>
<item type="boolean" name="sk_PL">yes</item>
<item type="boolean" name="sk_RO">yes</item>
<item type="boolean" name="sk_SI">yes</item>
<item type="boolean" name="sk_SK">yes</item>
<item type="boolean" name="sk_UA">yes</item>
<item type="boolean" name="sl_BG">yes</item>
<item type="boolean" name="sl_BY">yes</item>
<item type="boolean" name="sl_CS">yes</item>
<item type="boolean" name="sl_CZ">yes</item>
<item type="boolean" name="sl_EE">yes</item>
<item type="boolean" name="sl_HR">yes</item>
<item type="boolean" name="sl_HU">yes</item>
<item type="boolean" name="sl_LT">yes</item>
<item type="boolean" name="sl_LV">yes</item>
<item type="boolean" name="sl_PL">yes</item>
<item type="boolean" name="sl_RO">yes</item>
<item type="boolean" name="sl_SI">yes</item>
<item type="boolean" name="sl_SK">yes</item>
<item type="boolean" name="sl_UA">yes</item>
<item type="boolean" name="sr_BG">yes</item>
<item type="boolean" name="sr_BY">yes</item>
<item type="boolean" name="sr_CS">yes</item>
<item type="boolean" name="sr_CZ">yes</item>
<item type="boolean" name="sr_EE">yes</item>
<item type="boolean" name="sr_HR">yes</item>
<item type="boolean" name="sr_HU">yes</item>
<item type="boolean" name="sr_LT">yes</item>
<item type="boolean" name="sr_LV">yes</item>
<item type="boolean" name="sr_PL">yes</item>
<item type="boolean" name="sr_RO">yes</item>
<item type="boolean" name="sr_SI">yes</item>
<item type="boolean" name="sr_SK">yes</item>
<item type="boolean" name="sr_UA">yes</item>
<item type="boolean" name="sv_DK">yes</item>
<item type="boolean" name="sv_FI">yes</item>
<item type="boolean" name="sv_NO">yes</item>
<item type="boolean" name="sv_SE">yes</item>
<item type="boolean" name="th_TH">yes</item>
<item type="boolean" name="tr_AT">yes</item>
<item type="boolean" name="tr_CH">yes</item>
<item type="boolean" name="tr_DE">yes</item>
<item type="boolean" name="tr_TR">yes</item>
<item type="boolean" name="vi_VN">yes</item>
<item type="boolean" name="zh_CN">yes</item>
<item type="boolean" name="zh_HK">yes</item>
<item type="boolean" name="zh_TW">yes</item>
<item type="boolean" name="defeault">en_US</item>
</set>
Done!
note:changes in default xmls will work only after wipe user data or factory reset
Could you just use teh default.xml from the 1.88 Base? I think it has all the languages?
However it did not have the EN-US??? Strange? I had to manually key it then decided to take it out.
What is your primary language?
EDIT: NVM... Your list is much bigger!
How do I get US-English on 1.88?
Sent from my HTC One XL using XDA
I delete all the language apks I don't use!
Great find, I'm sure many people will benefit. Good job!
Sent from my HTC One X using XDA
scrosler said:
Could you just use teh default.xml from the 1.88 Base? I think it has all the languages?
However it did not have the EN-US??? Strange? I had to manually key it then decided to take it out.
What is your primary language?
EDIT: NVM... Your list is much bigger!
Click to expand...
Click to collapse
I'm Russian.
That list is from Runnymede.I remembered it when ported RcMix3d ROM to CDMA Evo4g.I thought this list short only on Sprint phones since its US carrier
MadRed said:
How do I get US-English on 1.88?
Sent from my HTC One XL using XDA
Click to expand...
Click to collapse
You have to edit the xml like OP states.
vin255764 said:
I'm Russian.
That list is from Runnymede.I remembered it when ported RcMix3d ROM to CDMA Evo4g.I thought this list short only on Sprint phones since its US carrier
Click to expand...
Click to collapse
I see. Ok.
MadRed said:
How do I get US-English on 1.88?
Sent from my HTC One XL using XDA
Click to expand...
Click to collapse
I never downloaded 1.88 RUU,filefactory makes me crazy..
You can remove everything from the list and set/keep English-US only
Something like this:
Code:
<?xml version="1.0" encoding="utf-8"?>
<customization_form>
<category name="system">
<module name="locale">
<function>
<set name="single">
<item name="total_list">en_US;</item>
<item type="boolean" name="en_US">yes</item>
<item type="boolean" name="defeault">en_US</item>
</set>
ups,double post
Thanks for the tips!
Question here
Question here,
if i did these changes, this will install the font ? for example if i enabled the Arabic, is this gonna install the arabic font.
and if not, how i can change the arabic font only without affecting the other fonts ??
I'm on Roger Stock
Thanks
a_Sika said:
Question here,
if i did these changes, this will install the font ? for example if i enabled the Arabic, is this gonna install the arabic font.
and if not, how i can change the arabic font only without affecting the other fonts ??
I'm on Roger Stock
Thanks
Click to expand...
Click to collapse
Fonts is in system/fonts folder as far as I know.
this xml edit should not affect fonts
Should I write about un-hiding system apps?
I dont understand...if its in the ROM,why they hide it?Only sim toolkit shortcut is useless.Everything else should not be hidden imo..
vin255764 said:
Should I write about un-hiding system apps?
I dont understand...if its in the ROM,why they hide it?Only sim toolkit shortcut is useless.Everything else should not be hidden imo..
Click to expand...
Click to collapse
Yes please I would be interested to know!
Sent from my HTC One X using xda premium
vin255764 said:
Should I write about un-hiding system apps?
I dont understand...if its in the ROM,why they hide it?Only sim toolkit shortcut is useless.Everything else should not be hidden imo..
Click to expand...
Click to collapse
Find my old debranding mod, and compare the default.xml in /customize/MNS/ and compare it to the stock one of the same Rom version. After listing all the scene setups and wallpapers, you'll be in the setup of other customizations... If you look close, you'll see the method of how to hide apps since there's a couple already listed... Mirror being one of them.
(ps: many international carriers have settings that are only accessible via sim toolkit)
Thanks , Very helpful..
personally i hide only 3 shortcuts
-simtool kit doesnt do anything at all (atleast for att simcard)
-my downloads
-flash player settings
Code:
</function>
<function name="applications_hide">
<set name="plenty" max="7">
<item name="package">com.adobe.flashplayer</item>
<item name="class">com.adobe.flashplayer.SettingsManager</item>
</set>
<set name="plenty" max="7">
<item name="package">com.android.providers.downloads.ui</item>
<item name="class">com.android.providers.downloads.ui.DownloadList</item>
</set>
<set name="plenty" max="7">
<item name="package">com.android.stk</item>
<item name="class">com.android.stk.StkLauncherActivity</item>
</set>
Oh,I remembered,few people wanted higher mms size limit
its easy,in mns/default.xml 3 options
,I use 1mb,600kb,300kb
At&t can not handle more then 1mb.On Sprint it worked up to 10mb (if sender and receiver had same mod)
Code:
<item name="MMS_Msg_Size1">1M</item>
<item name="MMS_Msg_Size2">600K</item>
<item name="MMS_Msg_Size3">300K</item>
vin255764 said:
Oh,I remembered,few people wanted higher mms size limit
its easy,in mns/default.xml 3 options
,I use 1mb,600kb,300kb
At&t can not handle more then 1mb.On Sprint it worked up to 10mb (if sender and receiver had same mod)
Code:
<item name="MMS_Msg_Size1">1M</item>
<item name="MMS_Msg_Size2">600K</item>
<item name="MMS_Msg_Size3">300K</item>
Click to expand...
Click to collapse
Im really interested in this. How do you go about changing this?
Gold Leader said:
Im really interested in this. How do you go about changing this?
Click to expand...
Click to collapse
not sure what you asking.for example:
att stock rom mms menu 100k,200k,300k and 300k selected
Code:
<item name="MMS_Msg_Size1">100K</item>
<item name="MMS_Msg_Size2">200K</item>
<item name="MMS_Msg_Size3">300K</item>
<item name="MMS_Msg_Size_Choose">300K</item>
after change
Code:
<item name="MMS_Msg_Size1">1M</item>
<item name="MMS_Msg_Size2">600K</item>
<item name="MMS_Msg_Size3">300K</item>
<item name="MMS_Msg_Size_Choose">1M</item>
and menu will look like 1m,600k,300k with 1m selected.
It can be done with root explorer text editor (system/customize/MNS/default.xml) on any ROM,just have to wipe/factory reset after edits to load this config
c5satellite2 said:
I delete all the language apks I don't use!
Great find, I'm sure many people will benefit. Good job!
Sent from my HTC One X using XDA
Click to expand...
Click to collapse
+1
Sent from my Nocturnal Beast.
I noticed the lack of any Asian languages in all the Sense based ROMS probably because all the languages have been based off the European releases (US release language support is completely pathetic).
First, do the Asian release of the One S even support Asian languages like Chinese, Japanese, Korean, etc? If so, I was wondering if anyone can port over the languages from Asian based release of the One S. Is it even possible since Asian release of the One S is going to be S3 variant? If not, can someone still upload an Asian S3 based ROM, so someone can do an official translation?
Thanks
I was on my way of doing a official translation based on the WWE (world wide) One X roms, so I started decompiling all the apks from both the One X and One S using apktool. This when I noticed that the One S rom's apk all contain zh_XX folder (chinese) under the "res" folder of the decompiled apk . I went ahead and decompiled a random selection of apks inside the One S rom to insure it wasn't just a fluke.
I did try editing the default.xml file under the "CID" folder to get other system languages to appear inside the settings. However, I wasn't very successful. I ended up using the app "MoreLocale 2" to display chinese, which isn't as elegant.
Update:
I forgot to add the language code in <item name="total_list"> line. I also notice it same mistake a lot of the custom rom made, which is why the added languages aren't showing up under system languages.
Anyways, here is the code for the CID default.xml to get all the languages to display (sorry for the messed up tabs)
Update: I cleaned up the code (changed all the tabs into double spaces. The tabs were somehow causing the setup language screen to display a lot of blank lines. It didn't really affect anything and the language selection under system languages looked fine).
Code:
Look at next post for most updated code
This is an updated CID default.xml that contains all the languages found in a sample of HTC apk's. Specifically languages Afrikaans, Amharic, Hindi, Korean, Japanese, Tagalog, etc are added with the correct country codes. Also a few additional regional locales for certain languages were also added.
In any sense based rom you'll want to access
/system/customize/CID/default.xml
then past the following code over the existing same lines of code
Code:
<item name="total_list">af_ZA;af_NA;am_ET;ar_AR;ar_EG;ar_IL;be_BY;be_PL;bg_BG;bg_BY;bg_CS;bg_CZ;bg_EE;bg_HR;bg_HU;bg_LT;bg_LV;bg_PL;bg_RO;bg_SI;bg_SK;bg_UA;ca_AD;ca_ES;cs_BG;cs_BY;cs_CS;cs_CZ;cs_EE;cs_HR;cs_HU;cs_LT;cs_LV;cs_PL;cs_RO;cs_SI;cs_SK;cs_UA;da_DK;da_FI;da_NO;da_SE;de_AO;de_AT;de_BE;de_CH;de_CY;de_DE;de_ES;de_FR;de_GB;de_GH;de_GR;de_IE;de_IT;de_KE;de_LI;de_LU;de_MZ;de_NA;de_NG;de_NL;de_PT;de_ZA;el_CY;el_ES;el_GR;el_PT;en_AE;en_AM;en_AO;en_AT;en_AU;en_AZ;en_BE;en_BG;en_BH;en_BY;en_CA;en_CH;en_CN;en_CS;en_CY;en_CZ;en_DE;en_DK;en_DZ;en_EE;en_EG;en_ES;en_FI;en_FR;en_GB;en_GE;en_GH;en_GR;en_HR;en_HU;en_IE;en_IN;en_IQ;en_IT;en_JO;en_KE;en_KW;en_KZ;en_LB;en_LT;en_LU;en_LV;en_LY;en_MA;en_MZ;en_NA;en_NG;en_NL;en_NO;en_NZ;en_OM;en_PL;en_PT;en_QA;en_RO;en_RU;en_SA;en_SE;en_SG;en_SI;en_SK;en_TN;en_TR;en_UA;en_US;en_ZA;es_CY;es_ES;es_FR;es_GB;es_GR;es_IE;es_IT;es_PT;es_US;et_BG;et_BY;et_CS;et_CZ;et_EE;et_HR;et_HU;et_LT;et_LV;et_PL;et_RO;et_SI;et_SK;et_UA;fa_AF;fa_IR;fa_TJ;fi_DK;fi_FI;fi_NO;fi_SE;fr_AE;fr_AO;fr_AT;fr_BE;fr_BH;fr_CA;fr_CH;fr_CY;fr_DE;fr_DZ;fr_EG;fr_ES;fr_FR;fr_GB;fr_GH;fr_GR;fr_IE;fr_IQ;fr_IT;fr_JO;fr_KE;fr_KW;fr_LB;fr_LU;fr_LY;fr_MA;fr_MZ;fr_NA;fr_NG;fr_NL;fr_OM;fr_PT;fr_QA;fr_SA;fr_TN;fr_ZA;hi_IN;hr_BG;hr_BY;hr_CS;hr_CZ;hr_EE;hr_HR;hr_HU;hr_LT;hr_LV;hr_PL;hr_RO;hr_SI;hr_SK;hr_UA;hu_BG;hu_BY;hu_CS;hu_CZ;hu_EE;hu_HR;hu_HU;hu_LT;hu_LV;hu_PL;hu_RO;hu_SI;hu_SK;hu_UA;in_ID;in_IN;it_AT;it_CH;it_DE;it_FR;it_GB;it_IE;it_IT;iw_IL;ja_JP;ko_KR;lt_BG;lt_BY;lt_CS;lt_CZ;lt_EE;lt_HR;lt_HU;lt_LT;lt_LV;lt_PL;lt_RO;lt_SI;lt_SK;lt_UA;lv_BG;lv_BY;lv_CS;lv_CZ;lv_EE;lv_HR;lv_HU;lv_LT;lv_LV;lv_PL;lv_RO;lv_SI;lv_SK;lv_UA;ms_BN;ms_ID;ms_SG;ms_MY;nb_DK;nb_FI;nb_NO;nb_SE;nl_BE;nl_FR;nl_LU;nl_NL;pl_BG;pl_BY;pl_CS;pl_CZ;pl_EE;pl_GB;pl_HR;pl_HU;pl_IE;pl_LT;pl_LV;pl_PL;pl_RO;pl_SI;pl_SK;pl_UA;pt_AO;pt_BR;pt_CY;pt_ES;pt_FR;pt_GH;pt_GR;pt_KE;pt_MZ;pt_NA;pt_NG;pt_PT;pt_ZA;rm_CH;ro_BG;ro_BY;ro_CS;ro_CZ;ro_EE;ro_HR;ro_HU;ro_LT;ro_LV;ro_PL;ro_RO;ro_SI;ro_SK;ro_UA;ru_AM;ru_AZ;ru_BG;ru_BY;ru_CS;ru_CZ;ru_EE;ru_GE;ru_HR;ru_HU;ru_KZ;ru_LT;ru_LV;ru_PL;ru_RO;ru_RU;ru_SI;ru_SK;ru_UA;sk_BG;sk_BY;sk_CS;sk_CZ;sk_EE;sk_HR;sk_HU;sk_LT;sk_LV;sk_PL;sk_RO;sk_SI;sk_SK;sk_UA;sl_BG;sl_BY;sl_CS;sl_CZ;sl_EE;sl_HR;sl_HU;sl_LT;sl_LV;sl_PL;sl_RO;sl_SI;sl_SK;sl_UA;sr_BG;sr_BY;sr_CS;sr_CZ;sr_EE;sr_HR;sr_HU;sr_LT;sr_LV;sr_PL;sr_RO;sr_RS;sr_SI;sr_SK;sr_UA;sv_DK;sv_FI;sv_NO;sv_SE;sw_KE;sw_KM;sw_TZ;sw_UG;th_TH;th_GB;tl_PH;tr_AT;tr_CH;tr_DE;tr_TR;uk_BG;uk_BY;uk_CS;uk_CZ;uk_EE;uk_HR;uk_HU;uk_LT;uk_LV;uk_PL;uk_RO;uk_SI;uk_SK;uk_UA;vi_VN;zh_CN;zh_HK;zh_TW;zu_ZA;</item>
<item type="boolean" name="af_ZA">yes</item>
<item type="boolean" name="af_NA">yes</item>
<item type="boolean" name="am_ET">yes</item>
<item type="boolean" name="ar_AR">yes</item>
<item type="boolean" name="ar_EG">yes</item>
<item type="boolean" name="ar_IL">yes</item>
<item type="boolean" name="be_BY">yes</item>
<item type="boolean" name="be_PL">yes</item>
<item type="boolean" name="bg_BG">yes</item>
<item type="boolean" name="bg_BY">yes</item>
<item type="boolean" name="bg_CS">yes</item>
<item type="boolean" name="bg_CZ">yes</item>
<item type="boolean" name="bg_EE">yes</item>
<item type="boolean" name="bg_HR">yes</item>
<item type="boolean" name="bg_HU">yes</item>
<item type="boolean" name="bg_LT">yes</item>
<item type="boolean" name="bg_LV">yes</item>
<item type="boolean" name="bg_PL">yes</item>
<item type="boolean" name="bg_RO">yes</item>
<item type="boolean" name="bg_SI">yes</item>
<item type="boolean" name="bg_SK">yes</item>
<item type="boolean" name="bg_UA">yes</item>
<item type="boolean" name="ca_AD">yes</item>
<item type="boolean" name="ca_ES">yes</item>
<item type="boolean" name="cs_BG">yes</item>
<item type="boolean" name="cs_BY">yes</item>
<item type="boolean" name="cs_CS">yes</item>
<item type="boolean" name="cs_CZ">yes</item>
<item type="boolean" name="cs_EE">yes</item>
<item type="boolean" name="cs_HR">yes</item>
<item type="boolean" name="cs_HU">yes</item>
<item type="boolean" name="cs_LT">yes</item>
<item type="boolean" name="cs_LV">yes</item>
<item type="boolean" name="cs_PL">yes</item>
<item type="boolean" name="cs_RO">yes</item>
<item type="boolean" name="cs_SI">yes</item>
<item type="boolean" name="cs_SK">yes</item>
<item type="boolean" name="cs_UA">yes</item>
<item type="boolean" name="da_DK">yes</item>
<item type="boolean" name="da_FI">yes</item>
<item type="boolean" name="da_NO">yes</item>
<item type="boolean" name="da_SE">yes</item>
<item type="boolean" name="de_AO">yes</item>
<item type="boolean" name="de_AT">yes</item>
<item type="boolean" name="de_BE">yes</item>
<item type="boolean" name="de_CH">yes</item>
<item type="boolean" name="de_CY">yes</item>
<item type="boolean" name="de_DE">yes</item>
<item type="boolean" name="de_ES">yes</item>
<item type="boolean" name="de_FR">yes</item>
<item type="boolean" name="de_GB">yes</item>
<item type="boolean" name="de_GH">yes</item>
<item type="boolean" name="de_GR">yes</item>
<item type="boolean" name="de_IE">yes</item>
<item type="boolean" name="de_IT">yes</item>
<item type="boolean" name="de_KE">yes</item>
<item type="boolean" name="de_LI">yes</item>
<item type="boolean" name="de_LU">yes</item>
<item type="boolean" name="de_MZ">yes</item>
<item type="boolean" name="de_NA">yes</item>
<item type="boolean" name="de_NG">yes</item>
<item type="boolean" name="de_NL">yes</item>
<item type="boolean" name="de_PT">yes</item>
<item type="boolean" name="de_ZA">yes</item>
<item type="boolean" name="el_CY">yes</item>
<item type="boolean" name="el_ES">yes</item>
<item type="boolean" name="el_GR">yes</item>
<item type="boolean" name="el_PT">yes</item>
<item type="boolean" name="en_AE">yes</item>
<item type="boolean" name="en_AM">yes</item>
<item type="boolean" name="en_AO">yes</item>
<item type="boolean" name="en_AT">yes</item>
<item type="boolean" name="en_AU">yes</item>
<item type="boolean" name="en_AZ">yes</item>
<item type="boolean" name="en_BE">yes</item>
<item type="boolean" name="en_BG">yes</item>
<item type="boolean" name="en_BH">yes</item>
<item type="boolean" name="en_BY">yes</item>
<item type="boolean" name="en_CA">yes</item>
<item type="boolean" name="en_CH">yes</item>
<item type="boolean" name="en_CN">yes</item>
<item type="boolean" name="en_CS">yes</item>
<item type="boolean" name="en_CY">yes</item>
<item type="boolean" name="en_CZ">yes</item>
<item type="boolean" name="en_DE">yes</item>
<item type="boolean" name="en_DK">yes</item>
<item type="boolean" name="en_DZ">yes</item>
<item type="boolean" name="en_EE">yes</item>
<item type="boolean" name="en_EG">yes</item>
<item type="boolean" name="en_ES">yes</item>
<item type="boolean" name="en_FI">yes</item>
<item type="boolean" name="en_FR">yes</item>
<item type="boolean" name="en_GB">yes</item>
<item type="boolean" name="en_GE">yes</item>
<item type="boolean" name="en_GH">yes</item>
<item type="boolean" name="en_GR">yes</item>
<item type="boolean" name="en_HR">yes</item>
<item type="boolean" name="en_HU">yes</item>
<item type="boolean" name="en_IE">yes</item>
<item type="boolean" name="en_IN">yes</item>
<item type="boolean" name="en_IQ">yes</item>
<item type="boolean" name="en_IT">yes</item>
<item type="boolean" name="en_JO">yes</item>
<item type="boolean" name="en_KE">yes</item>
<item type="boolean" name="en_KW">yes</item>
<item type="boolean" name="en_KZ">yes</item>
<item type="boolean" name="en_LB">yes</item>
<item type="boolean" name="en_LT">yes</item>
<item type="boolean" name="en_LU">yes</item>
<item type="boolean" name="en_LV">yes</item>
<item type="boolean" name="en_LY">yes</item>
<item type="boolean" name="en_MA">yes</item>
<item type="boolean" name="en_MZ">yes</item>
<item type="boolean" name="en_NA">yes</item>
<item type="boolean" name="en_NG">yes</item>
<item type="boolean" name="en_NL">yes</item>
<item type="boolean" name="en_NO">yes</item>
<item type="boolean" name="en_NZ">yes</item>
<item type="boolean" name="en_OM">yes</item>
<item type="boolean" name="en_PL">yes</item>
<item type="boolean" name="en_PT">yes</item>
<item type="boolean" name="en_QA">yes</item>
<item type="boolean" name="en_RO">yes</item>
<item type="boolean" name="en_RU">yes</item>
<item type="boolean" name="en_SA">yes</item>
<item type="boolean" name="en_SE">yes</item>
<item type="boolean" name="en_SG">yes</item>
<item type="boolean" name="en_SI">yes</item>
<item type="boolean" name="en_SK">yes</item>
<item type="boolean" name="en_TN">yes</item>
<item type="boolean" name="en_TR">yes</item>
<item type="boolean" name="en_UA">yes</item>
<item type="boolean" name="en_US">yes</item>
<item type="boolean" name="en_ZA">yes</item>
<item type="boolean" name="es_CY">yes</item>
<item type="boolean" name="es_ES">yes</item>
<item type="boolean" name="es_FR">yes</item>
<item type="boolean" name="es_GB">yes</item>
<item type="boolean" name="es_GR">yes</item>
<item type="boolean" name="es_IE">yes</item>
<item type="boolean" name="es_IT">yes</item>
<item type="boolean" name="es_PT">yes</item>
<item type="boolean" name="es_US">yes</item>
<item type="boolean" name="et_BG">yes</item>
<item type="boolean" name="et_BY">yes</item>
<item type="boolean" name="et_CS">yes</item>
<item type="boolean" name="et_CZ">yes</item>
<item type="boolean" name="et_EE">yes</item>
<item type="boolean" name="et_HR">yes</item>
<item type="boolean" name="et_HU">yes</item>
<item type="boolean" name="et_LT">yes</item>
<item type="boolean" name="et_LV">yes</item>
<item type="boolean" name="et_PL">yes</item>
<item type="boolean" name="et_RO">yes</item>
<item type="boolean" name="et_SI">yes</item>
<item type="boolean" name="et_SK">yes</item>
<item type="boolean" name="et_UA">yes</item>
<item type="boolean" name="fa_AF">yes</item>
<item type="boolean" name="fa_IR">yes</item>
<item type="boolean" name="fa_TJ">yes</item>
<item type="boolean" name="fi_DK">yes</item>
<item type="boolean" name="fi_FI">yes</item>
<item type="boolean" name="fi_NO">yes</item>
<item type="boolean" name="fi_SE">yes</item>
<item type="boolean" name="fr_AE">yes</item>
<item type="boolean" name="fr_AO">yes</item>
<item type="boolean" name="fr_AT">yes</item>
<item type="boolean" name="fr_BE">yes</item>
<item type="boolean" name="fr_BH">yes</item>
<item type="boolean" name="fr_CA">yes</item>
<item type="boolean" name="fr_CH">yes</item>
<item type="boolean" name="fr_CY">yes</item>
<item type="boolean" name="fr_DE">yes</item>
<item type="boolean" name="fr_DZ">yes</item>
<item type="boolean" name="fr_EG">yes</item>
<item type="boolean" name="fr_ES">yes</item>
<item type="boolean" name="fr_FR">yes</item>
<item type="boolean" name="fr_GB">yes</item>
<item type="boolean" name="fr_GH">yes</item>
<item type="boolean" name="fr_GR">yes</item>
<item type="boolean" name="fr_IE">yes</item>
<item type="boolean" name="fr_IQ">yes</item>
<item type="boolean" name="fr_IT">yes</item>
<item type="boolean" name="fr_JO">yes</item>
<item type="boolean" name="fr_KE">yes</item>
<item type="boolean" name="fr_KW">yes</item>
<item type="boolean" name="fr_LB">yes</item>
<item type="boolean" name="fr_LU">yes</item>
<item type="boolean" name="fr_LY">yes</item>
<item type="boolean" name="fr_MA">yes</item>
<item type="boolean" name="fr_MZ">yes</item>
<item type="boolean" name="fr_NA">yes</item>
<item type="boolean" name="fr_NG">yes</item>
<item type="boolean" name="fr_NL">yes</item>
<item type="boolean" name="fr_OM">yes</item>
<item type="boolean" name="fr_PT">yes</item>
<item type="boolean" name="fr_QA">yes</item>
<item type="boolean" name="fr_SA">yes</item>
<item type="boolean" name="fr_TN">yes</item>
<item type="boolean" name="fr_ZA">yes</item>
<item type="boolean" name="hi_IN">yes</item>
<item type="boolean" name="hr_BG">yes</item>
<item type="boolean" name="hr_BY">yes</item>
<item type="boolean" name="hr_CS">yes</item>
<item type="boolean" name="hr_CZ">yes</item>
<item type="boolean" name="hr_EE">yes</item>
<item type="boolean" name="hr_HR">yes</item>
<item type="boolean" name="hr_HU">yes</item>
<item type="boolean" name="hr_LT">yes</item>
<item type="boolean" name="hr_LV">yes</item>
<item type="boolean" name="hr_PL">yes</item>
<item type="boolean" name="hr_RO">yes</item>
<item type="boolean" name="hr_SI">yes</item>
<item type="boolean" name="hr_SK">yes</item>
<item type="boolean" name="hr_UA">yes</item>
<item type="boolean" name="hu_BG">yes</item>
<item type="boolean" name="hu_BY">yes</item>
<item type="boolean" name="hu_CS">yes</item>
<item type="boolean" name="hu_CZ">yes</item>
<item type="boolean" name="hu_EE">yes</item>
<item type="boolean" name="hu_HR">yes</item>
<item type="boolean" name="hu_HU">yes</item>
<item type="boolean" name="hu_LT">yes</item>
<item type="boolean" name="hu_LV">yes</item>
<item type="boolean" name="hu_PL">yes</item>
<item type="boolean" name="hu_RO">yes</item>
<item type="boolean" name="hu_SI">yes</item>
<item type="boolean" name="hu_SK">yes</item>
<item type="boolean" name="hu_UA">yes</item>
<item type="boolean" name="in_ID">yes</item>
<item type="boolean" name="in_IN">yes</item>
<item type="boolean" name="it_AT">yes</item>
<item type="boolean" name="it_CH">yes</item>
<item type="boolean" name="it_DE">yes</item>
<item type="boolean" name="it_FR">yes</item>
<item type="boolean" name="it_GB">yes</item>
<item type="boolean" name="it_IE">yes</item>
<item type="boolean" name="it_IT">yes</item>
<item type="boolean" name="iw_IL">yes</item>
<item type="boolean" name="ja_JP">yes</item>
<item type="boolean" name="ko_KR">yes</item>
<item type="boolean" name="lt_BG">yes</item>
<item type="boolean" name="lt_BY">yes</item>
<item type="boolean" name="lt_CS">yes</item>
<item type="boolean" name="lt_CZ">yes</item>
<item type="boolean" name="lt_EE">yes</item>
<item type="boolean" name="lt_HR">yes</item>
<item type="boolean" name="lt_HU">yes</item>
<item type="boolean" name="lt_LT">yes</item>
<item type="boolean" name="lt_LV">yes</item>
<item type="boolean" name="lt_PL">yes</item>
<item type="boolean" name="lt_RO">yes</item>
<item type="boolean" name="lt_SI">yes</item>
<item type="boolean" name="lt_SK">yes</item>
<item type="boolean" name="lt_UA">yes</item>
<item type="boolean" name="lv_BG">yes</item>
<item type="boolean" name="lv_BY">yes</item>
<item type="boolean" name="lv_CS">yes</item>
<item type="boolean" name="lv_CZ">yes</item>
<item type="boolean" name="lv_EE">yes</item>
<item type="boolean" name="lv_HR">yes</item>
<item type="boolean" name="lv_HU">yes</item>
<item type="boolean" name="lv_LT">yes</item>
<item type="boolean" name="lv_LV">yes</item>
<item type="boolean" name="lv_PL">yes</item>
<item type="boolean" name="lv_RO">yes</item>
<item type="boolean" name="lv_SI">yes</item>
<item type="boolean" name="lv_SK">yes</item>
<item type="boolean" name="lv_UA">yes</item>
<item type="boolean" name="ms_BN">yes</item>
<item type="boolean" name="ms_ID">yes</item>
<item type="boolean" name="ms_SG">yes</item>
<item type="boolean" name="ms_MY">yes</item>
<item type="boolean" name="nb_DK">yes</item>
<item type="boolean" name="nb_FI">yes</item>
<item type="boolean" name="nb_NO">yes</item>
<item type="boolean" name="nb_SE">yes</item>
<item type="boolean" name="nl_BE">yes</item>
<item type="boolean" name="nl_FR">yes</item>
<item type="boolean" name="nl_LU">yes</item>
<item type="boolean" name="nl_NL">yes</item>
<item type="boolean" name="pl_BG">yes</item>
<item type="boolean" name="pl_BY">yes</item>
<item type="boolean" name="pl_CS">yes</item>
<item type="boolean" name="pl_CZ">yes</item>
<item type="boolean" name="pl_EE">yes</item>
<item type="boolean" name="pl_GB">yes</item>
<item type="boolean" name="pl_HR">yes</item>
<item type="boolean" name="pl_HU">yes</item>
<item type="boolean" name="pl_IE">yes</item>
<item type="boolean" name="pl_LT">yes</item>
<item type="boolean" name="pl_LV">yes</item>
<item type="boolean" name="pl_PL">yes</item>
<item type="boolean" name="pl_RO">yes</item>
<item type="boolean" name="pl_SI">yes</item>
<item type="boolean" name="pl_SK">yes</item>
<item type="boolean" name="pl_UA">yes</item>
<item type="boolean" name="pt_AO">yes</item>
<item type="boolean" name="pt_BR">yes</item>
<item type="boolean" name="pt_CY">yes</item>
<item type="boolean" name="pt_ES">yes</item>
<item type="boolean" name="pt_FR">yes</item>
<item type="boolean" name="pt_GH">yes</item>
<item type="boolean" name="pt_GR">yes</item>
<item type="boolean" name="pt_KE">yes</item>
<item type="boolean" name="pt_MZ">yes</item>
<item type="boolean" name="pt_NA">yes</item>
<item type="boolean" name="pt_NG">yes</item>
<item type="boolean" name="pt_PT">yes</item>
<item type="boolean" name="pt_ZA">yes</item>
<item type="boolean" name="rm_CH">yes</item>
<item type="boolean" name="ro_BG">yes</item>
<item type="boolean" name="ro_BY">yes</item>
<item type="boolean" name="ro_CS">yes</item>
<item type="boolean" name="ro_CZ">yes</item>
<item type="boolean" name="ro_EE">yes</item>
<item type="boolean" name="ro_HR">yes</item>
<item type="boolean" name="ro_HU">yes</item>
<item type="boolean" name="ro_LT">yes</item>
<item type="boolean" name="ro_LV">yes</item>
<item type="boolean" name="ro_PL">yes</item>
<item type="boolean" name="ro_RO">yes</item>
<item type="boolean" name="ro_SI">yes</item>
<item type="boolean" name="ro_SK">yes</item>
<item type="boolean" name="ro_UA">yes</item>
<item type="boolean" name="ru_AM">yes</item>
<item type="boolean" name="ru_AZ">yes</item>
<item type="boolean" name="ru_BG">yes</item>
<item type="boolean" name="ru_BY">yes</item>
<item type="boolean" name="ru_CS">yes</item>
<item type="boolean" name="ru_CZ">yes</item>
<item type="boolean" name="ru_EE">yes</item>
<item type="boolean" name="ru_GE">yes</item>
<item type="boolean" name="ru_HR">yes</item>
<item type="boolean" name="ru_HU">yes</item>
<item type="boolean" name="ru_KZ">yes</item>
<item type="boolean" name="ru_LT">yes</item>
<item type="boolean" name="ru_LV">yes</item>
<item type="boolean" name="ru_PL">yes</item>
<item type="boolean" name="ru_RO">yes</item>
<item type="boolean" name="ru_RU">yes</item>
<item type="boolean" name="ru_SI">yes</item>
<item type="boolean" name="ru_SK">yes</item>
<item type="boolean" name="ru_UA">yes</item>
<item type="boolean" name="sk_BG">yes</item>
<item type="boolean" name="sk_BY">yes</item>
<item type="boolean" name="sk_CS">yes</item>
<item type="boolean" name="sk_CZ">yes</item>
<item type="boolean" name="sk_EE">yes</item>
<item type="boolean" name="sk_HR">yes</item>
<item type="boolean" name="sk_HU">yes</item>
<item type="boolean" name="sk_LT">yes</item>
<item type="boolean" name="sk_LV">yes</item>
<item type="boolean" name="sk_PL">yes</item>
<item type="boolean" name="sk_RO">yes</item>
<item type="boolean" name="sk_SI">yes</item>
<item type="boolean" name="sk_SK">yes</item>
<item type="boolean" name="sk_UA">yes</item>
<item type="boolean" name="sl_BG">yes</item>
<item type="boolean" name="sl_BY">yes</item>
<item type="boolean" name="sl_CS">yes</item>
<item type="boolean" name="sl_CZ">yes</item>
<item type="boolean" name="sl_EE">yes</item>
<item type="boolean" name="sl_HR">yes</item>
<item type="boolean" name="sl_HU">yes</item>
<item type="boolean" name="sl_LT">yes</item>
<item type="boolean" name="sl_LV">yes</item>
<item type="boolean" name="sl_PL">yes</item>
<item type="boolean" name="sl_RO">yes</item>
<item type="boolean" name="sl_SI">yes</item>
<item type="boolean" name="sl_SK">yes</item>
<item type="boolean" name="sl_UA">yes</item>
<item type="boolean" name="sr_BG">yes</item>
<item type="boolean" name="sr_BY">yes</item>
<item type="boolean" name="sr_CS">yes</item>
<item type="boolean" name="sr_CZ">yes</item>
<item type="boolean" name="sr_EE">yes</item>
<item type="boolean" name="sr_HR">yes</item>
<item type="boolean" name="sr_HU">yes</item>
<item type="boolean" name="sr_LT">yes</item>
<item type="boolean" name="sr_LV">yes</item>
<item type="boolean" name="sr_PL">yes</item>
<item type="boolean" name="sr_RO">yes</item>
<item type="boolean" name="sr_RS">yes</item>
<item type="boolean" name="sr_SI">yes</item>
<item type="boolean" name="sr_SK">yes</item>
<item type="boolean" name="sr_UA">yes</item>
<item type="boolean" name="sv_DK">yes</item>
<item type="boolean" name="sv_FI">yes</item>
<item type="boolean" name="sv_NO">yes</item>
<item type="boolean" name="sv_SE">yes</item>
<item type="boolean" name="sw_KE">yes</item>
<item type="boolean" name="sw_KM">yes</item>
<item type="boolean" name="sw_TZ">yes</item>
<item type="boolean" name="sw_UG">yes</item>
<item type="boolean" name="th_TH">yes</item>
<item type="boolean" name="th_GB">yes</item>
<item type="boolean" name="tl_PH">yes</item>
<item type="boolean" name="tr_AT">yes</item>
<item type="boolean" name="tr_CH">yes</item>
<item type="boolean" name="tr_DE">yes</item>
<item type="boolean" name="tr_TR">yes</item>
<item type="boolean" name="uk_BG">yes</item>
<item type="boolean" name="uk_BY">yes</item>
<item type="boolean" name="uk_CS">yes</item>
<item type="boolean" name="uk_CZ">yes</item>
<item type="boolean" name="uk_EE">yes</item>
<item type="boolean" name="uk_HR">yes</item>
<item type="boolean" name="uk_HU">yes</item>
<item type="boolean" name="uk_LT">yes</item>
<item type="boolean" name="uk_LV">yes</item>
<item type="boolean" name="uk_PL">yes</item>
<item type="boolean" name="uk_RO">yes</item>
<item type="boolean" name="uk_SI">yes</item>
<item type="boolean" name="uk_SK">yes</item>
<item type="boolean" name="uk_UA">yes</item>
<item type="boolean" name="vi_VN">yes</item>
<item type="boolean" name="zh_CN">yes</item>
<item type="boolean" name="zh_HK">yes</item>
<item type="boolean" name="zh_TW">yes</item>
<item type="boolean" name="zu_ZA">yes</item>
Hopefully I covered all the languages and locales that everyone wants/needs.
Be sure to do a full wipe and then reinstall your ROM with the modified CID default.xml
Enable % Battery and Icons
Tools Required :
1. apktool (For Decompile/Compile)
2. Notepad++ (Windows) Or Text Editor (OSX)
3. 7zip (Windows)
4. Java Runtime
Steps -
1. Extract all files for apktool into a folder (Lets say /apktool for this example)
2. Extract files from your phone and copy into apktool folder :
/system/framework/framework-res.apk
/system/framework/com.htc.resources.apk
/system/app/SystemUI.apk
3. Open a command/terminal prompt at /apktool
4. Run following commands :
apktool if framework-res.apk (OSX - ./apktool if framework-res.apk)
apktool com.htc.resources.apk (OSX - ./apktool if com.htc.resources.apk)
apktool d SystemUI.apk (OSX - ./apktool d SystemUI.apk)
5. This should decompile the SystemUI apk successfully and create folder SystemUI in /apktool
6. Change into SystemUI folder. Edit file - res/drawable/stat_sys_battery.xml
7. Remove all lines between following lines :
xmlns:android="http://schemas.android.com/apk/res/android">
....
</level-list>
8. Copy and paste the following lines in place
Code:
<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" />
<item android:drawable="@drawable/stat_sys_battery_100" android:maxLevel="101" />
9. Save and exit the file
10. Now to explain the other file "stat_sys_battery_charge.xml"
Each percent of battery has its own set of animation list going from current battery to 100% with given amount of millisecond gap on each icon. This forms the Animation part.
Example -
Code:
<item android:maxLevel="95">
<animation-list android:oneshot="false"
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:duration="300" android:drawable="@drawable/stat_sys_battery_charge_anim95" />
<item android:duration="300" android:drawable="@drawable/stat_sys_battery_charge_anim96" />
<item android:duration="300" android:drawable="@drawable/stat_sys_battery_charge_anim97" />
<item android:duration="300" android:drawable="@drawable/stat_sys_battery_charge_anim98" />
<item android:duration="300" android:drawable="@drawable/stat_sys_battery_charge_anim99" />
<item android:duration="300" android:drawable="@drawable/stat_sys_battery_charge_anim100" />
</animation-list>
</item>
Each icon is shown for 300ms and goes in a loop. So we need 101 such <item> tags to complete the xml. 101 indicates battery full and can have code as follows :
Code:
<item android:maxLevel="101">
<animation-list android:oneshot="false"
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:duration="3000" android:drawable="@drawable/stat_sys_battery_charge_animfull" />
</animation-list>
</item>
This basically stops any animation on battery full (Same icon is refreshed every 3 seconds) and shows a special icon (animfull). Note that all this is upto your icon naming convention. The examples given here are what is mostly stock and used.
As you must have gathered by now that creating such XML manually is a really tedious job. So I will be attaching a Windows program and script for OSX which will generate such XML based on your inputs.
Also note that if you do not want animation, you can copy over the lines from the non-charging xml given above and use same list for the charging xml. The names can be changed from normal to _anim to reflect the charging icons.
11. Save and exit the charging xml file
12. Copy over your set of 1% icons to res/drawable-xhdpi (Replace existing)
13. Remove all such named icons from res/drawable-hdpi
14. Recompile the apk using command prompt :
apktool b SystemUI (OSX - ./apktool b SystemUI)
15. New compiled apk will be available in /apktool/SystemUI/dist
16. You can use attached template zip and open (DO NOT EXTRACT) using 7z
17. Change into system/app folder in 7z and drag the new compiled SystemUI.apk into it. Answer YES if you get prompt in 7z
18. Similarly use the template to create an original zip for your untouched SystemUI.apk for reverting back to original
19. Flash away in Recovery and Enjoy!
Click to expand...
Click to collapse
TOOLS
Windows
Download here
{
"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"
}
Fields :
1. Animation Duration : Number of milliseconds to wait at each icon
2. Filename Prefix : Filename prefix to be used for animation icons (Part of filename before the 01-100 numbers)
3. Animation Flag : Y for animated charging icons, N for standard animated icons without animation xml
Extract the exe from WIN_xmlgen_battperc in attachment and copy to apktool folder. Run the tool and click Generate after selecting options. It will prompt when done and the xml will be created in the same folder as the exe file.
NOTE - Existing stat_sys_battery_charge.xml will be overwritten without warning.
Click to expand...
Click to collapse
OSX/Linux
Download here
Fields :
1. Animation Duration : Number of milliseconds to wait at each icon
2. Filename Prefix : Filename prefix to be used for animation icons (Part of filename before the 01-100 numbers)
3. Animation Flag : Y for animated charging icons, N for standard animated icons without animation xml
Copy the script from within the OSX_xmlgen_battperc in attachment and copy over to apktool folder.
Set execute permission on the script using GUI or terminal (chmod +x xmlgen_battperc.sh)
Change to apktool folder in Terminal and Run the script (sh xmlgen_battperc.sh or ./xmlgen_battperc)
It will create the charging xml in same folder as the script.
NOTE - Existing stat_sys_battery_charge.xml will be overwritten without warning.
Click to expand...
Click to collapse
Ok this guide it's different from guide made by @BOOTMGR, i follow him guide but i've a few trouble (FC) on some option in settings and now i found my own way how to get AOSP theme for TW based rom (for Jellybean 4.1.2 with Touchwiz version) without any trouble like FC.
actually, this guide its for Galaxy Young GT-S6310 but i hope it will work on all JB 4.1.2 with Touchwiz Based Rom
so let's start now
How to:
1. decompile your framework-res.apk
2. go to styles.xml
3. search for <style name="Theme.DeviceDefault" parent="@style/Theme.Holo">
4. now, we need to modified all content inside <style name="Theme.DeviceDefault" parent="@style/Theme.Holo">
5. replace all line inside <style name="Theme.DeviceDefault" parent="@style/Theme.Holo"> with this
Code:
<style name="Theme.DeviceDefault" parent="@style/Theme.Holo">
<item name="textAppearance">@style/TextAppearance.Holo</item>
<item name="textAppearanceInverse">@style/TextAppearance.Holo.Inverse</item>
<item name="textAppearanceLarge">@style/TextAppearance.Holo.Large</item>
<item name="textAppearanceMedium">@style/TextAppearance.Holo.Medium</item>
<item name="textAppearanceSmall">@style/TextAppearance.Holo.Small</item>
<item name="textAppearanceLargeInverse">@style/TextAppearance.Holo.Large.Inverse</item>
<item name="textAppearanceMediumInverse">@style/TextAppearance.Holo.Medium.Inverse</item>
<item name="textAppearanceSmallInverse">@style/TextAppearance.Holo.Small.Inverse</item>
<item name="buttonStyle">@style/Widget.Holo.Button</item>
<item name="buttonStyleSmall">@style/Widget.Holo.Button.Small</item>
<item name="buttonStyleInset">@style/Widget.Holo.Button.Inset</item>
<item name="buttonStyleToggle">@style/Widget.Holo.Button.Toggle</item>
<item name="windowBackground">@drawable/tw_background_holo_dark</item>
<item name="windowTitleStyle">@style/WindowTitle.Holo</item>
<item name="windowTitleBackgroundStyle">@style/WindowTitleBackground.Holo</item>
<item name="alertDialogStyle">@style/AlertDialog.Holo</item>
<item name="panelBackground">@drawable/tw_menu_hardkey_panel_holo_dark</item>
<item name="absListViewStyle">@style/Widget.Holo.AbsListView</item>
<item name="autoCompleteTextViewStyle">@style/Widget.Holo.AutoCompleteTextView</item>
<item name="checkboxStyle">@style/Widget.Holo.CompoundButton.CheckBox</item>
<item name="dropDownListViewStyle">@style/Widget.Holo.ListView.DropDown</item>
<item name="editTextStyle">@style/Widget.Holo.EditText</item>
<item name="expandableListViewStyle">@style/Widget.Holo.ExpandableListView</item>
<item name="galleryStyle">@style/Widget.Holo.Gallery</item>
<item name="gridViewStyle">@style/Widget.Holo.GridView</item>
<item name="imageButtonStyle">@style/Widget.Holo.ImageButton</item>
<item name="imageWellStyle">@style/Widget.Holo.ImageWell</item>
<item name="listViewStyle">@style/Widget.Holo.ListView</item>
<item name="listViewWhiteStyle">@style/Widget.Holo.ListView.White</item>
<item name="popupWindowStyle">@style/Widget.Holo.PopupWindow</item>
<item name="progressBarStyle">@style/Widget.Holo.ProgressBar</item>
<item name="progressBarStyleHorizontal">@style/Widget.Holo.ProgressBar.Horizontal</item>
<item name="progressBarStyleSmall">@style/Widget.Holo.ProgressBar.Small</item>
<item name="progressBarStyleLarge">@style/Widget.Holo.ProgressBar.Large</item>
<item name="seekBarStyle">@style/Widget.Holo.SeekBar</item>
<item name="ratingBarStyle">@style/Widget.Holo.RatingBar</item>
<item name="ratingBarStyleSmall">@style/Widget.Holo.RatingBar.Small</item>
<item name="radioButtonStyle">@style/Widget.Holo.CompoundButton.RadioButton</item>
<item name="scrollViewStyle">@style/Widget.Holo.ScrollView</item>
<item name="spinnerStyle">?dropDownSpinnerStyle</item>
<item name="starStyle">@style/Widget.Holo.CompoundButton.Star</item>
<item name="tabWidgetStyle">@style/Widget.Holo.TabWidget</item>
<item name="textViewStyle">@style/Widget.Holo.TextView</item>
<item name="webViewStyle">@style/Widget.Holo.WebView</item>
<item name="dropDownItemStyle">@style/Widget.Holo.DropDownItem</item>
<item name="spinnerDropDownItemStyle">@style/Widget.Holo.DropDownItem.Spinner</item>
<item name="dropDownHintAppearance">@style/TextAppearance.Holo.Widget.DropDownHint</item>
<item name="spinnerItemStyle">@style/Widget.Holo.TextView.SpinnerItem</item>
<item name="preferenceScreenStyle">@style/Preference.Holo.PreferenceScreen</item>
<item name="preferenceCategoryStyle">@style/Preference.Holo.Category</item>
<item name="preferenceInformationStyle">@style/Preference.Holo.Information</item>
<item name="preferenceStyle">@style/Preference.Holo</item>
<item name="checkBoxPreferenceStyle">@style/Preference.Holo.CheckBoxPreference</item>
<item name="yesNoPreferenceStyle">@style/Preference.Holo.DialogPreference.YesNoPreference</item>
<item name="dialogPreferenceStyle">@style/Preference.Holo.DialogPreference</item>
<item name="editTextPreferenceStyle">@style/Preference.Holo.DialogPreference.EditTextPreference</item>
<item name="ringtonePreferenceStyle">@style/Preference.Holo.RingtonePreference</item>
<item name="preferenceLayoutChild">@layout/preference_child_holo</item>
<item name="windowAnimationStyle">@style/Animation.DeviceDefault.Activity</item>
<item name="textAppearanceButton">@style/TextAppearance.Holo.Widget.Button</item>
<item name="listSeparatorTextViewStyle">@style/Widget.Holo.TextView.ListSeparator</item>
<item name="progressBarStyleSmallTitle">@style/Widget.Holo.ProgressBar.Small.Title</item>
<item name="ratingBarStyleIndicator">@style/Widget.DeviceDefault.RatingBar.Indicator</item>
<item name="listDivider">@drawable/tw_list_divider_holo_dark</item>
<item name="listChoiceIndicatorSingle">@drawable/tw_btn_radio_holo_dark</item>
<item name="listChoiceIndicatorMultiple">@drawable/tw_btn_check_holo_dark</item>
<item name="progressBarStyleInverse">@style/Widget.Holo.ProgressBar.Inverse</item>
<item name="progressBarStyleSmallInverse">@style/Widget.Holo.ProgressBar.Small.Inverse</item>
<item name="progressBarStyleLargeInverse">@style/Widget.Holo.ProgressBar.Large.Inverse</item>
<item name="textAppearanceSearchResultSubtitle">@style/TextAppearance.DeviceDefault.SearchResult.Subtitle</item>
<item name="textAppearanceSearchResultTitle">@style/TextAppearance.DeviceDefault.SearchResult.Title</item>
<item name="scrollbarFadeDuration">@integer/scrollbar_fade_duration</item>
<item name="quickContactBadgeStyleWindowSmall">@style/Widget.DeviceDefault.QuickContactBadge.WindowSmall</item>
<item name="quickContactBadgeStyleWindowMedium">@style/Widget.DeviceDefault.QuickContactBadge.WindowMedium</item>
<item name="quickContactBadgeStyleWindowLarge">@style/Widget.DeviceDefault.QuickContactBadge.WindowLarge</item>
<item name="quickContactBadgeStyleSmallWindowSmall">@style/Widget.DeviceDefault.QuickContactBadgeSmall.WindowSmall</item>
<item name="quickContactBadgeStyleSmallWindowMedium">@style/Widget.DeviceDefault.QuickContactBadgeSmall.WindowMedium</item>
<item name="quickContactBadgeStyleSmallWindowLarge">@style/Widget.DeviceDefault.QuickContactBadgeSmall.WindowLarge</item>
<item name="expandableListViewWhiteStyle">@style/Widget.DeviceDefault.ExpandableListView.White</item>
<item name="webTextViewStyle">@style/Widget.DeviceDefault.WebTextView</item>
<item name="textSelectHandleLeft">@drawable/text_select_handle_left</item>
<item name="textSelectHandleRight">@drawable/text_select_handle_right</item>
<item name="textSelectHandle">@drawable/text_select_handle_middle</item>
<item name="textSelectHandleWindowStyle">@style/Widget.DeviceDefault.TextSelectHandle</item>
<item name="actionBarStyle">@style/Widget.DeviceDefault.ActionBar</item>
<item name="dropDownSpinnerStyle">@style/Widget.Holo.Spinner.DropDown</item>
<item name="actionDropDownStyle">@style/Widget.Holo.Spinner.DropDown.ActionBar</item>
<item name="actionButtonStyle">@style/Widget.Holo.ActionButton</item>
<item name="actionModeBackground">@drawable/top_header_octo</item>
<item name="actionModeCloseDrawable">@drawable/ic_cab_done_holo_dark</item>
<item name="listChoiceBackgroundIndicator">@drawable/list_selector_holo_dark</item>
<item name="actionBarTabStyle">@style/Widget.Holo.ActionBar.TabView</item>
<item name="actionBarTabBarStyle">@style/Widget.Holo.ActionBar.TabBar</item>
<item name="actionBarTabTextStyle">@style/Widget.Holo.ActionBar.TabText</item>
<item name="actionOverflowButtonStyle">@style/Widget.Holo.ActionButton.Overflow</item>
<item name="actionModeCloseButtonStyle">@style/Widget.Holo.ActionButton.CloseMode</item>
<item name="listPopupWindowStyle">@style/Widget.Holo.ListPopupWindow</item>
<item name="popupMenuStyle">@style/Widget.Holo.PopupMenu</item>
<item name="textAppearanceLargePopupMenu">@style/TextAppearance.Holo.Widget.PopupMenu.Large</item>
<item name="textAppearanceSmallPopupMenu">@style/TextAppearance.Holo.Widget.PopupMenu.Small</item>
<item name="textColorAlertDialogListItem">@color/tw_popup_primary_text_holo_dark</item>
<item name="dialogTheme">@style/Theme.Holo.Dialog</item>
<item name="alertDialogTheme">@style/Theme.Holo.Dialog.Alert</item>
<item name="homeAsUpIndicator">@drawable/tw_ic_ab_back_holo_dark</item>
<item name="actionModeCutDrawable">@drawable/ic_menu_cut_holo_dark</item>
<item name="actionModeCopyDrawable">@drawable/ic_menu_copy_holo_dark</item>
<item name="actionModePasteDrawable">@drawable/ic_menu_paste_holo_dark</item>
<item name="borderlessButtonStyle">@style/Widget.DeviceDefault.Button.Borderless</item>
<item name="buttonBarStyle">@style/Holo.ButtonBar</item>
<item name="buttonBarButtonStyle">?borderlessButtonStyle</item>
<item name="segmentedButtonStyle">@style/DeviceDefault.SegmentedButton</item>
<item name="editTextBackground">@drawable/edit_text_holo_dark</item>
<item name="horizontalScrollViewStyle">@style/Widget.Holo.HorizontalScrollView</item>
<item name="alertDialogIcon">@drawable/ic_dialog_alert_holo_dark</item>
<item name="datePickerStyle">@style/Widget.Holo.DatePicker</item>
<item name="calendarViewStyle">@style/Widget.Holo.CalendarView</item>
<item name="actionMenuTextAppearance">@style/TextAppearance.Holo.Widget.ActionBar.Menu</item>
<item name="actionMenuTextColor">@color/tw_action_bar_menu_text_holo_dark</item>
<item name="switchPreferenceStyle">@style/Preference.Holo.SwitchPreference</item>
<item name="textSuggestionsWindowStyle">@style/Widget.Holo.TextSuggestionsPopupWindow</item>
<item name="actionModeSelectAllDrawable">@drawable/ic_menu_selectall_holo_dark</item>
<item name="actionModeStyle">@style/Widget.Holo.ActionMode</item>
<item name="actionBarDivider">@drawable/divider_vertical_holo_dark</item>
<item name="actionBarItemBackground">@drawable/tw_action_item_background_holo_dark</item>
<item name="actionModeSplitBackground">@drawable/top_header_octo</item>
<item name="listPreferredItemPaddingLeft">17.0dip</item>
<item name="listPreferredItemPaddingRight">17.0dip</item>
<item name="actionBarNonEmbeded">false</item>
<item name="panelMenuListWidth">@dimen/tw_compactmenu_width</item>
<item name="panelMenuListTheme">@style/Theme.DeviceDefault.CompactMenu</item>
<item name="gestureOverlayViewStyle">@style/Widget.DeviceDefault.GestureOverlayView</item>
<item name="quickContactBadgeOverlay">@drawable/tw_quickcontact_badge_overlay_dark</item>
<item name="stackViewStyle">@style/Widget.DeviceDefault.StackView</item>
<item name="checkBoxCheckMark">@drawable/tw_btn_checkmark_holo_dark</item>
<item name="checkBoxCheckContainer">@drawable/tw_btn_checkcontainer_holo_dark</item>
<item name="numberPickerStyle">@style/Widget.DeviceDefault.NumberPicker</item>
<item name="timePickerStyle">@style/Widget.DeviceDefault.TimePicker</item>
<item name="actionBarTitleShadowColor">@color/tw_action_bar_title_shadow_color_holo_dark</item>
<item name="actionBarTitleShadowDx">@dimen/tw_action_bar_title_shadow_dx_holo_dark</item>
<item name="actionMultiWindowButtonDrawable">@drawable/tw_ic_menu_cascade_holo_dark</item>
<item name="actionMultiWindowButtonBackground">@drawable/tw_btn_ab_mw_holo_dark</item>
<item name="actionBarTitleShadowDy">@dimen/tw_action_bar_title_shadow_dy_holo_dark</item>
<item name="actionModeShareDrawable">@drawable/tw_ic_menu_share_holo_dark</item>
<item name="actionModeFindDrawable">@drawable/tw_ic_menu_find_holo_dark</item>
<item name="actionModeWebSearchDrawable">@drawable/tw_ic_menu_search_holo_dark</item>
<item name="actionModePopupWindowStyle">@style/Widget.DeviceDefault.PopupWindow.ActionMode</item>
<item name="preferenceFragmentStyle">@style/PreferenceFragment</item>
<item name="preferenceActivityLayout">@layout/preference_list_content</item>
<item name="preferenceHeaderItemLayout">@layout/preference_header_item</item>
<item name="fragmentBreadCrumbItemLayout">@layout/fragment_bread_crumb_item</item>
<item name="dialogTitleIconsDecorLayout">@layout/dialog_title_icons_holo</item>
<item name="actionModeClipboardDrawable">@drawable/tw_ic_menu_clipboard_holo_dark</item>
<item name="textSelectHandleLeftTop">@drawable/text_select_handle_left</item>
<item name="textSelectHandleRightTop">@drawable/text_select_handle_right</item>
<item name="searchViewCloseIcon">@drawable/tw_ic_clear</item>
<item name="searchViewGoIcon">@drawable/ic_go</item>
<item name="searchViewSearchIcon">@drawable/ic_search</item>
<item name="searchViewVoiceIcon">@drawable/ic_voice_search</item>
<item name="searchViewEditQuery">@drawable/ic_commit_search_api_holo_dark</item>
<item name="searchViewEditQueryBackground">@drawable/tw_item_background_holo_dark</item>
<item name="searchViewTextField">@drawable/tw_textfield_searchview_holo_dark</item>
<item name="searchViewTextFieldRight">@drawable/tw_textfield_searchview_right_holo_dark</item>
<item name="searchViewTextColor">@color/tw_textfield_searchview_text_holo_dark</item>
<item name="twTextColorPrimary">@color/primary_text_holo_dark</item>
<item name="twTextColorSecondary">@color/secondary_text_holo_dark</item>
<item name="twTextSizePrimary">22.0sp</item>
<item name="twTextSizeSecondary">@dimen/tw_secondary_text_size</item>
<item name="dialogTitleDecorLayout">@layout/dialog_title_holo</item>
<item name="toastFrameBackground">@drawable/tw_toast_frame_holo_dark</item>
<item name="toastTextColor">@color/tw_toast_text_holo_dark</item>
<item name="toastTextShadowColor">@color/tw_toast_text_shadow_holo_dark</item>
<item name="searchDropdownBackground">@drawable/tw_spinner_dropdown_background</item>
<item name="searchViewSearchFieldIcon">@drawable/tw_ic_searchfield</item>
<item name="searchDialogTheme">@style/Theme.Holo.SearchBar</item>
<item name="preferenceFrameLayoutStyle">@style/Widget.DeviceDefault.PreferenceFrameLayout</item>
<item name="switchStyle">@style/Widget.Holo.CompoundButton.Switch</item>
<item name="ProgressDialogStyle">@style/AlertDialog.DeviceDefault.ProgressDialog</item>
<item name="parentIsDeviceDefault">true</item>
<item name="keyboardViewStyle">@style/Widget.DeviceDefault.KeyboardView</item>
</style>
6. now, save your styles.xml and compile your framework-res.apk
NB:
1. Still do with your own risk
2. Backup your original framework-res.apk
3. If you get a error, post the log here. without log, i can't help you
Press Thanks if this guide usefull
Nice guide sir, :good:
thank you for this guide, i will try it
dugeriss said:
Nice guide sir, :good:
Click to expand...
Click to collapse
thanks master :cyclops:
crazy_user said:
thank you for this guide, i will try it
Click to expand...
Click to collapse
thankyou and goodluck bro :good:
huge thanks to you & to BOOTMGR working like a charm on s6312
check attchments
adding on my project you saved my time
vlc07 said:
huge thanks to you & to BOOTMGR working like a charm on s6312
check attchments
adding on my project you saved my time
Click to expand...
Click to collapse
good one bro
Sent from my Google Nexus 5 using Tapatalk
ocoot said:
thanks master :cyclops:
thankyou and goodluck bro :good:
Click to expand...
Click to collapse
this guide work for my device thanks bro
crazy_user said:
this guide work for my device thanks bro
Click to expand...
Click to collapse
thanks man
nice guide master
dikulbahrian said:
nice guide master
Click to expand...
Click to collapse
thankyou master
Sent from my Google Nexus 5 using Tapatalk
no one try? huh :/
ocoot said:
no one try? huh :/
Click to expand...
Click to collapse
i already try it master? haha
B|
ocoot said:
Ok this guide it's different from guide made by @BOOTMGR, i follow him guide but i've a few trouble (FC) on some option in settings and now i found my own way how to get AOSP theme for TW based rom (actually for Jellybean 4.1.2 with Touchwiz version) without any trouble like FC.
And may it will work on all JB 4.1.2 Touchwiz Rom
so let's start now
How to:
1. decompile your framework-res.apk
2. go to styles.xml
3. search for <style name="Theme.DeviceDefault" parent="@style/Theme.Holo">
4. now, we need to modified all content inside <style name="Theme.DeviceDefault" parent="@style/Theme.Holo">
5. replace all line inside <style name="Theme.DeviceDefault" parent="@style/Theme.Holo"> with this
Code:
<style name="Theme.DeviceDefault" p:eek::eek::eek:arent="@style/Theme.Holo">
<item name="textAppearance">@style/TextAppearance.Holo</item>
<item name="textAppearanceInverse">@style/TextAppearance.Holo.Inverse</item>
<item name="textAppearanceLarge">@style/TextAppearance.Holo.Large</item>
<item name="textAppearanceMedium">@style/TextAppearance.Holo.Medium</item>
<item name="textAppearanceSmall">@style/TextAppearance.Holo.Small</item>
<item name="textAppearanceLargeInverse">@style/TextAppearance.Holo.Large.Inverse</item>
<item name="textAppearanceMediumInverse">@style/TextAppearance.Holo.Medium.Inverse</item>
<item name="textAppearanceSmallInverse">@style/TextAppearance.Holo.Small.Inverse</item>
<item name="buttonStyle">@style/Widget.Holo.Button</item>
<item name="buttonStyleSmall">@style/Widget.Holo.Button.Small</item>
<item name="buttonStyleInset">@style/Widget.Holo.Button.Inset</item>
<item name="buttonStyleToggle">@style/Widget.Holo.Button.Toggle</item>
<item name="windowBackground">@drawable/tw_background_holo_dark</item>
<item name="windowTitleStyle">@style/WindowTitle.Holo</item>
<item name="windowTitleBackgroundStyle">@style/WindowTitleBackground.Holo</item>
<item name="alertDialogStyle">@style/AlertDialog.Holo</item>
<item name="panelBackground">@drawable/tw_menu_hardkey_panel_holo_dark</item>
<item name="absListViewStyle">@style/Widget.Holo.AbsListView</item>
<item name="autoCompleteTextViewStyle">@style/Widget.Holo.AutoCompleteTextView</item>
<item name="checkboxStyle">@style/Widget.Holo.CompoundButton.CheckBox</item>
<item name="dropDownListViewStyle">@style/Widget.Holo.ListView.DropDown</item>
<item name="editTextStyle">@style/Widget.Holo.EditText</item>
<item name="expandableListViewStyle">@style/Widget.Holo.ExpandableListView</item>
<item name="galleryStyle">@style/Widget.Holo.Gallery</item>
<item name="gridViewStyle">@style/Widget.Holo.GridView</item>
<item name="imageButtonStyle">@style/Widget.Holo.ImageButton</item>
<item name="imageWellStyle">@style/Widget.Holo.ImageWell</item>
<item name="listViewStyle">@style/Widget.Holo.ListView</item>
<item name="listViewWhiteStyle">@style/Widget.Holo.ListView.White</item>
<item name="popupWindowStyle">@style/Widget.Holo.PopupWindow</item>
<item name="progressBarStyle">@style/Widget.Holo.ProgressBar</item>
<item name="progressBarStyleHorizontal">@style/Widget.Holo.ProgressBar.Horizontal</item>
<item name="progressBarStyleSmall">@style/Widget.Holo.ProgressBar.Small</item>
<item name="progressBarStyleLarge">@style/Widget.Holo.ProgressBar.Large</item>
<item name="seekBarStyle">@style/Widget.Holo.SeekBar</item>
<item name="ratingBarStyle">@style/Widget.Holo.RatingBar</item>
<item name="ratingBarStyleSmall">@style/Widget.Holo.RatingBar.Small</item>
<item name="radioButtonStyle">@style/Widget.Holo.CompoundButton.RadioButton</item>
<item name="scrollViewStyle">@style/Widget.Holo.ScrollView</item>
<item name="spinnerStyle">?dropDownSpinnerStyle</item>
<item name="starStyle">@style/Widget.Holo.CompoundButton.Star</item>
<item name="tabWidgetStyle">@style/Widget.Holo.TabWidget</item>
<item name="textViewStyle">@style/Widget.Holo.TextView</item>
<item name="webViewStyle">@style/Widget.Holo.WebView</item>
<item name="dropDownItemStyle">@style/Widget.Holo.DropDownItem</item>
<item name="spinnerDropDownItemStyle">@style/Widget.Holo.DropDownItem.Spinner</item>
<item name="dropDownHintAppearance">@style/TextAppearance.Holo.Widget.DropDownHint</item>
<item name="spinnerItemStyle">@style/Widget.Holo.TextView.SpinnerItem</item>
<item name="preferenceScreenStyle">@style/Preference.Holo.PreferenceScreen</item>
<item name="preferenceCategoryStyle">@style/Preference.Holo.Category</item>
<item name="preferenceInformationStyle">@style/Preference.Holo.Information</item>
<item name="preferenceStyle">@style/Preference.Holo</item>
<item name="checkBoxPreferenceStyle">@style/Preference.Holo.CheckBoxPreference</item>
<item name="yesNoPreferenceStyle">@style/Preference.Holo.DialogPreference.YesNoPreference</item>
<item name="dialogPreferenceStyle">@style/Preference.Holo.DialogPreference</item>
<item name="editTextPreferenceStyle">@style/Preference.Holo.DialogPreference.EditTextPreference</item>
<item name="ringtonePreferenceStyle">@style/Preference.Holo.RingtonePreference</item>
<item name="preferenceLayoutChild">@layout/preference_child_holo</item>
<item name="windowAnimationStyle">@style/Animation.DeviceDefault.Activity</item>
<item name="textAppearanceButton">@style/TextAppearance.Holo.Widget.Button</item>
<item name="listSeparatorTextViewStyle">@style/Widget.Holo.TextView.ListSeparator</item>
<item name="progressBarStyleSmallTitle">@style/Widget.Holo.ProgressBar.Small.Title</item>
<item name="ratingBarStyleIndicator">@style/Widget.DeviceDefault.RatingBar.Indicator</item>
<item name="listDivider">@drawable/tw_list_divider_holo_dark</item>
<item name="listChoiceIndicatorSingle">@drawable/tw_btn_radio_holo_dark</item>
<item name="listChoiceIndicatorMultiple">@drawable/tw_btn_check_holo_dark</item>
<item name="progressBarStyleInverse">@style/Widget.Holo.ProgressBar.Inverse</item>
<item name="progressBarStyleSmallInverse">@style/Widget.Holo.ProgressBar.Small.Inverse</item>
<item name="progressBarStyleLargeInverse">@style/Widget.Holo.ProgressBar.Large.Inverse</item>
<item name="textAppearanceSearchResultSubtitle">@style/TextAppearance.DeviceDefault.SearchResult.Subtitle</item>
<item name="textAppearanceSearchResultTitle">@style/TextAppearance.DeviceDefault.SearchResult.Title</item>
<item name="scrollbarFadeDuration">@integer/scrollbar_fade_duration</item>
<item name="quickContactBadgeStyleWindowSmall">@style/Widget.DeviceDefault.QuickContactBadge.WindowSmall</item>
<item name="quickContactBadgeStyleWindowMedium">@style/Widget.DeviceDefault.QuickContactBadge.WindowMedium</item>
<item name="quickContactBadgeStyleWindowLarge">@style/Widget.DeviceDefault.QuickContactBadge.WindowLarge</item>
<item name="quickContactBadgeStyleSmallWindowSmall">@style/Widget.DeviceDefault.QuickContactBadgeSmall.WindowSmall</item>
<item name="quickContactBadgeStyleSmallWindowMedium">@style/Widget.DeviceDefault.QuickContactBadgeSmall.WindowMedium</item>
<item name="quickContactBadgeStyleSmallWindowLarge">@style/Widget.DeviceDefault.QuickContactBadgeSmall.WindowLarge</item>
<item name="expandableListViewWhiteStyle">@style/Widget.DeviceDefault.ExpandableListView.White</item>
<item name="webTextViewStyle">@style/Widget.DeviceDefault.WebTextView</item>
<item name="textSelectHandleLeft">@drawable/text_select_handle_left</item>
<item name="textSelectHandleRight">@drawable/text_select_handle_right</item>
<item name="textSelectHandle">@drawable/text_select_handle_middle</item>
<item name="textSelectHandleWindowStyle">@style/Widget.DeviceDefault.TextSelectHandle</item>
<item name="actionBarStyle">@style/Widget.DeviceDefault.ActionBar</item>
<item name="dropDownSpinnerStyle">@style/Widget.Holo.Spinner.DropDown</item>
<item name="actionDropDownStyle">@style/Widget.Holo.Spinner.DropDown.ActionBar</item>
<item name="actionButtonStyle">@style/Widget.Holo.ActionButton</item>
<item name="actionModeBackground">@drawable/top_header_octo</item>
<item name="actionModeCloseDrawable">@drawable/ic_cab_done_holo_dark</item>
<item name="listChoiceBackgroundIndicator">@drawable/list_selector_holo_dark</item>
<item name="actionBarTabStyle">@style/Widget.Holo.ActionBar.TabView</item>
<item name="actionBarTabBarStyle">@style/Widget.Holo.ActionBar.TabBar</item>
<item name="actionBarTabTextStyle">@style/Widget.Holo.ActionBar.TabText</item>
<item name="actionOverflowButtonStyle">@style/Widget.Holo.ActionButton.Overflow</item>
<item name="actionModeCloseButtonStyle">@style/Widget.Holo.ActionButton.CloseMode</item>
<item name="listPopupWindowStyle">@style/Widget.Holo.ListPopupWindow</item>
<item name="popupMenuStyle">@style/Widget.Holo.PopupMenu</item>
<item name="textAppearanceLargePopupMenu">@style/TextAppearance.Holo.Widget.PopupMenu.Large</item>
<item name="textAppearanceSmallPopupMenu">@style/TextAppearance.Holo.Widget.PopupMenu.Small</item>
<item name="textColorAlertDialogListItem">@color/tw_popup_primary_text_holo_dark</item>
<item name="dialogTheme">@style/Theme.Holo.Dialog</item>
<item name="alertDialogTheme">@style/Theme.Holo.Dialog.Alert</item>
<item name="homeAsUpIndicator">@drawable/tw_ic_ab_back_holo_dark</item>
<item name="actionModeCutDrawable">@drawable/ic_menu_cut_holo_dark</item>
<item name="actionModeCopyDrawable">@drawable/ic_menu_copy_holo_dark</item>
<item name="actionModePasteDrawable">@drawable/ic_menu_paste_holo_dark</item>
<item name="borderlessButtonStyle">@style/Widget.DeviceDefault.Button.Borderless</item>
<item name="buttonBarStyle">@style/Holo.ButtonBar</item>
<item name="buttonBarButtonStyle">?borderlessButtonStyle</item>
<item name="segmentedButtonStyle">@style/DeviceDefault.SegmentedButton</item>
<item name="editTextBackground">@drawable/edit_text_holo_dark</item>
<item name="horizontalScrollViewStyle">@style/Widget.Holo.HorizontalScrollView</item>
<item name="alertDialogIcon">@drawable/ic_dialog_alert_holo_dark</item>
<item name="datePickerStyle">@style/Widget.Holo.DatePicker</item>
<item name="calendarViewStyle">@style/Widget.Holo.CalendarView</item>
<item name="actionMenuTextAppearance">@style/TextAppearance.Holo.Widget.ActionBar.Menu</item>
<item name="actionMenuTextColor">@color/tw_action_bar_menu_text_holo_dark</item>
<item name="switchPreferenceStyle">@style/Preference.Holo.SwitchPreference</item>
<item name="textSuggestionsWindowStyle">@style/Widget.Holo.TextSuggestionsPopupWindow</item>
<item name="actionModeSelectAllDrawable">@drawable/ic_menu_selectall_holo_dark</item>
<item name="actionModeStyle">@style/Widget.Holo.ActionMode</item>
<item name="actionBarDivider">@drawable/divider_vertical_holo_dark</item>
<item name="actionBarItemBackground">@drawable/tw_action_item_background_holo_dark</item>
<item name="actionModeSplitBackground">@drawable/top_header_octo</item>
<item name="listPreferredItemPaddingLeft">17.0dip</item>
<item name="listPreferredItemPaddingRight">17.0dip</item>
<item name="actionBarNonEmbeded">false</item>
<item name="panelMenuListWidth">@dimen/tw_compactmenu_width</item>
<item name="panelMenuListTheme">@style/Theme.DeviceDefault.CompactMenu</item>
<item name="gestureOverlayViewStyle">@style/Widget.DeviceDefault.GestureOverlayView</item>
<item name="quickContactBadgeOverlay">@drawable/tw_quickcontact_badge_overlay_dark</item>
<item name="stackViewStyle">@style/Widget.DeviceDefault.StackView</item>
<item name="checkBoxCheckMark">@drawable/tw_btn_checkmark_holo_dark</item>
<item name="checkBoxCheckContainer">@drawable/tw_btn_checkcontainer_holo_dark</item>
<item name="numberPickerStyle">@style/Widget.DeviceDefault.NumberPicker</item>
<item name="timePickerStyle">@style/Widget.DeviceDefault.TimePicker</item>
<item name="actionBarTitleShadowColor">@color/tw_action_bar_title_shadow_color_holo_dark</item>
<item name="actionBarTitleShadowDx">@dimen/tw_action_bar_title_shadow_dx_holo_dark</item>
<item name="actionMultiWindowButtonDrawable">@drawable/tw_ic_menu_cascade_holo_dark</item>
<item name="actionMultiWindowButtonBackground">@drawable/tw_btn_ab_mw_holo_dark</item>
<item name="actionBarTitleShadowDy">@dimen/tw_action_bar_title_shadow_dy_holo_dark</item>
<item name="actionModeShareDrawable">@drawable/tw_ic_menu_share_holo_dark</item>
<item name="actionModeFindDrawable">@drawable/tw_ic_menu_find_holo_dark</item>
<item name="actionModeWebSearchDrawable">@drawable/tw_ic_menu_search_holo_dark</item>
<item name="actionModePopupWindowStyle">@style/Widget.DeviceDefault.PopupWindow.ActionMode</item>
<item name="preferenceFragmentStyle">@style/PreferenceFragment</item>
<item name="preferenceActivityLayout">@layout/preference_list_content</item>
<item name="preferenceHeaderItemLayout">@layout/preference_header_item</item>
<item name="fragmentBreadCrumbItemLayout">@layout/fragment_bread_crumb_item</item>
<item name="dialogTitleIconsDecorLayout">@layout/dialog_title_icons_holo</item>
<item name="actionModeClipboardDrawable">@drawable/tw_ic_menu_clipboard_holo_dark</item>
<item name="textSelectHandleLeftTop">@drawable/text_select_handle_left</item>
<item name="textSelectHandleRightTop">@drawable/text_select_handle_right</item>
<item name="searchViewCloseIcon">@drawable/tw_ic_clear</item>
<item name="searchViewGoIcon">@drawable/ic_go</item>
<item name="searchViewSearchIcon">@drawable/ic_search</item>
<item name="searchViewVoiceIcon">@drawable/ic_voice_search</item>
<item name="searchViewEditQuery">@drawable/ic_commit_search_api_holo_dark</item>
<item name="searchViewEditQueryBackground">@drawable/tw_item_background_holo_dark</item>
<item name="searchViewTextField">@drawable/tw_textfield_searchview_holo_dark</item>
<item name="searchViewTextFieldRight">@drawable/tw_textfield_searchview_right_holo_dark</item>
<item name="searchViewTextColor">@color/tw_textfield_searchview_text_holo_dark</item>
<item name="twTextColorPrimary">@color/primary_text_holo_dark</item>
<item name="twTextColorSecondary">@color/secondary_text_holo_dark</item>
<item name="twTextSizePrimary">22.0sp</item>
<item name="twTextSizeSecondary">@dimen/tw_secondary_text_size</item>
<item name="dialogTitleDecorLayout">@layout/dialog_title_holo</item>
<item name="toastFrameBackground">@drawable/tw_toast_frame_holo_dark</item>
<item name="toastTextColor">@color/tw_toast_text_holo_dark</item>
<item name="toastTextShadowColor">@color/tw_toast_text_shadow_holo_dark</item>
<item name="searchDropdownBackground">@drawable/tw_spinner_dropdown_background</item>
<item name="searchViewSearchFieldIcon">@drawable/tw_ic_searchfield</item>
<item name="searchDialogTheme">@style/Theme.Holo.SearchBar</item>
<item name="preferenceFrameLayoutStyle">@style/Widget.DeviceDefault.PreferenceFrameLayout</item>
<item name="switchStyle">@style/Widget.Holo.CompoundButton.Switch</item>
<item name="ProgressDialogStyle">@style/AlertDialog.DeviceDefault.ProgressDialog</item>
<item name="parentIsDeviceDefault">true</item>
<item name="keyboardViewStyle">@style/Widget.DeviceDefault.KeyboardView</item>
</style>
6. now, save your styles.xml and compile your framework-res.apk
NB:
1. Still do with your own risk
2. Backup your original framework-res.apk
3. If you get a error, post the log here. without log, i can't help you
Press Thanks if this guide usefull
Click to expand...
Click to collapse
woooowwww...!!!
@rekjezt Why you quoted the whole OP just to say woowww :S
Just a question does anyone tried it on KK 4.4.2 ?
Sent from my SGH-I337 using Tapatalk 4
Netuser said:
@rekjezt Why you quoted the whole OP just to say woowww :S
Just a question does anyone tried it on KK 4.4.2 ?
Sent from my SGH-I337 using Tapatalk 4
Click to expand...
Click to collapse
it not work on kitkat bro. it based on jb tw 4.1.2
Sent from my Google Nexus 5 using Tapatalk
i'm not find styles.xml mastah. how?
arifxrahman said:
i'm not find styles.xml mastah. how?
Click to expand...
Click to collapse
decompile your framework-res and then go to res/values folder and you'll see styles.xml
Sent from my Google Nexus 5 using Tapatalk
ocoot said:
decompile your framework-res and then go to res/values folder and you'll see styles.xml
Sent from my Google Nexus 5 using Tapatalk
Click to expand...
Click to collapse
aah, i see. thank's mastah
Thanks for the guide.
I have a GS2. Your XML contains 179 rows (item name I mean), while the Original contains 178.
Then, recompiling the framework, APKTool give me an error.
Which is the string "more"? Thank you.
glowerita said:
Thanks for the guide.
I have a GS2. Your XML contains 179 rows (item name I mean), while the Original contains 178.
Then, recompiling the framework, APKTool give me an error.
Which is the string "more"? Thank you.
Click to expand...
Click to collapse
Can you post the error on recompile?
Guide/Tut - 1 % battery change & charge with customised icons - Any ROM Any DEVICE
This guide helps you is achieving 1 % battery change in icons; normal and charging . All you need to do is extract the 2 xml files provided in the zip file below in your LGSystemUI.apk after you decompile it and then add 101 battery icons of your choice and 101 charging icons. Recompile and you will have 1% battery change in your statusbar. This works fine on JB and on KK.
For incorporating the mod you need to de-odex your Systemui. There are lots of de-odexers available on xda...Try searching and your will find. Once you deodex your systemui you can either once again odex it before using on your phone or you can also use the de-odexed version,but for which you need to delete the respective odex file before applying the mod by flashing or moving it manually.
JB- You will find Systemui file in "/system/app" folder.
KK-You will find Systemui file in "/system/priv-app" folder.
Since this thread is in G2 section, I mention the mod files for LGSystemUI.apk. For other devices you have to locate your SystemUI as per your phone and modify the code accordingly. The code herein below works for the G2, G-FLEX & G3.
How to do it? Here we go:--
--Deodex your LGSystemUI.apk (if you run a odexed ROM). For de-odexed ROM this isn't required.
--Decompile LGSystemUI.apk
--Go to the "/res/drawable" directory and edit "stat_sys_battery.xml" & stat_sys_battery_charge.xml with notepad++
--Just copy the "stat_sys_battery.xml" & stat_sys_battery_charge.xml attached herewith in the zip file and replace the file existing in that folder
-- FYI. the entire code reads as follows:
1. stat_sys_battery.xml
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_00" android:maxLevel="0" />
<item android:maxLevel="2">
<animation-list android:oneshot="false"
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:duration="400" android:drawable="@drawable/stat_sys_battery_00" />
<item android:duration="400" android:drawable="@drawable/stat_sys_battery_blank" />
</animation-list>
</item>
<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>
2. stat_sys_battery_charge.xml
Havent reproduced the code here as it is very very long. The file is in the zip attached herewith
--Make/obtain 101 battery icons with %nos & charging icons or your choice of icons and copy them to "res/drawable-xxhdpi" folder replacing any file that you may be asked to. I have made the stock G2 icons with battery % inscribed on them which is attached herewith for those who prefer stock icons and don't want to look any further. In my set of icons fully charged reflects "F" on battery. Please make sure you retain the name of the battery icon in the series of
>>>Battery icons: "stat_sys_battery_0; stat_sys_battery_1......stat_sys_battery_100".
>>>Battery Charging icons: "stat_sys_battery_charging_ani_0; stat_sys_battery_charging_ani_1......stat_sys_battery_charging_ani_100".
--Recompile the LGSystemUI.apk
--V-Imp: Drag the "meta_inf" folder from original LGSystemUI.apk to the recompiled Systemui file using 7zip.
--Rename your recompiled file to "LGSystemUI.apk" and move to the appropriate folder in your phone with 644 / -rw-r--r-- permissions i.e
JB- in "/system/app" folder.
KK- in "/system/priv-app" folder.
--Reboot and Enjoy the 1% battery change in normal and in charging icons.
TIP: Make sure the icons you select are xxhdpi for G2, xxxhdpi for G3 and xhdpi for Flex and files are put in respective folders
Press thanks button if this was useful to you....promotes development.. Its nice to give a little credit for this guide/tutorial.... feels nice that your efforts went appreciated
Due credit to @Erhany from whom I learnt a lot of things while I had my Xperia Sola
good work very useful information.
screen please? thanks
There you go
Nice guide rastigo :good:
But had previously shared
http://forum.xda-developers.com/showthread.php?p=50536498#post50536498
pendroz said:
Nice guide rastigo :good:
But had previously shared
http://forum.xda-developers.com/showthread.php?p=50536498#post50536498
Click to expand...
Click to collapse
oops...hadnt seen yours @pendroz.....Yesterday @XxZombiePikachu asked for the files as he wants to include in his mods...thats why I made this. I thought this might help others who wanna take up dev of mods.
rastigo said:
oops...hadnt seen yours @pendroz.....Yesterday @XxZombiePikachu asked for the files as he wants to include in his mods...thats why I made this. I thought this might help others who wanna take up dev of mods.
Click to expand...
Click to collapse
No problem mate
rastigo said:
--Deodex your LGSystemUI.apk (if you run a odexed ROM). For de-odexed ROM this isn't required.
Click to expand...
Click to collapse
This isn't required period, regardless of your ROM.
Also, only apktool built with code after 9/May is capable of handling LGSystemUI.apk, it's newer than 2.0.0b9 and not widely available unless you compile yourself.
My custom icons
As required by some I am uploading another set of battery icons made by me for G2. It is a wider batter icon showing battery percentage inside it and animations for charging as well.
You need to incorporate the status bar battery in Post 1 and these icons in the respective folder and voila....
Dont forget the thanks button if you liked the icons...:laugh:
For Lg G Pro 2 too..
Hi, please make for Lg G Pro 2 too..
Or help me to make it by my self ...
Tnx
A nice guide...but not quite accurate.
If you're on 4.3 or below, you don't need to have a deodexed apk to be able to change the battery icon.
If you're on 4.4 or above, you do need to have a deodexed apk as you need to do a lot of smali editing before you can even think about changing the battery icon.
And I really don't suggest moving your modded apk to your phone's memory and rebooting. LGSystemUI.apk is a system app and you'll be replacing it while it's running.
This is a bit like changing your car's gearbox while you're driving it. You might get away with it but you're asking for trouble.
Personally I always recommend using a flashable zip to change files in the system partition.
Otherwise, a very neat tutorial. :highfive:
rastigo said:
oops...hadnt seen yours @pendroz.....Yesterday @XxZombiePikachu asked for the files as he wants to include in his mods...thats why I made this. I thought this might help others who wanna take up dev of mods.
Click to expand...
Click to collapse
yep I had been looking all over and for some reason the term I did not try for my search was 1% battery mod(I tried all sorts of stuff to no luck), thanks @rastigo for the great easy to follow guide will soon be working it into some mods; yo @pendroz it seems like there is a step missing in your guide?
I do have a quick question what if I also want to apply it for the charging animation would it be the same as here(add 100 separate battery charging images and call out to them in the xml?) or is there something else involved for the charging animation?
I am uploading that xml too
rastigo said:
I am uploading that xml too
Click to expand...
Click to collapse
Op updated with xharging xml also. Now you can also have 1% battery mod on charging
XxZombiePikachu said:
yep I had been looking all over and for some reason the term I did not try for my search was 1% battery mod(I tried all sorts of stuff to no luck), thanks @rastigo for the great easy to follow guide will soon be working it into some mods; yo @pendroz it seems like there is a step missing in your guide?
I do have a quick question what if I also want to apply it for the charging animation would it be the same as here(add 100 separate battery charging images and call out to them in the xml?) or is there something else involved for the charging animation?
Click to expand...
Click to collapse
The great thing about the charging animation is that it actually is an animation.
If you're feeling creative, you can change the timing of the animation, change which icons are shown..you can even create a nice-looking animation for when the battery's fully-charged.
Everytime I create a new battery icon, I always put some sort of looping animation for when it's charged to 100%. Just because it looks cool.
And it's very easy to do, if you understand what the xml code is actually saying...
Code:
<item android:maxLevel="100">
<animation-list android:oneshot="false"
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_0" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_1" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_2" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_3" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_4" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_5" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_6" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_7" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_8" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_9" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_10" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_11" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_12" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_13" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_14" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_15" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_16" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_17" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_18" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_19" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_20" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_21" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_22" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_23" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_24" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_25" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_26" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_27" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_28" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_29" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_30" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_31" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_32" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_33" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_34" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_35" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_36" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_37" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_38" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_39" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_40" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_41" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_42" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_43" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_44" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_45" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_46" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_47" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_48" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_49" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_50" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_51" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_52" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_53" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_54" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_55" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_56" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_57" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_58" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_59" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_60" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_61" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_62" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_63" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_64" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_65" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_66" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_67" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_68" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_69" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_70" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_71" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_72" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_73" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_74" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_75" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_76" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_77" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_78" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_79" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_80" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_81" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_82" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_83" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_84" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_85" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_86" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_87" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_88" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_89" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_90" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_91" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_92" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_93" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_94" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_95" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_96" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_97" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_98" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_99" />
<item android:duration="100" android:drawable="@drawable/stat_sys_battery_100" />
</animation-list>
</item>
rastigo said:
--Decompile LGSystemUI.apk
Click to expand...
Click to collapse
which apktool are you using for Kitkat? I got systemUI has stoped after recompiling..
Did you copy metainf folder and androidmanifestxml from orig file to the recompiled app. I use 1.5.2.
@rastigothanks for sharing!
Can you point me how to deodex and odex back the LGSystemUI.apk? I´m on D80220f stock rom.
Thanks in advance
vladmir said:
@rastigothanks for sharing!
Can you point me how to deodex and odex back the LGSystemUI.apk? I´m on D80220f stock rom.
Thanks in advance
Click to expand...
Click to collapse
I use the auto-odexer utility for reodexing. Works flawlessly. If u search on xda, you will find it. Here is the link http://forum.xda-developers.com/showthread.php?p=31360029
Can you please explain how to use the app to deodex, am a noob, sorry