1. decompile android.policy.jar \ com \ android \ internal \ policy \ impl \ PhoneWindowManager.smali
Are looking for
.method public getSystemDecorRectLw (Landroid / graphics / Rect;) I
under this code highlighted in red
.method public getSystemDecorRectLw (Landroid / graphics / Rect;) I
.locals 1
.parameter "systemRect"
.prologue
.line 2755
iget v0, p0, Lcom / android / internal / policy / impl / PhoneWindowManager; ->mSystemLeft: I
iput v0, p1, Landroid / graphics / Rect; ->left: I
.line 2756
iget v0, p0, Lcom / android / internal / policy / impl / PhoneWindowManager; ->mSystemTop: I
iput v0, p1, Landroid / graphics / Rect; ->top: I
.line 2757
iget v0, p0, Lcom / android / internal / policy / impl / PhoneWindowManager; ->mSystemRight: I
iput v0, p1, Landroid / graphics / Rect; ->right: I
.line 2758
iget v0, p0, Lcom / android / internal / policy / impl / PhoneWindowManager; ->mSystemBottom: I
iput v0, p1, Landroid / graphics / Rect; ->bottom: I
.line 2759
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 2761
: goto_0
return v0
.line 2760
: 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 2761
: cond_1
const / 4 v0, 0x0
goto: goto_0
.end method
replace with
const / 4 v0, 0x0
return v0
.end method
We collect, with the file still
PS From me: I already was.
2. decompile SystemUI.apk \ com \ android \ systemui \ statusbar \ phone \ PhoneStatusBar.smali
Are looking for
.method private getNavigationBarLayoutParams () Landroid / view / WindowManager $ LayoutParams;
Below: the red that is removed, the fact that the blue paste
.method private getNavigationBarLayoutParams () Landroid / view / WindowManager $ LayoutParams;
.locals 6
.prologue
const / 4 v1, -0x1
.line 792
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 803
invoke-static {}, Landroid / app / ActivityManager; ->isHighEndGfx () Z
move-result v1
if-eqz v1,: cond_0
.line 804
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 807
: cond_0
const-string v1, "NavigationBar"
invoke-virtual {v0, v1}, Landroid / view / WindowManager $ LayoutParams; ->setTitle (Ljava / lang / CharSequence;) V
.line 808
const / 4 v1,0x0
iput v1, v0, Landroid / view / WindowManager $ LayoutParams; ->windowAnimations: I
.line 809
return object v0
.end method
Next, edit and bekgraund statusbara navibara (something can and one)
For navibara:
SystemUI.apk \ res \ layout \ navigation_bar.xml
SystemUI.apk \ res \ layout-sw600dp \ navigation_bar.xml
Instead
android: background = "# 88000000"
change to
android: background = "@ drawable / nav_bar_background"
For statusbara:
SystemUI.apk \ res \ values ​​\ drawables.xml
remove the string
<item type = "drawable" name = "status_bar_background">#88000000</ item>
Next SystemUI.apk \ res \ layout \ status_bar.xml
the string
android: background = "# FF000000"
produces:
android: background = "@ drawable / status_bar_background"
Now do yourself a gradient (where you yourself can change the transparency of the first two digits and we have 000000 and black color)
startCOLOR = BOTTOM (bottom)
endCOLOR = TOP (top)
Create a new xml-files for the path SystemUI \ res \ drawable
For stausbara named status_bar_background.xml and content:
<? xml version = "1.0" encoding = "utf-8"?>
<shape
xmlns: android = "http://schemas.android.com/apk/res/android">
<gradient android: startColor = "# 00000000" android: endColor = "# 99000000" android: angle = "@ integer / status_bar_bg_gradient_degrees" name = "status_bar_background" />
</ shape>
For navibara named nav_bar_background.xml and content:
<? xml version = "1.0" encoding = "utf-8"?>
<shape
xmlns: android = "http://schemas.android.com/apk/res/android">
<gradient android: startColor = "# cc000000" android: endColor = "# 00000000" android: angle = "@ integer / nav_bar_bg_gradient_degrees" name = "nav_bar_background" />
</ shape>
Add the path SystemUI.apk \ res \ values ​​\ integers and strings for navbara or statusbara
<integer name = "nav_bar_bg_gradient_degrees">90</ integer>
<integer name = "status_bar_bg_gradient_degrees">90</ integer>
And the last point in the notes and hints:
For statusbara:
Content SystemUI \ res \ drawable \ status_bar_recents_background change on
<? xml version = "1.0" encoding = "utf-8"?>
<shape
xmlns: android = "http://schemas.android.com/apk/res/android">
<gradient android: startColor = "# 0d000000" android: endColor = "# 00000000" android: angle = "@ integer / status_bar_recents_bg_gradient_degrees" name = "status_bar_recents_background" />
</ shape>
All you can collect: D