Text Color Change (Complete how to do)

thebowers

Premium Member
Premium Member
Theme Developer
Joined
Nov 24, 2009
Messages
2,545
Reaction score
1
Location
Iowa
There seems to be a lot of people wanting to change the color of notification text to go with the changing of the clock color. I struggled with this myself and found vague instructions on how to do this not knowing anything. So here we go . It isn't that hard to do just takes some time. First of all you need to be rooted and it is strongly suggested to have sprecovery (nandroid). PLEASE DO A BACKUP BEFORE DOING ANY OF THIS. I am in no way responsible for anything that may happen to your phone.


Things to download to complete this process.

First off is Java. java.com: Java + You download and install
Then we need this colorChange.jar v3.1 - Modify Cyan template text colors [ALL VERSIONS] 11/29 - xda-developers .Just take the .zip off the end of the file
Next we need HxD - Freeware Hex Editor and Disk Editor | mh-nexus .
Last thing is optionally, but I find it very helpfully. PowerCmd - A Better Command Prompt Replacement Tool
Another optionally program is 7-zip. I find this helpfully for opening .apk files without changing the name. 7-Zip

Things needed from your droid

Both the framework-res.apk and services.jar. They can be found in /system/framework. Either use ADB, Terminal Emulator or RootExplorer to copy to you the root of your sdcard.



Putting things in their place.

1. Connect your phone to the computer by USB cable. Mount your droid to the computer and open up the corresponding removable drive.
2. Create a new folder on your desktop called framework.
3. Move framework-res.apk and services.jar from your sdcard to the framework folder on your desktop.
4. Right click on the folder, add to achive. Select .zip compression. You should now have a file called framework.zip on the desktop.
5. Go to where you downloaded the colorChangev3.jar. Placed this file in your C drive. The path should now be C:\colorChangev3.jar
6. If you haven't done so already install Java.


Getting things started.

1. Open either Command Prompt or PowerCmd. I suggest PowerCmd cause it allows copy and paste.
2. Change directory to C:\ . cd C:\
3. Now type java -jar colorChangev3.jar . If using PowerCmd you can copy and paste that command :)
4. You should now have info on the options within colorChangev3.
It should look this.

HTML:
**************************************************************************
** Color Changer v3.1 (ALL YOUR VERSIONS ARE BELONG TO US) by Ohsaka **
**************************************************************************
 
Usages: 
java -Xmx512M -jar colorChangev3.jar <theme.zip> [colorLabels ...] [debug] [zipDebug] [goFull]
 
< > means required, [ ] means optional
<theme.zip> - Android theme update file (not a full ROM update)
[ticker] - ARGB color for ticker notifications on the status bar
[clock] - ARGB color for the clock text
[date] - ARGB color for the date
[ongoing] - ARGB color for "Ongoing" Label
[latest] - ARGB color for "Notifications" Label
[none] - ARGB color for "No Notifications" Label
[clear] - ARGB color for text on Clear Notifications button
[network] - ARGB color for network name (T-Mobile usually)
[roam] - Not sure where this color shows up, possibly network name when roaming
 
Progress Bar Color Change (Must specify BOTH at once)
[progressBarBackground] - Progress bars background color
[progressBarForeground] - Progress bars foreground color
 
[debug] - Turns on debugging output
[zipDebug] - Turns on zip debugging output
[goFull] - Force updater to process a full rom instead of just templates
 
Example 1) java -Xmx512M -jar colorChangev3.jar themeXYZ.zip ticker=FFFF0000 date=FFFF0000 clock=FFFF0000
This will change ticker, date, and clock to red
 
Example 2) java -Xmx512M -jar colorChangev3.jar themeXYZ.zip clear=FFFFFFFF network=FF0000FF
This will change the clear notifications button text to white and network name (usually T-Mobile) to blue
Example 3) java -Xmx512M -jar colorChangev3.jar themeXYZ.zip clear=FFFFFFFF network=FF0000FF debug zipDebug
Same as example 2 but with debug and zipDebug turned on
 
C:\>

5. Now here we can try to change everything clock, date, carrier, and the words ongoing, none, latest, the button text.
6. All of these are controlled by the services.jar file and must all be done here. Unless you want to manual edit in smaili
7. Type or copy this. java -Xmx512M -jar colorChangev3.jar C:\users\"username"\desktop\framework.zip clock=FFFFFFFF gofull

