frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java
boolean mBarIsAdd = true ;
public void addBarInside ( ) {
Log. e ( TAG, "StatusBar:addBar" + mBarIsAdd) ;
if ( ! mBarIsAdd) {
Log. d ( TAG, "add Bar" ) ;
Settings. System. putInt ( mContext. getContentResolver ( ) , Settings. System. HIDE_NAVIGATION, 1 ) ;
try {
boolean showNav = mWindowManagerService. hasNavigationBar ( ) ;
if ( DEBUG) Log. v ( TAG, "hasNavigationBar=" + showNav) ;
if ( showNav) {
createNavigationBar ( ) ;
}
} catch ( RemoteException ex) {
}
mBarIsAdd = true ;
}
}
private void removeBar ( ) {
if ( mBarIsAdd) {
Log. d ( TAG, "remove Bar" ) ;
if ( mNavigationBarView != null) {
mWindowManager. removeViewImmediate ( mNavigationBarView) ;
} ;
if ( mNavigationBarView != null) {
mNavigationBarView = null;
}
mBarIsAdd = false ;
Settings. System. putInt ( mContext. getContentResolver ( ) , Settings. System. HIDE_NAVIGATION, 0 ) ;
}
}
frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java
boolean mNavigationBarCanMove = false ;
+ boolean mHideStatusBar = false ;
@NavigationBarPosition
int mNavigationBarPosition = NAV_BAR_BOTTOM;
int [ ] mNavigationBarHeightForRotationDefault = new in