MOD/DEV/SMALI TRANSPARENT NAVBAR FOR CM10.1 ONLY !!
Hello guys :D, I want to share how to modded your navbar to have transparent background, but only for Devices running CyanogenMod 10.1 ;)
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
Hello guys :D, I want to share how to modded your navbar to have transparent background, but only for Devices running CyanogenMod 10.1 ;)
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://forum.xda-developers.com/show....php?t=1364757
1. DECOMPILE android.policy.jar
com\android\internal\policy\impl \ PhoneWindowManager.smali
find this method :
Code:
.method public getSystemDecorRectLw(Landroid/graphics/Rect;)I
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
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
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 3063
const/4 v0, 0x0
return v0
.end method
DONE AND COMPILE
android.policy.jar code is the same like in my Transparent status bar guide : http://forum.xda-developers.com/show...50&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 :
Code:
.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
const/4 v5, -0x3
move v2, v1
move v5, v1
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
Code:
<com.android.systemui.statusbar.phone.NavigationBarView android:background="#88000000" android:layout_width="fill_parent" android:layout_height="fill_parent"
Code:
<com.android.systemui.statusbar.phone.NavigationBarView android:background="#88000000" android:layout_width="fill_parent" android:layout_height="fill_parent"
Code:
<item type="drawable" name="system_bar_background">#88000000</item>
<item type="drawable" name="notification_icon_area_smoke">#88000000</item>
3. DECOMPILE Trebuchet.apk
- Download attached file, Source for Trebuchet , extract it and merge to your decompiled Trebuchet.apk
DONE AND COMPILE
NOTES !!
- REMOVE/ UNINSTALL ANY OTHER LAUNCHER, LEAVE ONLY TREBUCHET LAUNCHER.
- PUSH THE MODDED TREBUCHET LAUNCHER
- DONE REBOOT, GO TO SYSTEM SETTINGS - MANAGE APPS - FIND TREBUCHET LAUNCHER AND DO CLEAR DATA
- DO NOT EDIT OR DO NOT CHECK LIST ANY OPTIONS OF TREBUCHET IN SETTINGS - LAUNCHER, YOU MUST KEEP IT IN STOK/DEFAULT LAUNCHER CONFIGURATION, IF NOT THE NAVBAR WILL NOT TRANSPARENT ANYMORE
- AND THIS MOD WILL ONLY WORK WITH THE MODDED TREBUCHET LAUNCHER
THAT'S IT AND ENJOY :good::laugh: