So..My friends asked me to write a manual how to make a transparent virtual buttons and status bar on JB. Ready?

Screenshots from my Sola JB ():

 

1. Decompile android.policy.jar and open android.policy\smali\com\android\internal\policy\i mpl\PhoneWindowManager.smali

Blue- and to find through search
Red - Remove
Green- Add
 
Code:
 .line 2552
    iget v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mSystemTop:I

    iput v0, p1, Landroid/graphics/Rect;->top:I

    .line 2553
    iget v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mSystemRight:I

    iput v0, p1, Landroid/graphics/Rect;->right:I

   .line 2554
    iget v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mSystemBottom:I

    iput v0, p1, Landroid/graphics/Rect;->bottom:I

     .line 2555
    iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mStatusBar:Landroid/view/WindowManagerPolicy$WindowState;

    if-eqz v0, :cond_0

    iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mStatusBar:Landroid/view/WindowManagerPolicy$WindowState;

    invoke-interface {v0}, Landroid/view/WindowManagerPolicy$WindowState;->getSurfaceLayer()I

    move-result v0

    .line 2557
    :goto_0
    return v0

    .line 2556
    :cond_0
    iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mNavigationBar:Landroid/view/WindowManagerPolicy$WindowState;

    if-eqz v0, :cond_1

    iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mNavigationBar:Landroid/view/WindowManagerPolicy$WindowState;

    invoke-interface {v0}, Landroid/view/WindowManagerPolicy$WindowState;->getSurfaceLayer()I

    move-result v0

    goto :goto_0

    .line 2557
    :cond_1
    const/4 v0, 0x0

    goto :goto_0
    const/4 v0, 0x0

    return v0
.end method

Compile android.policy.jar

2. Decompile SystemUI.apk and...
Open \SystemUI\res\values\drawables.xml
 

5A - Transparency.

Open \SystemUI\res\layout\navigation_bar.xml and correct the same
 
Code:
<item type="drawable" name="status_bar_background">#5a000000</item>


3. Open SystemUI\smali\com\android\systemui\statusbar\phon e\PhoneStatusBar.smali and find "IIIII", near the code should be.
Green- Add, Red- Remove:
 
Code:
const/16 v3, 0x7e3

 const v4, 0x4800068

 const/4 v5, -0x3

 move v2, v1

 move v5, v1

 invoke-direct/range {v0 .. v5}, Landroid/view/WindowManager$LayoutParams;-><init>(IIIII)V


Find "showNav" (second result in Notepad++) or "mPixelFormat:I", this code. Green- Add:
 
Code:
.line 417
 .end local v3 #showNav:Z
 :cond_1
 :goto_2
 const/4 v5, -0x3 (or const/4 v9, -0x3 for Z)

 iput v13, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mPixelFormat:I

Compile SystemUI.apk.

upd: 10.05.2013

For the transparency of the open status bar (where the switches and notification)
Step 1:
 
Open PhoneStatusBar.smali (from SystemUI.apk) and find "PhoneStatusBar$FastColorDrawable". Immediately after that string is different, with "setBackground". Remove it. This line can appear twice.


Step 2:
 
We will adjust the transparency in the folder SystemUI\res\layout.Open-head status bar- status_bar_expanded_header.xml
Code:
android:background="@drawable/notification_header_bg"
change to
Code:
android:background="#5A000000"
It is found in the file twice. Do everywhere.

The file status_bar_expanded.xml do by analogy, replace the reference to the background image on the color code. In this file, the background transparency notifications.