[Android Themes] Adi Aisiteru Reborn:
MOD/DEV/SMALI TRANSPARENT NAVBAR

Hello guys :D, I want to share how to modded your navbar to have transparent background

Credit & Thanks to : Senior Member legend evilisto

ok lets go to Guide:

first of all need some requirement for this MOD-GUIDE

REQUIREMENT:

- BRAIN

- Patient

- experience

- Know how to decompile/recompiling Apk file

- Know how to decompile/recompiling jar Apk file

- notepad++

- Tool for decompiling, : apkmanager/apktool/Virtous/apkmultitools/ or else

How to enable Navbar

go here : http://xdaforums.com/showthread.php?t=1364757

GUIDE NOW FIXED !!

It also work to, CM10 / CM10.1/ JB 4.1.1/ JB 4.1.2 / JB 4.2.1/JB 4.2.2/ JB 4.3

CREDIT & THANKS TO :

- Senior Member [MENTION=3233976]evilisto[/MENTION]

- Recognized themer [MENTION=4613083]rodman01[/MENTION]

- [MENTION=5355877]mulbyungjahri[/MENTION]

- [MENTION=4987653]BOND1987[/MENTION]

1. DECOMPILE android.policy.jar

\com\android\internal\policy\impl\ PhoneWindowManager.smali

find this method :

.method public getSystemDecorRectLw(Landroid/graphics/Rect;)I

DELETE the RED CODE

AND REPLACE it with the BLUE CODE

.method public getSystemDecorRectLw(Landroid/graphics/Rect;)I
.registers 3
.parameter "systemRect"

.prologue
.line 3057
iget v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mSystemLeft:I

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

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

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

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

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

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

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

.line 3061
[COLOR="Red"]iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mStatusBar:Landroid/view/WindowManagerPolicy$WindowState;

if-eqz v0, :cond_1b

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 3063
:goto_1a
return v0

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

if-eqz v0, :cond_26

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_1a

.line 3063
:cond_26
const/4 v0, 0x0

goto :goto_1a
.end method[/COLOR]

and replace with this BLUE CODE

[COLOR="Blue"]const/4 v0, 0x0

return v0
.end method[/COLOR]

DONE & COMPILE

android.policy.jar code is the same like in my Transparent status bar guide : http://xdaforums.com/showpost.php?p=40278450&postcount=2

2. DECOMPILE SystemUI.apk

go to :

com/android/systemui/statusbar/phone/PhoneStatusBar.smali

Delete the RED CODE

and Add the BLUE CODE

- find this method :

.method private getNavigationBarLayoutParams()Landroid/view/WindowManager$LayoutParams;
.locals 6

.prologue
const/4 v1, -0x1

.line 943
new-instance v0, Landroid/view/WindowManager$LayoutParams;

const/16 v3, 0x7e3

const v4, 0x840068

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

move v2, v1

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

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

.line 954
invoke-static {}, Landroid/app/ActivityManager;->isHighEndGfx()Z

move-result v1

if-eqz v1, :cond_0

.line 955
iget v1, v0, Landroid/view/WindowManager$LayoutParams;->flags:I

const/high16 v2, 0x100

or-int/2addr v1, v2

iput v1, v0, Landroid/view/WindowManager$LayoutParams;->flags:I

.line 958
:cond_0
const-string v1, "NavigationBar"

invoke-virtual {v0, v1}, Landroid/view/WindowManager$LayoutParams;->setTitle(Ljava/lang/CharSequence;)V

.line 959
const/4 v1, 0x0

iput v1, v0, Landroid/view/WindowManager$LayoutParams;->windowAnimations:I

.line 960
return-object v0
.end method

- NEXT :

Edit the BLUE CODE

go to :

SystemUI.apk\res\layout\navigation_bar.xml

<com.android.systemui.statusbar.phone.NavigationBarView [COLOR="Blue"]android:background="#88000000"[/COLOR] android:layout_width="fill_parent" android:layout_height="fill_parent"

SystemUI.apk\res\layout-sw600dp\navigation_bar.xml

<com.android.systemui.statusbar.phone.NavigationBarView [COLOR="Blue"]android:background="#88000000"[/COLOR] android:layout_width="fill_parent" android:layout_height="fill_parent"

SystemUI.apk\res\values\drawables.xml

<item type="drawable" name="system_bar_background">[COLOR="Blue"]#88000000[/COLOR]</item>
<item type="drawable" name="notification_icon_area_smoke">[COLOR="Blue"]#88000000[/COLOR]</item>

DONE AND COMPILE

THIS MOD NOW ONLY WORKING FINE WITH APEX LAUNCHER AND NOVA LAUNCHER., NOT TESTED YET ON OTHER LAUNCHER

THAT'S IT AND ENJOY :good::laugh: