[Q] How to edit (system) icons? - GT540 Optimus General

Hey
How can i change/edit (system) icons like in the status bar, in the menu or something like that..?
Thanks!

adb pull /system/framework/framework-res.apk
adb pull /system/app/SystemUI.apk
extract those apk in 7zip or something then look in res>drawable_mdpi
edit those png files.
put res folder back in apk file

Related

[TUTORIAL] Where to find the colors for making a theme

Hi,
after I switched my ROM from OpenDesire to Oxygen I had to find a way to change the text colors for the status bar and notification area as the theme I'm using has a dark status bar.
With the help of str355 I was (nearly) able to change the colors to the values I want to. The most tricky part will be the color of the clock for which I only know for non-CM-AOSP-ROMs (like Oxygen) for now and only the colors Black, White and Red. Feel free to provide hints and/or links for other colors/ROMs I will update this tutorial.
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.
It seems that apktool can change the brightness of some nine patch graphics while decompiling them. I had problems with the lockscreen files (jog_tab_*) where the files extracted from the original framework-res.apk were darker.
The guide in this post is for Android 2.2 (and maybe earlier versions). An updated version for Android 2.3 is in progress. You will find it in Post 62 when it's finished.
Tools, which are used in this tutorial:
apkmanager. I highly recommend that you replace the apktool.jar from the apkmanager with version 1.3.1. Version 1.3.2 can create not working framework-res.apk files. Version 1.3.1 is creating *-v4 drawable-directory names. Be sure to remove the -v4 or add it to the directory names you want to keep
text editor
adb
smali/baksmali
ZIP-Tool of your choice
Graphics editor
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
2. Notifications
Files that have to be edited:
/system/framework/framework-res.apk
DECOMPILED_DIR/res/layout/status_bar_latest_event_content.xml
What you have to do:
Decompile your framework (see Point 1)
Edit the file DECOMPILED_DIR/res/layout/status_bar_latest_event_content.xml
Search for android:id="@id/title". This is the title of the notification
Edit the android:textColor attribute to your likings (add it if it is missing)
Search for android:id="@id/text". This is the description of the notification
Edit the android:textColor attribute to your likings (add it if it is missing)
Search for android:id="@id/time". This is the time of the notification
Edit the android:textColor attribute to your likings (add it if it is missing)
compile your framework (See Point 1, but now you have to delete the status_bar_latest_event_content.xml from the keep-directory) and push it to your phone.
3. Provider, Carrier, Ongoing-Title, Notifications-Title, Clear-Button, noNotificationsTitle
Files that have to be edited:
/system/framework/framework-res.apk
DECOMPILED_DIR/res/layout/status_bar_expanded.xml
What you have to do:
Decompile your framework (see Point 1)
Edit the file DECOMPILED_DIR/res/layout/status_bar_expanded.xml
Search for android:id="@id/plmnLabel". This is the Carrier name
Edit the android:textColor attribute to your likings (add it if it is missing)
Search for android:id="@id/spnLabel". This is the Provider name
Edit the android:textColor attribute to your likings (add it if it is missing)
Search for android:id="@id/ongoingTitle". This is the Ongoing-Title
Edit the android:textColor attribute to your likings (add it if it is missing)
Search for android:id="@id/latestTitle". This is the Notifications-Title
Edit the android:textColor attribute to your likings (add it if it is missing)
Search for android:id="@id/clear_all_button". This is the text of the Clear-Button
Edit the android:textColor attribute to your likings (add it if it is missing)
Search for android:id="@id/noNotificationsTitle". This is the text when no notification is displayed
Edit the android:textColor attribute to your likings (add it if it is missing)
compile your framework (See Point 1, but now you have to delete the status_bar_expanded.xml from the keep-directory) and push it to your phone.
4. Color of the progress bars (like the one the market is using)
Files that have to be edited:
/system/framework/framework-res.apk
DECOMPILED_DIR/res/drawable/progress_horizontal.xml
What you have to do:
Decompile your framework (see Point 1)
Edit the file DECOMPILED_DIR/res/layout/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, end 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.
compile your framework (See Point 1, but now you have to delete the progress_horizontal.xml from the keep-directory) and push it to your phone.
5. Color of selected text within text fields
Files that have to be edited:
/system/framework/framework-res.apk
DECOMPILED_DIR/res/values/styles.xml
What you have to do:
Decompile your framework (see Point 1)
Edit the file DECOMPILED_DIR/res/values/styles.xml
You will find the color value in the <style name="TextAppearance"> node. It's called textColorHighlight
compile your framework (See Point 1, but now you have to delete the styles.xml from the keep-directory) and push it to your phone.
6. Clock
6.1. Clock Color
As already stated, this only works for pure AOSP-ROMs (at least for Oxygen). It is NOT working for Sense Roms and those based on CM.
Files that have to be edited:
/system/framework/services.jar
Tools you need to do the job:
smali/baksmali
text editor of your choice
zip tool of your choice (WinRAR, 7zip, WinZIP, ...)
What you have to do:
Extract the services.jar from your phone/rom file to the same directory as your smali/baksmali jar files.
Extract the classes.dex out of the services.jar using a zip tool of your choice. Only extract it. Do not extract the whole file
Decompile classes.dex: java -jar baksmali.jar -o classout/ classes.dex
That will create a directory classout where your decompiled files are stored
move to the directory classout/com/android/server/status . There you will find a lot of .smali files
Open StatusBarIcon.smali in the text editor of your choice
Search for the text Landroid/widget/TextView;->setTextColor(I)V (there should be only one)
In the same line you will see somethink like invoke-virtual {v4, v6}. Note second v-Value (it can be another number) and search for it.
You will get something like const/high16 v6, -0x100. That's Black. To change the color to White, use const v6, -0x1, using const/high16 v6, -0x1 will turn it Red. You can use this format: const v6, 0xffRRGGBB. const v6, 0xff0000ff would turn it blue and const v6, 0xffff00ff will turn it pink
Save the file and move back to your directory, where you have saved the classes.dex
Rename it for having a backup file
Run this command: java -Xmx512M -jar smali.jar classout/ -o classes.dex
Replace the classes.dex INSIDE your services.jar with your newly created classed.dex
Push the new services.jar to your phone (/system/framework/) and reboot.
Don't get panic, this reboot can take several minutes.
Your clock should have the new color now.
7. Transparent background Notification Drawer
I only tested this only for a pure AOSP-ROM (Oxygen).
CyanogenMod based based already have this patch integrated.
It may work for Sense Roms. Feel free to test it and report your experience.
Files that have to be edited:
/system/framework/services.jar
Tools you need to do the job:
smali/baksmali
text editor of your choice
zip tool of your choice (WinRAR, 7zip, WinZIP, ...)
What you have to do:
Extract the services.jar from your phone/rom file to the same directory as your smali/baksmali jar files.
Extract the classes.dex out of the services.jar using a zip tool of your choice. Only extract it. Do not extract the whole file
Decompile classes.dex: java -jar baksmali.jar -o classout/ classes.dex
That will create a directory classout where your decompiled files are stored
move to the directory classout/com/android/server/status . There you will find a lot of .smali files
Open StatusBarService.smali in the text editor of your choice
Search for the text const/4 v5, 0x2 (there should be only one)
Change this to: const/4 v5, -0x3.
Save the file and move back to your directory, where you have saved the classes.dex
Rename it for having a backup file
Run this command: java -Xmx512M -jar smali.jar classout/ -o classes.dex
Replace the classes.dex INSIDE your services.jar with your newly created classed.dex
Push the new services.jar to your phone (/system/framework/) and reboot.
Don't get panic, this reboot can take several minutes..
8. Graphics
After you have decompiled your framework-res.apk you will end up with a lot of graphoc 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 und 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 HERE and HERE
Let's begin with the status bar and notification drawer:
8.1. Status Bar
To get a new status bar background, you have to edit the file statusbar_background. Can be .png or .9.png
8.2. Notification Drawer
The notification drawer constists of several files.
8.2.1 Carrier/Provider area
To change the background for the Carrier/Provider area you have to edit the file status_bar_header_background. Can be .png or .9.png
8.2.2 Ongoing and Notifications
To change the background for the Ongoing and Notifications area you have to edit the file title_bar_portrait. Can be .png or .9.png
8.2.3 Notifications
To change the background for the notification area you have to edit the file status_bar_item_background_normal. 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 and 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
8.2.4 Unused area
The area where no notification is displayed will get the background file status_bar_background. Depending on your ROM it will even display transparency. Can be .png or .9.png
8.2.5 Bottom
The bottom part of the expanded drawer is status_bar_close_on. This will use transparency too. Can be .png or .9.png
8.3. Animated notification icons
8.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.
8.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.
8.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 and res/drawable/stat_sys_upload_anim.xml.
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.
8.4.2 Title for contacts
You will find the background for this in the file title_bar_medium.
8.4.3 Background for the grid menu
What I mean is the grid menu when you press the menu button within an application.
The following files are used:
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 (thanks for SimonVT for this hint)
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 of @id/artistalbum and @id/trackname.
* All tools mentioned here have links to the corresponding project or forum page. If you have problems with these tools ask the creators.
* I do not take any responsibilty for any bricked phone.
* Thanks to: str355 and ClassicalGas for providing me with hints on how to change additional colors, graphics, etc.
* Thanks to: one_love_420 for giving me the tip on how to set a real custom color for the clock in the status bar and for making THIS TUTORIAL to make the background of the contact list transparent.
nice one mate
i was looking for changing status bar of oxygen.but this is complicated for me.can anyone make an update.zip of this or do you know any status bar update compatible with this rom?
cCeT said:
do you know any status bar update compatible with this rom?
Click to expand...
Click to collapse
the one in my sig works with oxygen
str355 said:
the one in my sig works with oxygen
Click to expand...
Click to collapse
{
"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"
}
This is nice and simple!
For Oxygen, just wondering if the battery indicator can be made box/rectangular with white percentage indicator inside and dark blue drain indicator? Everything else is perfect as it is.
BumAround said:
This is nice and simple!
For Oxygen, just wondering if the battery indicator can be made box/rectangular with white percentage indicator inside and dark blue drain indicator? Everything else is perfect as it is.
Click to expand...
Click to collapse
I'm only making the one bar nowadays, from version 0.2 the bar is black so you wont need to do all of this
Sent from my Fire using Smoke Signals
str355 said:
I'm only making the one bar nowadays, from version 0.2 the bar is black so you wont need to do all of this
Sent from my Fire using Smoke Signals
Click to expand...
Click to collapse
No more messing up with the services.jar for us Oxygen users
BumAround said:
For Oxygen, just wondering if the battery indicator can be made box/rectangular with white percentage indicator inside and dark blue drain indicator? Everything else is perfect as it is.
Click to expand...
Click to collapse
Use UOT Kitchen for different battery.
I added a section. Now it's possible to use a transparent png as in the notification drawer.
KBanause said:
I added a section. Now it's possible to use a transparent png as in the notification drawer.
Click to expand...
Click to collapse
nice, shame it's in the service.jar though!
BumAround said:
This is nice and simple!
For Oxygen, just wondering if the battery indicator can be made box/rectangular with white percentage indicator inside and dark blue drain indicator? Everything else is perfect as it is.
Click to expand...
Click to collapse
I'm using this right now.
Quick question. I like white notification bars... is there any way I can get it back? Kinda dig the white style coz it helps me differentiate from Sense ROMs.
sakai4eva said:
Quick question. I like white notification bars... is there any way I can get it back? Kinda dig the white style coz it helps me differentiate from Sense ROMs.
Click to expand...
Click to collapse
It is possible. Just follow steps 7,8,9 in the "Clock Color" section and set the color to the black value.
I found out what I have to edit to change the color of the progress bars. As soon as I am at home again I will update the tutorial.
any idea where to change the colour of the text for ongoing downloads?
i've updated the ongoing items in white in statusbarexpanded.xml which has changed the text colour for all ongoing items except for the downloads as far as i can see.
when the apps are installing (still under ongoing items) the text switches back to white etc..
there are references to the ongoing items in StatusBarService.smali so i may have to do the colour change in there unless anyone knows of a .xml entry i can edit.
EDIT: PowerAmp's ongoing music notification is also affected by this, although there is a setting to reverse the status text colour in poweramp's settings
Right now I can't tell you where to find it.
But maybe you can help me:
When you press the menu button when you are on the homescreen I know which file I have to change for the background. But I can't find where I can change the color of the text. I would like to use the Gingerbread background for this but it ends up with a black text color on a black background
sorry i've not changed anything in that menu yet.
i just had a quick play around with layout\menu_item.xml but it isnt any of the text in there
EDIT: that text isnt in the actual home application is it as the icons change if i switch from launcherpro to zeam
str355 said:
EDIT: that text isnt in the actual home application is it as the icons change if i switch from launcherpro to zeam
Click to expand...
Click to collapse
It must be in the framework because in other applications it's the same (black text color on black background) while in the emulator running Gingerbread the text is white.
removed
SimonVT said:
I believe you have to edit
TextAppearance.Widget.IconMenu.Item
in framework-res /values/styles.xml
Click to expand...
Click to collapse
That was the right one. Thanks

[Q] Edit BlurDialer.apk & BlurPhone.apk

I need help with editing the AndroidManifest.xml in BlurPhone.apk and BlurDialer.apk... I have edited the .xml files in both of them to set screenOrientation to "sensor" instead of "nosensor" because I want the dialer and in call screen to show up in landscape without having to use the car dock or the desktop dock to achieve this. I have a universal mount that I use and I have applied the webtop hack and created shortcuts to the desktop and cardock activities. Every other program switches to landscape except for these two.
Here is what I have done with BlurDialer.apk...
I decompiled, edited the XML to "sensor" and recompiled BlurDialer.apk with no errors in apktool. I then copied the META-INF from the original file to the new one. I properly copied the file to /system/app using adb shell. When I reboot the dialer app is gone. I copied the old BlurDialer.apk back into place to see if it was the way I copied it to the system that caused the problem. When I did that everything returned back to normal so it has to be something in the way I am editing and recompiling the file.
Here is what I have done with BlurPhone.apk...
I decompiled with no errors, made the edit to "sensor" in the xml file, when I recompiled I received an error. Even when I make no edits if I recompile the file I still get an error.
Please show me what I need to do.
Thanks!!
Did you get your answer? I was having the same issue until someone at mydroidworld.com figured it out. Edit apktool.yml and put 1, 2 3 in numerical order.

