[Defy Themes and Apps] krd_medico:
It is expected that those following this guide should have prior knowledge of

1)How to use adb and/or terminal emulator to edit system files.

2)How to fix permissions using root explorer.

3)What to do if system process crashes or the phone hangs after replacing system files- pull battery and power on.

4)If you are an advanced user you can also first modify the systemui.apk first.Replace it in the cm7_update.zip file.Sign the new zip file so generated and install it.Then no need to go through many of the following steps

This is by far the simplest method to get a transparent notification bar. Some parts of this thread have been taken from the following source:http://www.lazytrap.com/?tag=systemui-apk

What you would think is simple though, isn’t quite. You would THINK that just updating the PNG files would be enough. It’s not. I tried it a million times while trying all those other bad ideas. After the PNG files are modified, you also need to edit the file, classes.dex, which is in the root of SystemUI.apk. Turns out, .dex is yet another format only native to the Android platform. You can decompile and recompile them using smali/baksmali. Once you have decompiled the .dex file, you’ll be left with a bunch of files. For transparency on the statusbar to work, we need to edit two entries in StatusBarService.smali. After the 2 entries are changed, we save the file then recompile classes.dex, update the SystemUI.apk, then put it on our android device. That’s it. So while it’s not as simple as just editing the PNG files and updating the SystemUI.apk archive, it’s still a hell of a lot simpler than all these forum posts lead on. Actual instructions below.

Instructions:

•	Copy /system/app/SystemUI.apk to your sdcard and then to your computer where you can edit it(use root explorer or adb to pull it to your computer)

•	Install 7-Zip if you do not already have it. 7-Zip can browse into .apk files and let you update them easily.

•	Open SystemUI.apk in 7-Zip, do not extract it, just open it.

•	Browse to the folder res/drawable-hdpi/, then find all the png files that start with “status_bar” & "statusbar_background.9". Drag them into a folder on your desktop.

•	Open the PNG files in Paint.Net, Gimp, Photoshop, or whatever your favorite editor is capable of png transparency.

•	Delete the background. It’s now transparent. If you want semi-transparency, do that instead.

•	Select all of your modified PNG files and drag them back into same spot you got them from in the SystemUI.apk file

•	Press Backspace a couple times in 7-Zip to go back up to the root folder in the .apk, you should see classes.dex sitting there.

•	Drag classes.dex out to a folder

•	Download smali and baksmali from here: http://code.google.com/p/smali/downloads/list, put them in the same dir you put classes.dex

•	Open a CMD prompt and change to that directory

•	Type the following (replace 1.2.6 with whatever version it was you dl’d):

•	java -jar baksmali-1.2.6.jar -o classout/ classes.dex

•	Back in the folder, go into the new classout directory that was created.

•	Find the file named StatusBarService.smali, open it in a text editor.use notepad or notepad++(easier)

•	Search for .line 1519, the line just under it should read: const/4 v5, -0×3. If it does not, but instead reads const/4 v5, 0×1 or const/4 v5, 0×2, change it.

•	Search for invoke-direct/range {v0 .. v5}, Landroid/view/WindowManager$LayoutParams;-><init>(IIIII)V; a line above you should see const/4 v5, 0×2. Change it to const/4 v5, -0×3 also.

•	Save the file and exit.

•	Go back to your CMD prompt and enter this command (this recompiles the .dex file with your changes):

•	java -jar smali-1.2.6.jar classout -o classes.dex

•	Add classes.dex back to where you got it from in SystemUI.apk.

•	Take your updated SystemUI.apk file and place it on your SD card. If you took it out, put the SD card back in your Android device. (instead of using a SD card you could use something else to move the files around, like dropbox).

•	Open up Terminal on your Android device, change to the directory you put the update SystemUI.apk file. ex: cd /sdcard/myupdate/

•	Type the following commands:

•	mount -o remount,rw /system/

•	cp -f SystemUI.apk /system/app

The above command probably just crashed Launcher. Press Force Close . Now, go to root explorer and fix permission for systemui.apk to rw-r--r-- and Reboot your device.

After making the update, make sure to turn off Wallpaper Hack. It’s under Settings->ADW Launcher->System Preferences->Wallpaper Hack – Not doing so will result in the transparency only working with Live Wallpapers and not others

That’s it. You should now have a transparent status bar.

Now, you can use only such themes that come with a transparent notification bar or glass effect as well as the 3 default themes included with cm7 theme chooser. But you won’t be able to use other themes i.e. they will continue to show a black notification bar and not a transparent one

WORKAROUND: But we can get transparent notification bar with ANY theme. Here’s how:

1)download the theme’s apk to your computer

2)open it with 7zip as an archive (Don’t extract it)

3)Go to res/drawable-hdpi and drag the following files to any folder:

com_android_systemui_statusbar_background.9.png; com_android_systemui_status_bar_background.9.png; com_android_systemui_status_bar_close_on.9.png

4) Open the PNG files in Paint.Net, Gimp, Photoshop, or whatever your favorite editor is capable of png transparency.

•	Delete the background. It’s now transparent. If you want semi-transparency, do that instead.

Select all of your modified PNG files and drag them back into same spot you got them from in the Theme.apk file in 7zip and close 7zip

5)This will give you your new apk for the theme with a transparent statusbar .But you will need to sign it to be able to use it

6)use drag2sign_apk to sign your new apk file.

7)Transfer it to your phone and install apk using any file explorer. (If you did not sign the new apk then installation will FAIL)

8) Go to theme chooser and apply your New theme. That’s it you will now have a Transparent notification bar

This method can be used to get a transparent notification bar with ANY theme

Here I'm attaching the SystemUI.apk of cm7_rc1.5 which I'm currently using with transparent statusbar.I recommend using adb to push it.

In command prompt first change directory to the one containing the patched SystemUI.apk

Use this command: adb remount (to allow editing the system files)

next command: adb push SystemUI.apk /system/app/SystemUI.apk

Then fix permission using root explorer.

Reboot.

Don't forget to uncheck wallpaper hack in ADW settings

THOSE WHO FIND THIS THREAD USEFUL DON'T FORGET TO HIT THANKS

I had to update my system and hence had to create a new systemui.apk. This one is of cm-7.1.0-11 stable release. Here I'm uploading it for your convenience