[Video] Change Sony stock ICS systemUI clock colors! - Sony Ericsson Xperia Mini, Mini Pro, Xperia Pro, A

i made this video for a friend, and think it helpful with some one , so i made a thread for it
(in 1:42 just delete resources.arsc)
If anyone want other video, just request for it, i'll do if i can :cyclops:
in this video, i used this tool: https://docs.google.com/file/d/0B1jXm_WqN2CaRWMybk42NXJSRDg/edit?usp=sharing
Ok, this is all steps:
1, Decompile SystemUI
Copy your Sony-based SystemUI.apk from system/app in phone to Apkmanager/place_here_to_modding folder
Open cmd file in APK manager, choose 9 to decompile
2, edit XML
Open file projects/SystemUI.apk/res/values/styles.xml by notepad++
Find a line have statusbar.clock (if you want change clock in status bar color, for other items, just find it's style code in this xml file)
Change color from ffffff (white opaque) in a line below to color you want ( for example : if i have a color code 00123456 (hex) means: 2 first hex number 00 is full transparent, ff is no transparent; 2 next hex numbers is green values, then 34 is green value, 56 is blue value. For each color value, 00 is zero and ff full of that color). After all changes, save the file
3, Recompile your apk:
Reopen cmd window and chosse 11, enter then y ,enter then y,enter. After that go to keep folder and delete resources.arsc. go back cmd windows and press enter. DONE, YOUR FILE IS unsignedsystemui.apk in place-apk-here-for-modding folder

i dont understand a SH#T...sorry but u can make a new video with more explanation? or something :S

leloiboi said:
i made this video for a friend, and think it helpful with some one , so i made a thread for it
(in 1:42 just delete resources.arsc)
If anyone want other video, just request for it, i'll do if i can :cyclops:
in this video, i used this tool: https://docs.google.com/file/d/0B1jXm_WqN2CaRWMybk42NXJSRDg/edit?usp=sharing
Click to expand...
Click to collapse
What This?
Sent from my ST15i using xda premium

Updated step by step

Related

Change Status Bar Clock to White

First let me note that all credit goes to FxN. I simply am updating the code for the Droid 2. Thank you for all the work you did FxN. Also, this is only for DeOdexed phones.
NOTE BEFORE YOU START:
Standard disclaimer, I don't guarantee anything that might happen after following these steps, and I mean anything!! These steps worked for me and I have tried to include every minute step!
1. Connect phone using USB and check that you can see your device using: adb devices
2. in your SDK/tools directory from command line do:
PHP:
adb pull /system/framework/services.jar services.jar
3. Make a backup of the services.jar file that just popped in the tools folder just in case!
4. Download smali and baksmali from http://code.google.com/p/smali/ and place them in the tools folder. Rename the files to baksmali.jar and smali.jar to save on typing later
5. Open the services.jar file with something such as winrar or 7zip or whatever you prefer
6. Copy out the classes.dex file to your SKD/tools folder
7. run following from command line:
PHP:
java -jar baksmali.jar -o classout/ classes.dex
8. Now browse to your new folders classout/com/android/server/status
9. Open the file StatusBarIcon.smali in something like notepad or context or any text editor
10. Locate a line that says: .line 61, under this line it should have something like:
PHP:
const/high16 v6, -0x100
11. Change this to say:
PHP:
const/high16 v6, -0x1
12. Save the file
13. Now back to the command line and from your SDK/tools folder run:
PHP:
java -Xmx512M -jar smali.jar classout/ -o new-classes.dex
14. If the above finishes without errors you should have a file called new-classes.dex in your SDK/tools folder now that is the same size as your classes.dex file.
15. Rename the old classes.dex file to classes-old.dex and rename the new-classes.dex file to classes.dex
16. Open the services.jar file with your archiving tool again from step 5 and replace the existing classes.dex file with our new classes.dex we just created.
17. From command line run:
PHP:
adb remount
18. also from command line:
PHP:
adb push services.jar /system/framework/
19. Finally run:
PHP:
adb shell reboot
On step 11, this is setting the font to red. If you want white change the line to
PHP:
const v6, -0x1
Original FxN Post is sourced:http://forum.xda-developers.com/showthread.php?t=549309
Could you post a white services.jar?
I've been trying to get this to happen for a while. I thought it had to do with the method of deodexing, but it turns out it may be the services.jar itself. i've talked Xeudoxus, and he's going to take a look. Also, the way he's going to do it, will be incorporated into xUltimate, so that will make this process a billion times easier.
Here you go.
Rename .rar to .jar
theecho said:
Here you go.
Rename .rar to .jar
Click to expand...
Click to collapse
does this change ALL status bar text to white or just the clock?
also, would it work on nondeodexed phones?
Currently just the clock. As for the non-deodexed not sure..you should pull you current and push this and let us know
theecho said:
Currently just the clock. As for the non-deodexed not sure..you should pull you current and push this and let us know
Click to expand...
Click to collapse
im not sure how this is valuable if the other statbar text is gonna remain black.
have to start somewhere. Im working on the other portions just need to find where they are stored.
theecho said:
have to start somewhere. Im working on the other portions just need to find where they are stored.
Click to expand...
Click to collapse
i _thought_ they were in framework-res color but i think im wrong there.
I know that there are some default values stored in the status_bar.xml as i have changed the active action such as preparing sd card and stuff like that. I am trying to at least change the date before proceeding with my theme.
theecho said:
Currently just the clock. As for the non-deodexed not sure..you should pull you current and push this and let us know
Click to expand...
Click to collapse
didnt work. guess it wont if you have:
services.jar
services.odex
not sure how to make them one file.
http://www.droidxforums.com/forum/droid-x-themes/4620-how-manually-deodex-your-phone.html
check that out.
theecho said:
http://www.droidxforums.com/forum/droid-x-themes/4620-how-manually-deodex-your-phone.html
check that out.
Click to expand...
Click to collapse
this worked great thanks. gonna try the white services.jar soon.
white services.jar works great. now if we can just get the rest of the text in white we can go back to the black bg themes
all white status bar. Again change .rar to .jar
theecho said:
all white status bar. Again change .rar to .jar
Click to expand...
Click to collapse
getting closer.. notifications are still black text.
do you mean the pictures? like the tiny icons?
Screenshot of new wifi icon
i made some screen shots.. first one should say the sms text but its black so you dont see it.. second has some list items all black..
those arent the status bar and are not controlled by services.jar.
Try this framework.apk and tell me if you sms text is white.
theecho said:
those arent the status bar and are not controlled by services.jar.
Try this framework.apk and tell me if you sms text is white.
Click to expand...
Click to collapse
yep, this fixed the notification colors to white. can you tell me what portion of this is for the color change so that i can only apply that portion.
do you know which file affects the dropdown list text colors?
not yet i do not that was in the status_bar.xml located in res/layout/
hit me up on gtalk

[REF]How to theme - Samsung Vibrant[02/03/2011]

How to theme
Samsung Vibrant Edition​
Disclaimer: this guide is not idiot proof! You must have 1/2 a brain, 1/4 a brain will not work! Currently we have no way to know if you actually have 1/4 a brain or 1/2 so please take caution!
Click to expand...
Click to collapse
If you have extra images in your framework folders, it may cause problems later.. so try not to copy & paste or add extra images! - jumaaneface
Click to expand...
Click to collapse
What you will need:
-Apk Manager (Click)
-Android SDK (Click)
-An image editor, Adobe Photoshop is recommended!
-One brain.. (Edit: Half a brain is needed, not the full thing)
-Two hands..
-Fingers, 10 of them recommended!
-framework-res.apk
-twframework-res.apk
-services.jar (If you want to change the clock color)
How-to edit the apks:
1.) Get your two apk files (framework-res.apk & twframework-res.apk)
2.) Place them in apk-manager/place-apk-here-for-modding/
3.) Open apk-manager/script.bat
4.) Select option 22
5.) Select framework-res.apk
6.) Select option 1
7.) Select option 22
8.) Select twframework-res.apk
9.) Select option 1
10.) Go to apk-manager/projects/framework-res.apk/res/drawable-hdpi (or /drawable-hdpi-v4)
11.) Edit the .png files that you would like to change
12.) Go to apk-manager/projects/twframework-res/apk/res/drawable-hdpi (or /drawable-hdpi-v4)
13.) Edit the .png files that you would like to change
14.) Go back to script.bat
15.) Select option 22
16.) Select framework-res.apk
17.) Select option 3
18.) Select option 22
19.) Select twframework-res.apk
20.) Select option 3
(Don't zipalign)
21.) There will be two files in your place-here-for-modding folder.. They are called unsingedframework-res.apk & unsingedtwframework-res.apk just backup the originals, and delete the unsinged from part from the two new files.
How-to edit services.jar, clock color:
1.) Go to your SDK folder.. example: C:\android-sdk-windows\tools
2.) Get your services.jar file & open it with winrar
3.) Take the classes.dex from it & put it in your android-sdk-windows\tools\ folder
4.) Open CMD
5.) Run the following command: "CD C:\android-sdk-windows\tools" (directory may not be the same)
6.) Run the following command: "java -jar baksmali.jar -o classout/ classes.dex"
7.) Go to classout\com\android\server\status\StatusBarIcon.smali
8.) On line 34 it will look something like: "const/4 v7, -0x1"
9.) On line 34 change the above to: "const v7, 0xffffff" (That will be black)
10.) Compile the classes.dex by using this command: "java -Xmx512M -jar smali.jar classout/ -o new-classes.dex"
11.) Get the new-classes.dex from android-sdk-windows\tools\ folder & move it to your desktop
12.) Rename new-classes.dex to classes.dex
13.) Re-open the services.jar using winrar & past your new classes.dex in there
(Notice: After editing the clock color, it will take longer to boot the first time! Be patient!)
I may update this if people need an even easier guide...
I wrote this a while ago, and just had it on my forums.
Original: Click here
Helpful things:
"How to change colors from standard hex to smali code" - Tonicacid
"How to use html colors for changing the clock" - Master (me)
Nice dude thanks
This is awesome.
shouldnt you be able to change the ffffff in "const v7, 0xffffff" to whatever color you want?
Yeah, you can change it to whatever you want.. When I get home I'll add the directions to change the text color in the pull down and market downloads...
Tonicacid said:
shouldnt you be able to change the ffffff in "const v7, 0xffffff" to whatever color you want?
Click to expand...
Click to collapse
It would actually be
"const v7, 0xffff0000" for red, etc. But yes, you can change that value.
Possibly one of the most helpful threads. Just enough to make me feel I have 1/2 a brain.
stuck
Hey I'm new to this and first of all thank you so much for this!
Second I'm having a problem, I'm stuck at "java -Xmx512M -jar smali.jar classout/ -o new-classes.dex"
I keep getting "classout\com\android\server\status\StatusBarIcon.smali[0,0] 10145074 connot fit into a short"
I'm trying to change the status bar clock to Green.
Thank you again.
r6kid said:
Hey I'm new to this and first of all thank you so much for this!
Second I'm having a problem, I'm stuck at "java -Xmx512M -jar smali.jar classout/ -o new-classes.dex"
I keep getting "classout\com\android\server\status\StatusBarIcon.smali[0,0] 10145074 connot fit into a short"
I'm trying to change the status bar clock to Green.
Thank you again.
Click to expand...
Click to collapse
What hex code are you using
Sent from my SGH-T959 using XDA App
Sorry I wasn't using my half a brain I found my mess up I over looked the "const/4"
I will take it that I don't need apk manager. Just need to unpack, repack, and sign. I could also just use a Hex editor to change the colors on the things I would like to change such as date, notification text, etc.. Just like I did with the G1.
toeshot said:
I will take it that I don't need apk manager. Just need to unpack, repack, and sign. I could also just use a Hex editor to change the colors on the things I would like to change such as date, notification text, etc.. Just like I did with the G1.
Click to expand...
Click to collapse
I am pretty sure you can't use Hexedit to edit the Clock. You need to decompile it.
Also, you don't sign /system apks
Awesome! I barely qualify as a 1/2 brain. ApkManager is sweet simple program that does the job. In the many times I have used it, I noticed that recompilation of the files are not clean after images have been change/edit. So I always optimize images inside (option 2) everytime I recompile. Does this help and worth doing?
BTW: what xml editor are you guys using? Some of the ones that I downloaded are crap.
Tonicacid said:
What hex code are you using
Sent from my SGH-T959 using XDA App
Click to expand...
Click to collapse
I used "9acd32" but my clock isnt showing up at all now, I should be able to flash this with NinjaMorph right? or do I need to go in and replace it?
Master™ said:
I am pretty sure you can't use Hexedit to edit the Clock. You need to decompile it.
Also, you don't sign /system apks
Click to expand...
Click to collapse
ya I have to smali, to edit the clock. I was just wondering if apk manager offered anything out of unpacking the file.
r6kid said:
I used "9acd32" but my clock isnt showing up at all now, I should be able to flash this with NinjaMorph right? or do I need to go in and replace it?
Click to expand...
Click to collapse
Use the color code 6532CD for that color.
Sent from my SGH-T959 using XDA App
Tonicacid said:
Use the color code 6532CD for that color.
Sent from my SGH-T959 using XDA App
Click to expand...
Click to collapse
I'm still getting a no show for the clock?
r6kid said:
I'm still getting a no show for the clock?
Click to expand...
Click to collapse
Can you post the code you used
Sent from my SGH-T959 using XDA App
".prologue
const v7, 0x6532CD"
r6kid said:
".prologue
const v7, 0x6532CD"
Click to expand...
Click to collapse
This is a dumb question but your not putting the " marks in are you?
Sent from my SGH-T959 using XDA App

