[HOW-TO][MOD][JB] Transparent Statusbar & NavBar [upd:10.05.2013]

Search This thread

Spaun_Studio

Senior Member
Nov 21, 2011
70
585
So..My friends asked me to write a manual how to make a transparent virtual buttons and status bar on JB. Ready? :angel:

Screenshots from my Sola JB :)eek:):
attachment.php
attachment.php

1. Decompile android.policy.jar and open android.policy\smali\com\android\internal\policy\impl\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;->[color="blue"]top:I[/color]

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

    iput v0, p1, Landroid/graphics/Rect;->[color="blue"]right:I[/color]

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

    iput v0, p1, Landroid/graphics/Rect;->[color="blue"]bottom:I[/color]

    [color="red"] .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[/color]
    [COLOR="SeaGreen"][B]const/4 v0, 0x0

    return v0[/B][/COLOR]
.end method
Compile android.policy.jar

2. Decompile SystemUI.apk and...
Open \SystemUI\res\values\drawables.xml
Code:
<item type="drawable" name="status_bar_background">#[B]5a[/B]000000</item>
5A - Transparency.

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

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

 const v4, 0x4800068

[B][COLOR="Green"] const/4 v5, -0x3[/COLOR][/B]

 move v2, v1

[COLOR="Red"] move v5, v1[/COLOR]

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

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

 iput v13, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->[COLOR="Blue"]mPixelFormat:I[/COLOR]
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="#[B]5A[/B]000000"
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.


Bugs:​
- Transparency navibar only on the desktop \ status bar everywhere
- Works on stock launcher \ Apex, but the others were not checked​
Do not say thanks, press thanks:angel:
 

Attachments

  • Screenshot_2013-05-03-14-41-47.jpg
    Screenshot_2013-05-03-14-41-47.jpg
    29.2 KB · Views: 163,841
  • Screenshot_2013-05-03-14-42-06.jpg
    Screenshot_2013-05-03-14-42-06.jpg
    53.3 KB · Views: 165,136
Last edited:

Spaun_Studio

Senior Member
Nov 21, 2011
70
585

Attachments

  • JB_transparent.zip
    1 MB · Views: 2,667

Leo

Senior Member
Dec 18, 2012
551
188
32
u should've mentioned that it's only for deodexed system :good:
 

fcb13

Senior Member
Nov 10, 2010
623
107
What value would you use to achieve around 10-20% transparency?
 

jason57

Member
Nov 1, 2010
47
10
so sad.:crying:
Im just a player ,not a dev.
I try my best to search how to decompile ,but I fail.
Help me ,please!
 

Spaun_Studio

Senior Member
Nov 21, 2011
70
585
will dis mod enable navigation bar on phones dat doesnt have it before?
No, it is included in the framework. Therefore, if before that it was not, and never will.
Dear Spaun, here is my Lt29i system file, please make a transparent status bar for me? Thank alot :fingers-crossed:
Can not download. On the other file storage, please.
Please make it for me
Xperia V LT25i_4.1.2_9.1.A.1.140
Wait, now let me do.
help please..... i get smali error when recompiling!!!!
please dis is my decompiled SystemUI.apk in zip archieve, just unzip!!!!
.
I made all the changes and compiled.
 

Attachments

  • SystemUI.zip
    3.2 MB · Views: 133

Top Liked Posts

  • There are no posts matching your filters.
  • 112
    So..My friends asked me to write a manual how to make a transparent virtual buttons and status bar on JB. Ready? :angel:

    Screenshots from my Sola JB :)eek:):
    attachment.php
    attachment.php

    1. Decompile android.policy.jar and open android.policy\smali\com\android\internal\policy\impl\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;->[color="blue"]top:I[/color]
    
        .line 2553
        iget v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mSystemRight:I
    
        iput v0, p1, Landroid/graphics/Rect;->[color="blue"]right:I[/color]
    
       .line 2554
        iget v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mSystemBottom:I
    
        iput v0, p1, Landroid/graphics/Rect;->[color="blue"]bottom:I[/color]
    
        [color="red"] .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[/color]
        [COLOR="SeaGreen"][B]const/4 v0, 0x0
    
        return v0[/B][/COLOR]
    .end method
    Compile android.policy.jar

    2. Decompile SystemUI.apk and...
    Open \SystemUI\res\values\drawables.xml
    Code:
    <item type="drawable" name="status_bar_background">#[B]5a[/B]000000</item>
    5A - Transparency.

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

    3. Open SystemUI\smali\com\android\systemui\statusbar\phone\PhoneStatusBar.smali and find "IIIII", near the code should be.
    Green- Add, Red- Remove:
    Code:
    const/16 v3, 0x7e3
    
     const v4, 0x4800068
    
    [B][COLOR="Green"] const/4 v5, -0x3[/COLOR][/B]
    
     move v2, v1
    
    [COLOR="Red"] move v5, v1[/COLOR]
    
     invoke-direct/range {v0 .. v5}, Landroid/view/WindowManager$LayoutParams;-><init>([COLOR="Blue"]IIIII[/COLOR])V

    Find "showNav" (second result in Notepad++) or "mPixelFormat:I", this code. Green- Add:
    Code:
    .line 417
     .end local v3 #[COLOR="Blue"]showNav[/COLOR]:Z
     :cond_1
     :goto_2
    [COLOR="Green"] const/4 v5, -0x3[/COLOR] [B][I](or [COLOR="Green"]const/4 v9, -0x3[/COLOR] for Z)[/I][/B]
    
     iput v13, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->[COLOR="Blue"]mPixelFormat:I[/COLOR]
    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="#[B]5A[/B]000000"
    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.


    Bugs:​
    - Transparency navibar only on the desktop \ status bar everywhere
    - Works on stock launcher \ Apex, but the others were not checked​
    Do not say thanks, press thanks:angel:
    23
    Download and Test
    Backup and install via Recovery​

    knnam, Xperia V LT25i_4.1.2_9.1.A.1.140 (Deodex)

    Do not say thanks, press thanks:angel:
    7
    What value would you use to achieve around 10-20% transparency?

    Use this:
    attachment.php


    2,55 х (100-20%)=204
    Find 204 in image= CC
    This 20% transparency:angel:
    6
    How make it completly transparent?
    5A=>00

    Can you just post modded android.policy.jar and systemui.apk? I'm having troubles with decompiling :(

    I'm not sure that these files from my smartphone you fit. (Sola)
    But ...
    Archive for CWM. Do not forget to backup! :)
    3
    (LT30P) Xperia T

    (LT30P) Xperia T & XperimenT 2.5 Rom

    For the beginning I tried to do it myself and this is Result.


    2%20(1).png


    2%20(2).png


    2%20(3).png



    :laugh: Amazing

    1.Download this >> http://xdaforums.com/showpost.php?p=41027597&postcount=22 and install via Recovery.

    2.Enjoy

    :fingers-crossed: I wish you luck.

    Thank you for all