[How-To] Change Status Bar Icons

I have changed the status bar icons for a few time, and just want to share it to people who wants to personalize it by themselves but don't know how with their own taste without asking the others to do it for them
What you need:
- WinRar
- Gimp 2 - http://www.gimp.org/downloads/
- ADB or something like RootExplorer, I prefer ADB
File to be modified:
SystemUI.apk - you can find it in system/apps/
First, you need to get the SystemUI.apk out of your favorite ROM, I use WinRar, and then you open the apk file also by Winrar. Extract the 'drawable-mdpi' folder in 'res' folder. You will see the icons for back, home, option, etc. in there.
Now, edit the default icon with Gimp 2, open the icon, click Del to remove the image but still keep the template for your new icon. Open the your favorite icon (with Gimp 2 of course), and resize it to the size of the ROM's icon (it's under the Image option), mostly choose Height 48pixel and Width will be set automatically, just remember to look at the size of the default icon. After you resized your favorite icon, just Ctrl + C on your icon and then Ctrl + V on the the template, it will put your new icon to the center of the template. Last step for this is to save it back to the 'drawable-mdpi' folder. I suggest you to use .png icons and save the templates for your future uses FYI, you should have a 'pressed' template.
Last, open the SystemUI.apk and "Added files to ..." to the .apk file, add the modified 'drawable-mdpi' folder to the .apk, then you are done with the SystemUI.apk. If you want to have a fresh ROM flash, then just put the modified SystemUI.apk back to the ROM and flash; or you can "adb push" it to your tablet or over-write it, then you restart your tablet to see the change
That's it, first time you try it, it's going to take sometimes, but after you have all the templates ready, it's gonna be so quick for you to make any changes.
Let me know if you have any question, I'm no expert in Graphic Designing or Programming but will try to answer your questions
Here are some examples which I'm currently using them, have fun:
I thonk its like that
http://forum.xda-developers.com/showthread.php?t=1301401
and
http://forum.xda-developers.com/showpost.php?p=16820709&postcount=9
didn't know there are...

help file SystemUI.apk

I want to move to the left phone reception on the status bar. Please help me.
i want change icon stat_sys_signal
Bro first deodex or copy systemui and extract or decompile it ...and find that file and rename it to png (works knly on linux ) or edit xml file to chane the location of reception bar

HELP modify MTCWheelStudy

I need Help.
I want to map the buttons up, down, left, right, but in the native application of my device does not appear.
I unpacked the app and the MTCWheelStudy \ res \ drawable-nodpi-v4 folder contains icons the up, down, left right and other icons.
I decompiled the MTCWheelStudy.odex file and noticed that the util.smali file had the key codes. But I was missing the ones. Could anyone help me edit the util.smali file?
I know how to decompile and recompile the apk and odex, but I don't know how to add the commands.

Categories

Resources