Merge "Clean up navbar for autohide" into rvc-dev
This commit is contained in:
@@ -165,6 +165,7 @@ public class NavigationBarController implements Callbacks {
|
|||||||
private void removeNavigationBar(int displayId) {
|
private void removeNavigationBar(int displayId) {
|
||||||
NavigationBarFragment navBar = mNavigationBars.get(displayId);
|
NavigationBarFragment navBar = mNavigationBars.get(displayId);
|
||||||
if (navBar != null) {
|
if (navBar != null) {
|
||||||
|
navBar.setAutoHideController(/* autoHideController */ null);
|
||||||
View navigationWindow = navBar.getView().getRootView();
|
View navigationWindow = navBar.getView().getRootView();
|
||||||
WindowManagerGlobal.getInstance()
|
WindowManagerGlobal.getInstance()
|
||||||
.removeView(navigationWindow, true /* immediate */);
|
.removeView(navigationWindow, true /* immediate */);
|
||||||
|
|||||||
@@ -205,6 +205,28 @@ public class NavigationBarFragment extends LifecycleFragment implements Callback
|
|||||||
|
|
||||||
private final Handler mHandler;
|
private final Handler mHandler;
|
||||||
|
|
||||||
|
private final AutoHideUiElement mAutoHideUiElement = new AutoHideUiElement() {
|
||||||
|
@Override
|
||||||
|
public void synchronizeState() {
|
||||||
|
checkNavBarModes();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean shouldHideOnTouch() {
|
||||||
|
return !mNotificationRemoteInputManager.getController().isRemoteInputActive();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isVisible() {
|
||||||
|
return isTransientShown();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void hide() {
|
||||||
|
clearTransient();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
private final OverviewProxyListener mOverviewProxyListener = new OverviewProxyListener() {
|
private final OverviewProxyListener mOverviewProxyListener = new OverviewProxyListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onConnectionChanged(boolean isConnected) {
|
public void onConnectionChanged(boolean isConnected) {
|
||||||
@@ -1052,28 +1074,13 @@ public class NavigationBarFragment extends LifecycleFragment implements Callback
|
|||||||
|
|
||||||
/** Sets {@link AutoHideController} to the navigation bar. */
|
/** Sets {@link AutoHideController} to the navigation bar. */
|
||||||
public void setAutoHideController(AutoHideController autoHideController) {
|
public void setAutoHideController(AutoHideController autoHideController) {
|
||||||
|
if (mAutoHideController != null) {
|
||||||
|
mAutoHideController.removeAutoHideUiElement(mAutoHideUiElement);
|
||||||
|
}
|
||||||
mAutoHideController = autoHideController;
|
mAutoHideController = autoHideController;
|
||||||
mAutoHideController.addAutoHideUiElement(new AutoHideUiElement() {
|
if (mAutoHideController != null) {
|
||||||
@Override
|
mAutoHideController.addAutoHideUiElement(mAutoHideUiElement);
|
||||||
public void synchronizeState() {
|
|
||||||
checkNavBarModes();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean shouldHideOnTouch() {
|
|
||||||
return !mNotificationRemoteInputManager.getController().isRemoteInputActive();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isVisible() {
|
|
||||||
return isTransientShown();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void hide() {
|
|
||||||
clearTransient();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean isTransientShown() {
|
private boolean isTransientShown() {
|
||||||
|
|||||||
Reference in New Issue
Block a user