Lets take a break here to explain some things. The path in the command above is to the zip folder of framework.zip. Yours may differ depending on what version of windows you are using. Also the FFFFFFFF is the Hex code for white with alpha. It is represented this way from beginning to end. FF is Alpha, the next FF is for red value, next FF is for green value, and the last FF is for blue value. To get these codes visit this site. Web Color Chart - Hexadecimal - by VisiBone Just remember to put FF then what ever Hex color code you what.

8. If the command from above ran successfully you will now have a new file on the desktop called framework-new.zip.
This concludes the color change of the for the services.jar.


Now onto the manually editing of the xml files

1. Right click on the file named framework-new.zip and extract to /framework-new folder.
2. Open the folder framework-new. There should be two folders (framework and META-INF)
3. Open the folder framework. There is going to be two files in here (framework-res.apk and services.jar)
4. Right click on framework-res.apk, and go to 7-zip, open archive.
5. Navigate to /res/layout . There are three files we looking for in here (status_bar.xml , status_bar_expanded.xml , and status_bar_latest_event_content.xml).
6. Move these three files to the desktop.
7. Open HxD and the go to the file menu and then open. Navigate to the desktop and open all three files.
8. We will start with status_bar.xml first. Do Ctrl+F to bring up the search window. Type 08 00 00 1C and change Data type to be Hex-string. Click ok.
9. In the file you will see that 08 00 00 1C is now hightlighted. The next string next to it is a color code for text. An example would be FF FF FF FF. In the example this would be for white with alpha. First thing to remember here is that the Hex codes are backwards. They follow the pattern of BGRA instead of ARGB like we did in the command prompt. Also within the BGR values they are backwards also. So I am going to give an example to help clarify. The color orange has a Hex code of FF6600 from the web color chart. In HxD it needs to be 0066FF and then FF will follow that. The last FF is for alpha, leave it alone.
10. After changing the Hex code to the color you want hit Ctrl+F. 08 00 00 1C should still be in there with Hex-string for data type. Just hit ok and it will take you to the next text color code. Change to the desired color like before. You will have to do this one more time within this file, making a total of 3 color codes to change. One may already be changed due to running the colorChangev3.jar. Save the file and head onto status_bar_expanded.xml .
11. Do the same as in the first file by doing Ctrl+F for 08 00 00 1C. There are three that can be changed in here. The last one is for the "clear" text that shows in the button on the notification drop down. I usually leave this one to 00 00 00 for black, since it is on a white background. Save after making changes.
12. Open status_bar_latest_event_content.xml. There are three changes to be done in here as well. Once done making the changes save the file.
13. Now go to the folder that says framework-new. Navigate to /framework and right click on framework-res.apk. Go to 7-zip in the menu and open archive. From here open /res/layout and drag the three xml files from the desktop into this folder. It will ask if you want to over the existing files, go ahead and do so.
14. Grads. you have now edited the files to change the colors. Now all we need to do is push them back to the phone.


Pushing framework-res.apk and services.jar back to the phone.

To do this I use ADB through sprecovery. Pushing this system files over by using Root Explorer or even Terminal may cause the phone to freak and lock up if not done through recovery.
1. Take the framework-res.apk and services.jar file from framework-new folder and place them in the tools directory of ADB.
2. Connect you phone to your computer with the usb cable. Put your phone into sprecovery and go to mount options. Mount the system.
3. Open command prompt and change directory to the tools directory of ADB. Example of mine is cd C:\android\tools
4. Then do adb push framework-res.apk /system/framework . You should get daemon started with so many bytes sent.
5. Then do adb push services.jar /system/framework . You should get the same as before with so many bytes sent.
6. Back to sprecovery, unmount system and reboot phone.
7. Your phone will take longer to boot this time due to the changes of the files. It will only boot this long once.
8. After booting you should see the changes to your text. ENJOY :icon_ banana::icon_ devil::icon_ banana:
 
Last edited:

52brandon

Active Member
Joined
Jan 18, 2010
Messages
1,019
Reaction score
20
lol, and the shocking conclusion to this episode... is coming after this
 
OP
thebowers

thebowers

Premium Member
Premium Member
Theme Developer
Joined
Nov 24, 2009
Messages
2,545
Reaction score
1
Location
Iowa
Walk through is up in OP. I sure hope this helps you guys out.
 
OP
thebowers

thebowers

