PREMESSA:
C'é già una guida, ma l'ho provata e non funzionava
[MOD][4.2.2 JB .423/.244 DEODEX] 4 Button Navigation Bar: Back-Home-Recent-Menu - xda-developers
Quindi ho dovuto fare delle modifiche per farla funzionare.
Aprire
SystemUI\smali\com\android\systemui\statusbar\phon e\
NavigationBarView.smali
Cercare
codice:
.method public setDisabledFlags(IZ)V
- .locals 13
Cambiare con
codice:
.method public setDisabledFlags(IZ)V
+ .locals 14
Cercare e aggiungere al di sotto
codice:
.line 379
invoke-virtual {p0}, Lcom/android/systemui/statusbar/phone/NavigationBarView;->getHomeButton()Landroid/view/View;
move-result-object v12
+ invoke-virtual {p0}, Lcom/android/systemui/statusbar/phone/NavigationBarView;->getMenuButton()Landroid/view/View;
+ move-result-object v13
Cercare e aggiungere al di sotto
codice:
:goto_7
invoke-virtual {v12, v8}, Landroid/view/View;->setVisibility(I)V
+ invoke-virtual {v13, v8}, Landroid/view/View;->setVisibility(I)V
Cercare
codice:
.line 387
iget-object v8, p0, Lcom/android/systemui/statusbar/phone/NavigationBarView;->mBarTransitions:Lcom/android/systemui/statusbar/phone/NavigationBarTransitions;
iget-object v10, p0, Lcom/android/systemui/statusbar/phone/NavigationBarView;->mBarTransitions:Lcom/android/systemui/statusbar/phone/NavigationBarTransitions;
- invoke-virtual {v10}, Lcom/android/systemui/statusbar/phone/BarTransitions;->getMode()I
Sostituire con:
codice:
.line 387
iget-object v8, p0, Lcom/android/systemui/statusbar/phone/NavigationBarView;->mBarTransitions:Lcom/android/systemui/statusbar/phone/NavigationBarTransitions;
iget-object v10, p0, Lcom/android/systemui/statusbar/phone/NavigationBarView;->mBarTransitions:Lcom/android/systemui/statusbar/phone/NavigationBarTransitions;
+ invoke-virtual {v10}, Lcom/android/systemui/statusbar/phone/NavigationBarTransitions;->getMode()I
Cercare
codice:
.prologue
.line 305
- iget-object v0, p0, Landroid/view/View;->mContext:Landroid/content/Context;
Sostituire con:
codice:
.prologue
.line 305
+ iget-object v0, p0, Lcom/android/systemui/statusbar/phone/NavigationBarView;->mContext:Landroid/content/Context;
Cercare
codice:
.line 307
- invoke-super {p0, p1}, Landroid/view/View;->setLayoutDirection(I)V
Sostituire con:
codice:
.line 307
+ invoke-super {p0, p1}, Landroid/widget/LinearLayout;->setLayoutDirection(I)V
Cercare e cancellare la parte evidenziata in rossa:
codice:
.method public setMenuVisibility(Z)V
.locals 1
.parameter "show"
- .prologue
- .line 431
- const/4 v0, 0x0
-
- invoke-virtual {p0, p1, v0}, Lcom/android/systemui/statusbar/phone/NavigationBarView;->setMenuVisibility(ZZ)V
-
- .line 432
return-void
.end method
DEVE ESSERE COSI
codice:
.method public setMenuVisibility(Z)V
.locals 1
.parameter "show"
return-void
.end method
Uguale a sopra:
codice:
.method public setMenuVisibility(ZZ)V
.locals 2
.parameter "show"
.parameter "force"
- .prologue
- .line 435
- if-nez p2, :cond_0
-
- iget-boolean v0, p0, Lcom/android/systemui/statusbar/phone/NavigationBarView;->mShowMenu:Z
-
- if-ne v0, p1, :cond_0
-
- .line 440
- :goto_0
return-void
-
- .line 437
- :cond_0
- iput-boolean p1, p0, Lcom/android/systemui/statusbar/phone/NavigationBarView;->mShowMenu:Z
-
- .line 439
- invoke-virtual {p0}, Lcom/android/systemui/statusbar/phone/NavigationBarView;->getMenuButton()Landroid/view/View;
-
- move-result-object v1
-
- iget-boolean v0, p0, Lcom/android/systemui/statusbar/phone/NavigationBarView;->mShowMenu:Z
-
- if-eqz v0, :cond_1
-
- const/4 v0, 0x0
-
- :goto_1
- invoke-virtual {v1, v0}, Landroid/view/View;->setVisibility(I)V
-
- goto :goto_0
-
- :cond_1
- const/4 v0, 0x4
-
- goto :goto_1
.end method
DEVE ESSERE COSI
codice:
.method public setMenuVisibility(ZZ)V
.locals 2
.parameter "show"
.parameter "force"
return-void
.end method
Cercare
codice:
.line 415
- invoke-virtual {p0}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
Sostituire con:
codice:
.line 415
+ invoke-virtual {p0}, Lcom/android/systemui/statusbar/phone/NavigationBarView;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
Aprire
SystemUI/res/layout/
navigation_bar.xml
Rimuovere
android:visibility="invisible"
da
codice:
<com.android.systemui.statusbar.policy.KeyButtonView android:id="@id/menu" android:visibility="invisible" android:layout_width="@dimen/navigation_menu_key_width" android:layout_height="fill_parent" android:src="@drawable/ic_sysbar_menu" android:layout_weight="0.0" android:contentDescription="@string/accessibility_menu" systemui:keyCode="82" systemui:glowBackground="@drawable/ic_sysbar_highlight" />
Forza @CriGio!