How to Edit Notification Text Color : Reference

Lost this somewhere took awhile to find.
Now open up the framework-res.apk. (In windows 7-zip will open this without having to change the extension to .zip) (Do not extract)
Now go into the res/layout folder and extract the following three files to the folder you made on the desktop
status_bar_expanded.xml
status_bar.xml
status_bar_latest_event_content.xml
Here is what these files control
status_bar_expanded.xml
Controls the text color for:
1) Clear Button
status_bar.xml
Controls the text color for:
1) USB Connected and Preparing SDcard
2) USB Debugging and Status Bar Notifications
status_bar_latest_event_content.xml
Controls the text color for:
1) Title text in pull down bar for Ongoing and Notifications
2) Description text in the pull down bar under Ongoing and Notifications
3) Text notifications time stamp in the pull down bar under notifications
Open status_bar_expaned.xml with your Hex Editor
Do a search for 08 00 00 1C
The next four 2 digit segments control color and alpha (Transparency) in this order BGRA (Blue, Green, Red, Alpha) (Sorry I had this reversed earlier)
In Hex FF would be the darkest and 00 would be the lightest, so if you set the next four 2 digit segments like this -> FF 00 00 FF then your USB Connected and Preparing SDcard text would be red. I suggest not messing with the alpha, just leave it FF
you will find two areas in this file where 08 00 00 1C appear and in the section above I show the order in which you find 08 00 00 1C and what they control. REMEMBER TO EDIT THE FOUR 2 DIGIT SEGMENTS FOLLOWING 08 00 00 1C
Save the file and edit the other two files (status_bar_expanded.xml has one instance of 08 00 00 1C, and status_bar_latest_event_content.xml has three instances of 08 00 00 1C)
All instances of 08 00 00 1C are in the order that I have outlined above
When you are done open up the framework-res.apk and go into the layout folder
Drag your newly edited files into the res/layout folder, wait for it to update then exit
I use FF FF FF FF for white text on black background.
http://forum.xda-developers.com/showthread.php?t=674157
thanks to the hoffster...
Date
1. Date and notification ticker
Files that have to be edited:
/system/framework/framework-res.apk
DECOMPILED_DIR/res/layout/status_bar.xml
What you have to do:
Extract the framework-res.apk from your phone/rom zip file
Decompile your framework-res.apk using apkmanager
Edit the file DECOMPILED_DIR/res/layout/status_bar.xml
Search for <com.android.server.status.TickerView
As child nodes you will see TWO <TextView> tags. If not present, you must add android:textColor="#ffffffff" to the attributes. It will set your color. the four bytes mean: transparency, Red, Green, Blue (where transparency means: FF no transparency and 00 fully transparent). You have to set the color for both <TextView>s as Android will alternate between them when the notification ticker should show more than one line.
The color for the date will be in the <com.android.server.status.DateView>
Save the file
IN APKManager choose the option to compile your framework
Answer yes when you get asked if it is a system apk and if you want to copy files from the original framework. After the original framework has been extracted, change to your "keep"-Directory and delete the files resources.arsc and res/layout/status_bar.xml.
Let apkmanager continue its work.
now you have a new apk file in your place-here-for-modding directory, which you can push on your phone (DO IT IN RECOVERY): adb push unsignedframework.apk-filename /system/framework/framework-res.apk
Krad said:
Lost this somewhere took awhile to find.
Now open up the framework-res.apk. (In windows 7-zip will open this without having to change the extension to .zip) (Do not extract)
Now go into the res/layout folder and extract the following three files to the folder you made on the desktop
status_bar_expanded.xml
status_bar.xml
status_bar_latest_event_content.xml
Here is what these files control
status_bar_expanded.xml
Controls the text color for:
1) Clear Button
status_bar.xml
Controls the text color for:
1) USB Connected and Preparing SDcard
2) USB Debugging and Status Bar Notifications
status_bar_latest_event_content.xml
Controls the text color for:
1) Title text in pull down bar for Ongoing and Notifications
2) Description text in the pull down bar under Ongoing and Notifications
3) Text notifications time stamp in the pull down bar under notifications
Open status_bar_expaned.xml with your Hex Editor
Do a search for 08 00 00 1C
The next four 2 digit segments control color and alpha (Transparency) in this order BGRA (Blue, Green, Red, Alpha) (Sorry I had this reversed earlier)
In Hex FF would be the darkest and 00 would be the lightest, so if you set the next four 2 digit segments like this -> FF 00 00 FF then your USB Connected and Preparing SDcard text would be red. I suggest not messing with the alpha, just leave it FF
you will find two areas in this file where 08 00 00 1C appear and in the section above I show the order in which you find 08 00 00 1C and what they control. REMEMBER TO EDIT THE FOUR 2 DIGIT SEGMENTS FOLLOWING 08 00 00 1C
Save the file and edit the other two files (status_bar_expanded.xml has one instance of 08 00 00 1C, and status_bar_latest_event_content.xml has three instances of 08 00 00 1C)
All instances of 08 00 00 1C are in the order that I have outlined above
When you are done open up the framework-res.apk and go into the layout folder
Drag your newly edited files into the res/layout folder, wait for it to update then exit
I use FF FF FF FF for white text on black background.
http://forum.xda-developers.com/showthread.php?t=674157
Click to expand...
Click to collapse
You are aware these files are compiled and you cannot simply extract them and begin to work on them. They need to be decompiled and compiled to work.
I will keep working with this to see where it gets me.
alperin1 said:
You are aware these files are compiled and you cannot simply extract them and begin to work on them. They need to be decompiled and compiled to work.
I will keep working with this to see where it gets me.
Click to expand...
Click to collapse
these are more of reference for me later one when I have to cook a new framework-res.apk and services.odex
with the above directions you can hexedit to change colors...
I now know it is easier using apk manager.
Krad said:
thanks to the hoffster...
Date
1. Date and notification ticker
Files that have to be edited:
/system/framework/framework-res.apk
DECOMPILED_DIR/res/layout/status_bar.xml
Click to expand...
Click to collapse
If you don't have /res/layout/status_bar.xml
It is located in system-ui.apk instead
rachelm920 said:
If you don't have /res/layout/status_bar.xml
It is located in system-ui.apk instead
Click to expand...
Click to collapse
system-ui only exists on GB based roms, the streak has no GB stable roms.
Streakdroid 2.0 isnt exactly stable
Krad said:
thanks to the hoffster...
Date
1. Date and notification ticker
Files that have to be edited:
/system/framework/framework-res.apk
DECOMPILED_DIR/res/layout/status_bar.xml
What you have to do:
Extract the framework-res.apk from your phone/rom zip file
Decompile your framework-res.apk using apkmanager
Edit the file DECOMPILED_DIR/res/layout/status_bar.xml
Search for <com.android.server.status.TickerView
As child nodes you will see TWO <TextView> tags. If not present, you must add android:textColor="#ffffffff" to the attributes. It will set your color. the four bytes mean: transparency, Red, Green, Blue (where transparency means: FF no transparency and 00 fully transparent). You have to set the color for both <TextView>s as Android will alternate between them when the notification ticker should show more than one line.
The color for the date will be in the <com.android.server.status.DateView>
Save the file
IN APKManager choose the option to compile your framework
Answer yes when you get asked if it is a system apk and if you want to copy files from the original framework. After the original framework has been extracted, change to your "keep"-Directory and delete the files resources.arsc and res/layout/status_bar.xml.
Let apkmanager continue its work.
now you have a new apk file in your place-here-for-modding directory, which you can push on your phone (DO IT IN RECOVERY): adb push unsignedframework.apk-filename /system/framework/framework-res.apk
Click to expand...
Click to collapse
Ok, Im confused. I tried doing all of the following and everything seemed to work, except that my modified XMLs are not in the new compiled apk. Where do you put them in to get compiled with everything else? When I rebooted my phone, the text is back to white (the color is was before).
did you recompile it?
Half the xmls end up being compressed into resources.arsc only a handful become binary xmls inside res\<various dirs>
Yes, I get an unsignedframework-res.apk. There is no resources.arsc file and the status_bar.xml, status_bar_extneded.xml, and status_bar_latest_event_content.xml are missing from the layout folder.
You might be decompling/recompiling it wrong then
I got it taken care of in another thread. Some of the PNGs in the drawable-hdmi folder were incompatable. I fixed them and it it compiled just. Now I just gotta put it on the phone and see if it works.