Premium Member
Premium Member
Theme Developer
Joined
Nov 24, 2009
Messages
2,545
Reaction score
1
Location
Iowa
I guess there was no takers!! :(
 

stlcity

Member
Joined
Jan 7, 2010
Messages
306
Reaction score
0
the bowers thanks for the guide. I landed up getting errors when I tried the first part of the giude. So I used instructions from your giude as well as this:

[Guide] Change notification/clock/pull down text colors - Android Forums

Now running Pete's new 2.1 ROM with Chevey's 1.2 OC kernel with high res blue icons and now: changed color to date, clock, ongoing, Verizon wireless(changed it to my name). Plan to work on the colors on the pulldown tommorow..happy camper...
 

kevdog

Member
Joined
Nov 14, 2009
Messages
721
Reaction score
0
Your specifics are for framework files from 2.0.1 ROMs only. Its slightly different for 2.1 Roms.
 
OP
thebowers

thebowers

Premium Member
Premium Member
Theme Developer
Joined
Nov 24, 2009
Messages
2,545
Reaction score
1
Location
Iowa
Your specifics are for framework files from 2.0.1 ROMs only. Its slightly different for 2.1 Roms.

Yes, 2.1 there is only one or two instances of the 08 00 00 1C string in the three files. As long as they search for that and adjust accordingly, they should be fine. It also depends on what 2.1 rom they are on too.
 

kevdog

Member
Joined
Nov 14, 2009
Messages
721
Reaction score
0
Although I believe colorchangev3 works on 2.1 Roms I haven't gotten any firm confirmation from anyone of credible value.
 
OP
thebowers

thebowers

Premium Member
Premium Member
Theme Developer
Joined
Nov 24, 2009
Messages
2,545
Reaction score
1
Location
Iowa
Although I believe colorchangev3 works on 2.1 Roms I haven't gotten any firm confirmation from anyone of credible value.

I have tried it on Utlimate Droid and it works just fine. My screen shot of it is on my sig for Bowerbar MM. It is the purple with white background. So it works, but it seems to be rom specific. I have another user try it on BB 2.1 and it didn't work.
 

kevdog

Member
Joined
Nov 14, 2009
Messages
721
Reaction score
0
Have you tried applying changes to services.jar and framework-res.apk through metamorph or through a direct adb push? The push method seems more reliable, but honestly when switching back and forth between different Roms and such, MM is the fastest way to go and saves a ton of time. Its also possible to distribute various frameworks and services.jar files in one theme with each combination representing a different color, so its quite easy to distribute for others to use for their ROMs.
 
OP
thebowers

thebowers

Premium Member
Premium Member
Theme Developer
Joined
Nov 24, 2009
Messages
2,545
Reaction score
1
Location
Iowa
I used MM to push it to make sure it would work correctly. So I know it would work on a 2.1 rom before distributing. The question I have with multiple frameworks in one theme is this. How do you set the folder name for different frameworks and point it to the correct path in the .thm file? Do you just use the .cpy or what? Also I am hesitate to do this just in case someone hits apply all. That's why I made this so people can try this on their own.
 

kevdog

Member
Joined
Nov 14, 2009
Messages
721
Reaction score
0
Yes just doing the .cpy method. I know of no other way. I haven't done it -- but I don't think anything bad would happen since the same files would just be overwritten.
 

paulmiller_19

Member
Joined
Dec 22, 2009
Messages
58
Reaction score
0
This worked for cyanogenmodv1.0.2 but i'm getting this error with cyanogenmodv5.0.4

/var/folders/VD/VDqcMug2FseZnN1wDQvPRk+++TI/-Tmp-/cc-temp/framework/services/com/android/server/status/StatusBarIcon.smali[217,4] The offset/label is out of range. The offset is -129 and the range for this opcode is [-128, 127]

anyone know how to fix? Thank you
 

Drukan

Member
Joined
Nov 18, 2009
Messages
70
Reaction score
0
Location
Phx, AZ
This worked for cyanogenmodv1.0.2 but i'm getting this error with cyanogenmodv5.0.4

/var/folders/VD/VDqcMug2FseZnN1wDQvPRk+++TI/-Tmp-/cc-temp/framework/services/com/android/server/status/StatusBarIcon.smali[217,4] The offset/label is out of range. The offset is -129 and the range for this opcode is [-128, 127]

anyone know how to fix? Thank you

Im having the same issue.. w/ CM 5.0.4.2
Ive tried several methods of changing colors including using edited xmls from 2.0.1 causes mad FCs when i push em.
 
Top