[xda][tutorial] become a themer

Become a Themer Tutorial By Rock-Star
First rule before to start how to learn to theme your device :
Always make a backup of the files you are about to edit or do a nandroid backup.
If anything goes wrong you will get a bootloop.
If you are modding an apk and you are seeing a textAppearance,color,background
or similar => If the value starts with
"@android:" then you will find the source
in the framework-res.apk of the same rom.
☺ TOOLS you must have ☺
1. APKTOOL [http://code.google.com/p/
android-apktool/]
This tool will allow you to decompile and
compile all apk's
When you decompile an apk, you can now
edit the xml's with a source code editor
like Notepad++
2. NOTEPAD++ [http://notepad-plus-
plus.org/]
This tool will allow you to edit the xml's
decompiled from the apk's
Written on C++ and using Win32API, you
will be able to easily change, copy, trace,
find all the codes you will find in this
guide.
3. ADB [http://developer.android.com/
guide/developing/tools/adb.html]
Android Debug Bridge (adb) is a versatile
command line tool that lets you
communicate with an emulator instance or
connected Android-powered device. You
will be able to push, replace, delete,
overwrite files directly from your
computer to your android device.
4. SMALI/BAKSMALI [http://
code.google.com/p/smali/]
An assembler/disassembler for Android's
dex format.
5. 7-ZIP [http://www.7-zip.org/]
An open source file archiver with a high
compression ratio.
6. PAINT.NET [http://www.paint.net/]
or any other Graphics editor you like to
use as Photoshop or Gimp.
Now let's play with your theme and for that, the very first thing you will need is
to locate :
framework-res.apk
SystemUI.apk
Keep always a safe copy for both of them as you may experiment some issues during
the compile phase, which means that you
did something wrong ( even a small space
or letter ) and you will must come back to
the previous "working" modded version of
your apk.
Don't try to go too fast
Start with one step at once until you feel
experimented enough to edit more things at the time
A good tip to double check if anything goes wrong : your apk must decompile and compile without errors !
Test and flash via Recovery when you are done : if it is working, then you can start from your new framework-res/systemUI
apk's to go further.
1. Status bar
1.1. Clock, Date and notification ticker
It's now much easier to modify the clock in
the status bar as it is now located within a .xml-file.
Files to edit:
/system/app/ SystemUI.apk
DECOMPILED_DIR/res/layout/
status_bar.xml
1.1.1. Clock
Search for a line that begins with
"<com.android.systemui.statusbar.Clock" .
You now have two ways for changing the
font-style and color:
Adding
android:textColor="TEXTCOLOR"
and/or
android:textStyle="TEXTSTYLE"
where TEXTCOLOR can be a HTML color
(#TTRRGGBB - TT means transparency)
and TEXTSTYLE can be "bold", "bold|
italic", "italic" or "" Changing the style of
android:textAppearance.
This can be easier but keep in mind that
this style could be used somewhere else.
A possible new line could be:
<com.android.systemui.statusba
android:textColor="#ffff0000
android:textStyle="italic"
android:textAppearance="@and
TextAppearance.StatusBar.Icon"
android:gravity="left|
center"
androidaddingRight="6.0dip"
android:layout_width="wrap_co
android:layout_height="fill_pa
android:singleLine="true" />
With this you would get an
italic, red clock.
1.1.2. Date
The date which you can see in the status
bar can be modified by editing the line
beginning with
"<com.android.systemui.statusbar.DateView".
As with the clock, you can either add
textColor and textStyle or change the
android:textAppearance
1.1.3. Notification ticker
Search for the line containing "@id/
tickerText" .
It is followed by two other lines which
contain
"android:textAppearance="@android:style/
TextAppearance.StatusBar.Ticker"" .
As with the clock, you can either add
textColor and textStyle or change the
android:textAppearance
2. Carrier, Ongoing-Title, Notifications-
Title, Clear-Button, noNotificationsTitle
Files to edit:
/system/app/ SystemUI.apk
DECOMPILED_DIR/res/layout/
status_bar_expanded.xml
2.1. Carrier
Search for the line beginning with
"<com.android.systemui.statusbar.CarrierLabe
This line contains the text for the carrier
and its appearance.
The background for the carrier label can
be changed one line above using the
"android:background" attribute.
It can be a pre-defined color value
(@color/NAME_OF_COLOR ), a html color
value (#TTRRGGBB ) or even a graphics
file ( @drawable/NAME_OF_GRAPHIC ).
2.2. Ongoing-Title
Search for android:id="@id/
ongoingTitle" .
This is the Ongoing-Title.
As with other texts you can add/change
"android:textAppearance",
"android:textColor" and
"android:textStyle"
The background is defined in the
"android:background" attribute.
2.3. Notifications-Title
Search for android:id="@id/latestTitle" .
This is the Notifications-Title.
As with other texts you can add/change
"android:textAppearance",
"android:textColor" and
"android:textStyle"
The background is defined in the
"android:background" attribute.
2.4. noNotificationsTitle
Search for android:id="@id/
noNotificationsTitle" .
This is the text when no notification is
displayed.
As with other texts you can add/change
"android:textAppearance",
"android:textColor" and
"android:textStyle"
The background is defined in the
"android:background" attribute.
2.5. Clear-Button
Search for android:id="@id/
clear_all_button" .
This is the text of the Clear-Button
________________________________________
3. Notifications
Files to edit:
/system/frameworks/ framework-res.apk
DECOMPILED_DIR/res/layout/
status_bar_latest_event_content.xml
In this file you find the texts for :
the title of the notification: Search
for android:id="@id/title" .
Textcolor and textstyle are editable via
style or directly in the xml (see point
1.1.1.)
the description of the notification:
Search for android:id="@id/text"
the time of the notification: Search
for android:id="@id/time"
________________________________________
4. Color of the progress bars and seek bars
4.1. progress bars
Files to edit:
/system/framework/ framework-res.apk
DECOMPILED_DIR/res/drawable/
progress_horizontal.xml
The progress bar uses gradients to set the
color which goes from top to bottom.
You have to set three colors: start (top of
the bar), end (bottom of the bar) and
middle.
<item android:id="@id/background">
is for the unused part of the progress
bar.
<item android:id="@id/progress"> is
for the used part of the progress bar.
4.2. seek bars
Files to edit:
/system/framework/ framework-res.apk
DECOMPILED_DIR/res/values/ styles.xml
Seek bars are progress bar like components
which enables you to change a value within
a range (you will see some in the sound
settings (Settings -> Sound -> Volume) or
when changing the brightness of the
display).
By default, the seek bars are using the
color settings of the progress bar to
display the current position (so it should
be possible to use different ones by using
another .xml than the progress bars).
To modify it, open the styles.xml
Search for <style name="Widget.SeekBar"
parent="@style/Widget"> .
Here you can change :
the height (<item name="maxHeight"> and
<item name="minHeight"> ),
the appearance (<item
name="indeterminateDrawable"> and <item
name="progressDrawable"> )
the graphic of the thumb ( <item
name="thumb"> , res/drawable/
seek_thumb.xml ).
The thumb itself comes in three files,
located in res/drawable-hdpi:
seek_thumb_normal.png
seek_thumb_pressed.png
seek_thumb_selected.png
________________________________________
5. Color of selected text within text fields
Files to edit:
/system/framework/ framework-res.apk
DECOMPILED_DIR/res/values/ styles.xml
Search for <style
name="TextAppearance"> in the
styles.xml.
The color for the selected text is the node
textColorHighlight
________________________________________
6. Transparency
6.1. notification drawer
If you use a ROM that doesn't have a
transparent notification drawer by
default, then you have to do this:
Decompile your SystemUI.apk using
apktool.jar (or just decompile the
classes.dex using baksmali). Browse to the
folder smali/com/android/systemui/
statusbar/ (or com/android/systemui/
statusbar/ if you have just decompiled
classes.dex).
Edit the file StatusBarService.smali.
Search for the following line:
invoke-direct/range {v0 .. v5}, Landroid/
view/WindowManager$LayoutParams;-
><init>(IIIII)V
above that line you must have
const/4 v5, 0x2
change this to
const/4 v5, -0x3
After recompiling SystemUI.apk and
pushing it to the phone you can get
something like this :
6.2. Status bar
If you use a ROM that doesn't have a
transparent status bar by default, then
you have to do this:
Decompile your SystemUI.apk using
apktool.jar (or just decompile the
classes.dex using baksmali).
Browse to the folder smali/com/android/
systemui/statusbar/ (or com/android/
systemui/statusbar/ if you have just
decompiled classes.dex).
Edit the file StatusBarService.smali.
Search for the following line:
invoke-direct/range {v0 .. v5}, Landroid/
view/WindowManager$LayoutParams;-
><init>(IIIII)V
directly above it you will find
const/4 v5, 0x2
change this to
const/4 v5, -0x3
Recompiling SystemUI.apk and pushing it to
the phone (I tested it with the emulator).
________________________________________
7. Graphics
After you have decompiled your .apk files
you will end up with a lot of graphic files
in :
res/ drawable-hdpi (or res/drawable-
hdpi-v4 depending on your apktool.jar
version).
This is the right place to edit notification
icons, the notification bar and drawer,
menu item background (list, grid, etc.),
buttons, etc.
Some files will have .9.png . These are
Nine-Patch-files.
You will find more information on those
files :
http://developer.android.com/guide/
topics/resources/drawable-
resource.html#NinePatch
http://developer.android.com/guide/
topics/graphics/2d-
graphics.html#nine-patch
Let's begin with the status bar and
notification drawer:
7.1. Status Bar
To get a new status bar background, you
have to edit the file :
statusbar_background.
You find it in the SystemUI.apk . Can be
.png or .9.png
7.2. Notification Drawer
(The notification drawer constists of
several files.)
7.2.1 Carrier/Provider area
To change the background for the Carrier/
Provider area you have to edit the file :
status_bar_header_background
You find it in the SystemUI.apk . Can be
.png or .9.png
7.2.2 Ongoing and Notifications
To change the background for the Ongoing
and Notifications area you have to edit
the file :
title_bar_portrait
You find it in the SystemUI.apk . Can be
.png or .9.png
7.2.3 Notifications
To change the background for the
notification area you have to edit the file
:
status_bar_item_background_normal
You find it in the framework-res.apk .
This will be the background if you're just
look at the notifications.
When focusing a notification it will be the
file :
status_bar_item_background_focus
when you push/press it you have to edit
the file :
status_bar_item_background_pressed
The notifications are divided by the file
divider_horizontal_bright. Can be .png or
.9.png
7.2.4 Unused area
The area where no notification is displayed
is set in the file :
SystemUI.apk/res/layout/
status_bar_tracking.xml .
You have to change the attribute
android:background of the View-node.
It can be a color-value, a predefined color
or a graphics file.
Depending on your ROM it will even display
transparency. Can be .png or .9.png
7.2.5 Bottom
The bottom part of the expanded drawer is
status_bar_close_on .
You find it in the SystemUI.apk . This will
use transparency too. Can be .png or .9.png
7.3. Animated notification icons
7.3.1 Battery (uncharging)
Depending on your ROM there will be more
or less files for the battery gauge.
They begin with stat_sys_battery_
followed by a number.
The order how they are get displayed is
configured in the file :
res/drawable/ stat_sys_battery.xml .
You find it in the framework-res.apk .
7.3.2 Battery (charging)
Depending on your ROM there will be more
or less files for the battery charging
gauge.
They begin with
stat_sys_battery_charge_anim followed
by a number.
The order how they are get displayed is
configured in the file :
res/drawable/
stat_sys_battery_charge_anim.xml .
You find it in the framework-res.apk .
7.3.3 Download and upload animation
The files for the upload and download
animation begin with
stat_sys_download_anim and
stat_sys_upload_anim followed by a
number.
The order how they are get displayed is
configured in the files :
res/drawable/
stat_sys_download_anim.xml
res/drawable/
stat_sys_upload_anim.xml .
You find it in the framework-res.apk .
8.4. Other files
8.4.1 Title for detailed view in call history
You will find the background for this in
the file title_bar_tall. You find it in the
framework-res.apk .
8.4.2 Title for contacts
You will find the background for this in
the file title_bar_medium. You find it in
the framework-res.apk .
8.4.3 Background for the grid menu
The grid menu is the one when you press
the menu button within an application.
The following files are used and you find
them in the framework-res.apk :
menu_background: This the background
for one grid element.
menu_background_fill_parent_width:
the whole grid
To change the text color you have to set
the color for the style
TextAppearance.Widget.IconMenu.Item in
the file res/values/ styles.xml
After pressing "More" you will find
another menu. The text colors for this
menu can be found in the style
Theme.ExpandedMenu.
________________________________________
9. Applications
9.1. Ongoing downloads
You should have noticed that the text color
of ongoing downloads in the notification
area doesn't look like the text colors for
normal notifications.
To change this color you have to change
the file /system/app/
DownloadProvider.apk .
You'll find the color values in res/layout/
status_bar_ongoing_event_progress_bar.xml .
It uses the same names as the one in the
framework-res.apk. After you have
recompiled it you can flash it to your
phone. You should see the new colors at the
next download.
9.1. Notifications of music player
If you are using the default music player
(/system/app/Music.apk) then you can
change the colors it uses for notifications
as well.
After you have decompiled it, open res/
layout/ statusbar.xml and edit the values :
@id/artistalbum
@id/trackname
Thanks for your time and your attention
Have Fun ☼
#PLEASE PRESS THANKS#
For Any Android Help Message me on WHATSApp- 8889197172

[xda][tutorial] become a themer

Become a Themer Tutorial By Rock-Star
First rule before to start how to learn to theme your device :
Always make a backup of the files you are about to edit or do a nandroid backup.
If anything goes wrong you will get a bootloop.
If you are modding an apk and you are seeing a textAppearance,color,background
or similar => If the value starts with
"@android:" then you will find the source
in the framework-res.apk of the same rom.
☺ TOOLS you must have ☺
1. APKTOOL [http://code.google.com/p/
android-apktool/]
This tool will allow you to decompile and
compile all apk's
When you decompile an apk, you can now
edit the xml's with a source code editor
like Notepad++
2. NOTEPAD++ [http://notepad-plus-
plus.org/]
This tool will allow you to edit the xml's
decompiled from the apk's
Written on C++ and using Win32API, you
will be able to easily change, copy, trace,
find all the codes you will find in this
guide.
3. ADB [http://developer.android.com/
guide/developing/tools/adb.html]
Android Debug Bridge (adb) is a versatile
command line tool that lets you
communicate with an emulator instance or
connected Android-powered device. You
will be able to push, replace, delete,
overwrite files directly from your
computer to your android device.
4. SMALI/BAKSMALI [http://
code.google.com/p/smali/]
An assembler/disassembler for Android's
dex format.
5. 7-ZIP [http://www.7-zip.org/]
An open source file archiver with a high
compression ratio.
6. PAINT.NET [http://www.paint.net/]
or any other Graphics editor you like to
use as Photoshop or Gimp.
Now let's play with your theme and for that, the very first thing you will need is
to locate :
framework-res.apk
SystemUI.apk
Keep always a safe copy for both of them as you may experiment some issues during
the compile phase, which means that you
did something wrong ( even a small space
or letter ) and you will must come back to
the previous "working" modded version of
your apk.
Don't try to go too fast
Start with one step at once until you feel
experimented enough to edit more things at the time
A good tip to double check if anything goes wrong : your apk must decompile and compile without errors !
Test and flash via Recovery when you are done : if it is working, then you can start from your new framework-res/systemUI
apk's to go further.
1. Status bar
1.1. Clock, Date and notification ticker
It's now much easier to modify the clock in
the status bar as it is now located within a .xml-file.
Files to edit:
/system/app/ SystemUI.apk
DECOMPILED_DIR/res/layout/
status_bar.xml
1.1.1. Clock
Search for a line that begins with
"<com.android.systemui.statusbar.Clock" .
You now have two ways for changing the
font-style and color:
Adding
android:textColor="TEXTCOLOR"
and/or
android:textStyle="TEXTSTYLE"
where TEXTCOLOR can be a HTML color
(#TTRRGGBB - TT means transparency)
and TEXTSTYLE can be "bold", "bold|
italic", "italic" or "" Changing the style of
android:textAppearance.
This can be easier but keep in mind that
this style could be used somewhere else.
A possible new line could be:
<com.android.systemui.statusba
android:textColor="#ffff0000
android:textStyle="italic"
android:textAppearance="@and
TextAppearance.StatusBar.Icon"
android:gravity="left|
center"
androidaddingRight="6.0dip"
android:layout_width="wrap_co
android:layout_height="fill_pa
android:singleLine="true" />
With this you would get an
italic, red clock.
1.1.2. Date
The date which you can see in the status
bar can be modified by editing the line
beginning with
"<com.android.systemui.statusbar.DateView".
As with the clock, you can either add
textColor and textStyle or change the
android:textAppearance
1.1.3. Notification ticker
Search for the line containing "@id/
tickerText" .
It is followed by two other lines which
contain
"android:textAppearance="@android:style/
TextAppearance.StatusBar.Ticker"" .
As with the clock, you can either add
textColor and textStyle or change the
android:textAppearance
2. Carrier, Ongoing-Title, Notifications-
Title, Clear-Button, noNotificationsTitle
Files to edit:
/system/app/ SystemUI.apk
DECOMPILED_DIR/res/layout/
status_bar_expanded.xml
2.1. Carrier
Search for the line beginning with
"<com.android.systemui.statusbar.CarrierLabe
This line contains the text for the carrier
and its appearance.
The background for the carrier label can
be changed one line above using the
"android:background" attribute.
It can be a pre-defined color value
(@color/NAME_OF_COLOR ), a html color
value (#TTRRGGBB ) or even a graphics
file ( @drawable/NAME_OF_GRAPHIC ).
2.2. Ongoing-Title
Search for android:id="@id/
ongoingTitle" .
This is the Ongoing-Title.
As with other texts you can add/change
"android:textAppearance",
"android:textColor" and
"android:textStyle"
The background is defined in the
"android:background" attribute.
2.3. Notifications-Title
Search for android:id="@id/latestTitle" .
This is the Notifications-Title.
As with other texts you can add/change
"android:textAppearance",
"android:textColor" and
"android:textStyle"
The background is defined in the
"android:background" attribute.
2.4. noNotificationsTitle
Search for android:id="@id/
noNotificationsTitle" .
This is the text when no notification is
displayed.
As with other texts you can add/change
"android:textAppearance",
"android:textColor" and
"android:textStyle"
The background is defined in the
"android:background" attribute.
2.5. Clear-Button
Search for android:id="@id/
clear_all_button" .
This is the text of the Clear-Button
________________________________________
3. Notifications
Files to edit:
/system/frameworks/ framework-res.apk
DECOMPILED_DIR/res/layout/
status_bar_latest_event_content.xml
In this file you find the texts for :
the title of the notification: Search
for android:id="@id/title" .
Textcolor and textstyle are editable via
style or directly in the xml (see point
1.1.1.)
the description of the notification:
Search for android:id="@id/text"
the time of the notification: Search
for android:id="@id/time"
________________________________________
4. Color of the progress bars and seek bars
4.1. progress bars
Files to edit:
/system/framework/ framework-res.apk
DECOMPILED_DIR/res/drawable/
progress_horizontal.xml
The progress bar uses gradients to set the
color which goes from top to bottom.
You have to set three colors: start (top of
the bar), end (bottom of the bar) and
middle.
<item android:id="@id/background">
is for the unused part of the progress
bar.
<item android:id="@id/progress"> is
for the used part of the progress bar.
4.2. seek bars
Files to edit:
/system/framework/ framework-res.apk
DECOMPILED_DIR/res/values/ styles.xml
Seek bars are progress bar like components
which enables you to change a value within
a range (you will see some in the sound
settings (Settings -> Sound -> Volume) or
when changing the brightness of the
display).
By default, the seek bars are using the
color settings of the progress bar to
display the current position (so it should
be possible to use different ones by using
another .xml than the progress bars).
To modify it, open the styles.xml
Search for <style name="Widget.SeekBar"
parent="@style/Widget"> .
Here you can change :
the height (<item name="maxHeight"> and
<item name="minHeight"> ),
the appearance (<item
name="indeterminateDrawable"> and <item
name="progressDrawable"> )
the graphic of the thumb ( <item
name="thumb"> , res/drawable/
seek_thumb.xml ).
The thumb itself comes in three files,
located in res/drawable-hdpi:
seek_thumb_normal.png
seek_thumb_pressed.png
seek_thumb_selected.png
________________________________________
5. Color of selected text within text fields
Files to edit:
/system/framework/ framework-res.apk
DECOMPILED_DIR/res/values/ styles.xml
Search for <style
name="TextAppearance"> in the
styles.xml.
The color for the selected text is the node
textColorHighlight
________________________________________
6. Transparency
6.1. notification drawer
If you use a ROM that doesn't have a
transparent notification drawer by
default, then you have to do this:
Decompile your SystemUI.apk using
apktool.jar (or just decompile the
classes.dex using baksmali). Browse to the
folder smali/com/android/systemui/
statusbar/ (or com/android/systemui/
statusbar/ if you have just decompiled
classes.dex).
Edit the file StatusBarService.smali.
Search for the following line:
invoke-direct/range {v0 .. v5}, Landroid/
view/WindowManager$LayoutParams;-
><init>(IIIII)V
above that line you must have
const/4 v5, 0x2
change this to
const/4 v5, -0x3
After recompiling SystemUI.apk and
pushing it to the phone you can get
something like this :
6.2. Status bar
If you use a ROM that doesn't have a
transparent status bar by default, then
you have to do this:
Decompile your SystemUI.apk using
apktool.jar (or just decompile the
classes.dex using baksmali).
Browse to the folder smali/com/android/
systemui/statusbar/ (or com/android/
systemui/statusbar/ if you have just
decompiled classes.dex).
Edit the file StatusBarService.smali.
Search for the following line:
invoke-direct/range {v0 .. v5}, Landroid/
view/WindowManager$LayoutParams;-
><init>(IIIII)V
directly above it you will find
const/4 v5, 0x2
change this to
const/4 v5, -0x3
Recompiling SystemUI.apk and pushing it to
the phone (I tested it with the emulator).
________________________________________
7. Graphics
After you have decompiled your .apk files
you will end up with a lot of graphic files
in :
res/ drawable-hdpi (or res/drawable-
hdpi-v4 depending on your apktool.jar
version).
This is the right place to edit notification
icons, the notification bar and drawer,
menu item background (list, grid, etc.),
buttons, etc.
Some files will have .9.png . These are
Nine-Patch-files.
You will find more information on those
files :
http://developer.android.com/guide/
topics/resources/drawable-
resource.html#NinePatch
http://developer.android.com/guide/
topics/graphics/2d-
graphics.html#nine-patch
Let's begin with the status bar and
notification drawer:
7.1. Status Bar
To get a new status bar background, you
have to edit the file :
statusbar_background.
You find it in the SystemUI.apk . Can be
.png or .9.png
7.2. Notification Drawer
(The notification drawer constists of
several files.)
7.2.1 Carrier/Provider area
To change the background for the Carrier/
Provider area you have to edit the file :
status_bar_header_background
You find it in the SystemUI.apk . Can be
.png or .9.png
7.2.2 Ongoing and Notifications
To change the background for the Ongoing
and Notifications area you have to edit
the file :
title_bar_portrait
You find it in the SystemUI.apk . Can be
.png or .9.png
7.2.3 Notifications
To change the background for the
notification area you have to edit the file
:
status_bar_item_background_normal
You find it in the framework-res.apk .
This will be the background if you're just
look at the notifications.
When focusing a notification it will be the
file :
status_bar_item_background_focus
when you push/press it you have to edit
the file :
status_bar_item_background_pressed
The notifications are divided by the file
divider_horizontal_bright. Can be .png or
.9.png
7.2.4 Unused area
The area where no notification is displayed
is set in the file :
SystemUI.apk/res/layout/
status_bar_tracking.xml .
You have to change the attribute
android:background of the View-node.
It can be a color-value, a predefined color
or a graphics file.
Depending on your ROM it will even display
transparency. Can be .png or .9.png
7.2.5 Bottom
The bottom part of the expanded drawer is
status_bar_close_on .
You find it in the SystemUI.apk . This will
use transparency too. Can be .png or .9.png
7.3. Animated notification icons
7.3.1 Battery (uncharging)
Depending on your ROM there will be more
or less files for the battery gauge.
They begin with stat_sys_battery_
followed by a number.
The order how they are get displayed is
configured in the file :
res/drawable/ stat_sys_battery.xml .
You find it in the framework-res.apk .
7.3.2 Battery (charging)
Depending on your ROM there will be more
or less files for the battery charging
gauge.
They begin with
stat_sys_battery_charge_anim followed
by a number.
The order how they are get displayed is
configured in the file :
res/drawable/
stat_sys_battery_charge_anim.xml .
You find it in the framework-res.apk .
7.3.3 Download and upload animation
The files for the upload and download
animation begin with
stat_sys_download_anim and
stat_sys_upload_anim followed by a
number.
The order how they are get displayed is
configured in the files :
res/drawable/
stat_sys_download_anim.xml
res/drawable/
stat_sys_upload_anim.xml .
You find it in the framework-res.apk .
8.4. Other files
8.4.1 Title for detailed view in call history
You will find the background for this in
the file title_bar_tall. You find it in the
framework-res.apk .
8.4.2 Title for contacts
You will find the background for this in
the file title_bar_medium. You find it in
the framework-res.apk .
8.4.3 Background for the grid menu
The grid menu is the one when you press
the menu button within an application.
The following files are used and you find
them in the framework-res.apk :
menu_background: This the background
for one grid element.
menu_background_fill_parent_width:
the whole grid
To change the text color you have to set
the color for the style
TextAppearance.Widget.IconMenu.Item in
the file res/values/ styles.xml
After pressing "More" you will find
another menu. The text colors for this
menu can be found in the style
Theme.ExpandedMenu.
________________________________________
9. Applications
9.1. Ongoing downloads
You should have noticed that the text color
of ongoing downloads in the notification
area doesn't look like the text colors for
normal notifications.
To change this color you have to change
the file /system/app/
DownloadProvider.apk .
You'll find the color values in res/layout/
status_bar_ongoing_event_progress_bar.xml .
It uses the same names as the one in the
framework-res.apk. After you have
recompiled it you can flash it to your
phone. You should see the new colors at the
next download.
9.1. Notifications of music player
If you are using the default music player
(/system/app/Music.apk) then you can
change the colors it uses for notifications
as well.
After you have decompiled it, open res/
layout/ statusbar.xml and edit the values :
@id/artistalbum
@id/trackname
Thanks for your time and your attention
Have Fun ☼
#PLEASE PRESS THANKS#
What has thus to do with themer launcher? Not that it is a nice compiled something but, well, wrong forums.
Sent from my GT-I9300 using XDA Free mobile app
Where should i post these
In the Android themes section.
Sent from my GT-I9300 using XDA Free mobile app
So interesting and usefull information and it's free,thx
Good
really good tutorial. Thanks

Categories

Resources