Loading packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBar.java +11 −4 Original line number Diff line number Diff line Loading @@ -164,8 +164,6 @@ import com.android.systemui.util.ViewController; import com.android.wm.shell.back.BackAnimation; import com.android.wm.shell.pip.Pip; import dagger.Lazy; import java.io.PrintWriter; import java.util.Locale; import java.util.Map; Loading @@ -175,6 +173,8 @@ import java.util.function.Consumer; import javax.inject.Inject; import dagger.Lazy; /** * Contains logic for a navigation bar view. */ Loading Loading @@ -251,6 +251,12 @@ public class NavigationBar extends ViewController<NavigationBarView> implements private boolean mTransientShown; private boolean mTransientShownFromGestureOnSystemBar; /** * This is to indicate whether the navigation bar button is forced visible. This is true * when the setup wizard is on display. When that happens, the window frame should be provided * as insets size directly. */ private boolean mIsButtonForceVisible; private int mNavBarMode = NAV_BAR_MODE_3BUTTON; private LightBarController mLightBarController; private final LightBarController mMainLightBarController; Loading Loading @@ -664,7 +670,8 @@ public class NavigationBar extends ViewController<NavigationBarView> implements mView.setTouchHandler(mTouchHandler); setNavBarMode(mNavBarMode); mEdgeBackGestureHandler.setStateChangeCallback(mView::updateStates); mEdgeBackGestureHandler.setButtonForcedVisibleChangeCallback((forceVisible) -> { mEdgeBackGestureHandler.setButtonForceVisibleChangeCallback((forceVisible) -> { mIsButtonForceVisible = forceVisible; repositionNavigationBar(mCurrentRotation); }); mNavigationBarTransitions.addListener(this::onBarTransition); Loading Loading @@ -1703,7 +1710,7 @@ public class NavigationBar extends ViewController<NavigationBarView> implements private InsetsFrameProvider[] getInsetsFrameProvider(int insetsHeight, Context userContext) { final InsetsFrameProvider navBarProvider; if (insetsHeight != -1 && !mEdgeBackGestureHandler.isButtonForcedVisible()) { if (insetsHeight != -1 && !mIsButtonForceVisible) { navBarProvider = new InsetsFrameProvider( ITYPE_NAVIGATION_BAR, Insets.of(0, 0, 0, insetsHeight)); // Use window frame for IME. Loading packages/SystemUI/src/com/android/systemui/navigationbar/gestural/EdgeBackGestureHandler.java +9 −14 Original line number Diff line number Diff line Loading @@ -178,7 +178,7 @@ public class EdgeBackGestureHandler implements PluginListener<NavigationEdgeBack private final OverviewProxyService mOverviewProxyService; private final SysUiState mSysUiState; private Runnable mStateChangeCallback; private Consumer<Boolean> mButtonForcedVisibleCallback; private Consumer<Boolean> mButtonForceVisibleCallback; private final PluginManager mPluginManager; private final ProtoTracer mProtoTracer; Loading Loading @@ -246,7 +246,7 @@ public class EdgeBackGestureHandler implements PluginListener<NavigationEdgeBack private boolean mGestureBlockingActivityRunning; private boolean mIsNewBackAffordanceEnabled; private boolean mIsTrackpadGestureBackEnabled; private boolean mIsButtonForcedVisible; private boolean mIsButtonForceVisible; private InputMonitor mInputMonitor; private InputChannelCompat.InputEventReceiver mInputEventReceiver; Loading Loading @@ -413,8 +413,8 @@ public class EdgeBackGestureHandler implements PluginListener<NavigationEdgeBack mStateChangeCallback = callback; } public void setButtonForcedVisibleChangeCallback(Consumer<Boolean> callback) { mButtonForcedVisibleCallback = callback; public void setButtonForceVisibleChangeCallback(Consumer<Boolean> callback) { mButtonForceVisibleCallback = callback; } public int getEdgeWidthLeft() { Loading @@ -429,14 +429,13 @@ public class EdgeBackGestureHandler implements PluginListener<NavigationEdgeBack Resources res = mNavigationModeController.getCurrentUserContext().getResources(); mEdgeWidthLeft = mGestureNavigationSettingsObserver.getLeftSensitivity(res); mEdgeWidthRight = mGestureNavigationSettingsObserver.getRightSensitivity(res); final boolean previousForcedVisible = mIsButtonForcedVisible; mIsButtonForcedVisible = final boolean previousForceVisible = mIsButtonForceVisible; mIsButtonForceVisible = mGestureNavigationSettingsObserver.areNavigationButtonForcedVisible(); if (previousForcedVisible != mIsButtonForcedVisible && mButtonForcedVisibleCallback != null) { mButtonForcedVisibleCallback.accept(mIsButtonForcedVisible); if (previousForceVisible != mIsButtonForceVisible && mButtonForceVisibleCallback != null) { mButtonForceVisibleCallback.accept(mIsButtonForceVisible); } mIsBackGestureAllowed = !mIsButtonForcedVisible; mIsBackGestureAllowed = !mIsButtonForceVisible; final DisplayMetrics dm = res.getDisplayMetrics(); final float defaultGestureHeight = res.getDimension( Loading Loading @@ -636,10 +635,6 @@ public class EdgeBackGestureHandler implements PluginListener<NavigationEdgeBack return mIsEnabled && mIsBackGestureAllowed; } public boolean isButtonForcedVisible() { return mIsButtonForcedVisible; } /** * Update the PiP bounds, used for exclusion calculation. */ Loading Loading
packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBar.java +11 −4 Original line number Diff line number Diff line Loading @@ -164,8 +164,6 @@ import com.android.systemui.util.ViewController; import com.android.wm.shell.back.BackAnimation; import com.android.wm.shell.pip.Pip; import dagger.Lazy; import java.io.PrintWriter; import java.util.Locale; import java.util.Map; Loading @@ -175,6 +173,8 @@ import java.util.function.Consumer; import javax.inject.Inject; import dagger.Lazy; /** * Contains logic for a navigation bar view. */ Loading Loading @@ -251,6 +251,12 @@ public class NavigationBar extends ViewController<NavigationBarView> implements private boolean mTransientShown; private boolean mTransientShownFromGestureOnSystemBar; /** * This is to indicate whether the navigation bar button is forced visible. This is true * when the setup wizard is on display. When that happens, the window frame should be provided * as insets size directly. */ private boolean mIsButtonForceVisible; private int mNavBarMode = NAV_BAR_MODE_3BUTTON; private LightBarController mLightBarController; private final LightBarController mMainLightBarController; Loading Loading @@ -664,7 +670,8 @@ public class NavigationBar extends ViewController<NavigationBarView> implements mView.setTouchHandler(mTouchHandler); setNavBarMode(mNavBarMode); mEdgeBackGestureHandler.setStateChangeCallback(mView::updateStates); mEdgeBackGestureHandler.setButtonForcedVisibleChangeCallback((forceVisible) -> { mEdgeBackGestureHandler.setButtonForceVisibleChangeCallback((forceVisible) -> { mIsButtonForceVisible = forceVisible; repositionNavigationBar(mCurrentRotation); }); mNavigationBarTransitions.addListener(this::onBarTransition); Loading Loading @@ -1703,7 +1710,7 @@ public class NavigationBar extends ViewController<NavigationBarView> implements private InsetsFrameProvider[] getInsetsFrameProvider(int insetsHeight, Context userContext) { final InsetsFrameProvider navBarProvider; if (insetsHeight != -1 && !mEdgeBackGestureHandler.isButtonForcedVisible()) { if (insetsHeight != -1 && !mIsButtonForceVisible) { navBarProvider = new InsetsFrameProvider( ITYPE_NAVIGATION_BAR, Insets.of(0, 0, 0, insetsHeight)); // Use window frame for IME. Loading
packages/SystemUI/src/com/android/systemui/navigationbar/gestural/EdgeBackGestureHandler.java +9 −14 Original line number Diff line number Diff line Loading @@ -178,7 +178,7 @@ public class EdgeBackGestureHandler implements PluginListener<NavigationEdgeBack private final OverviewProxyService mOverviewProxyService; private final SysUiState mSysUiState; private Runnable mStateChangeCallback; private Consumer<Boolean> mButtonForcedVisibleCallback; private Consumer<Boolean> mButtonForceVisibleCallback; private final PluginManager mPluginManager; private final ProtoTracer mProtoTracer; Loading Loading @@ -246,7 +246,7 @@ public class EdgeBackGestureHandler implements PluginListener<NavigationEdgeBack private boolean mGestureBlockingActivityRunning; private boolean mIsNewBackAffordanceEnabled; private boolean mIsTrackpadGestureBackEnabled; private boolean mIsButtonForcedVisible; private boolean mIsButtonForceVisible; private InputMonitor mInputMonitor; private InputChannelCompat.InputEventReceiver mInputEventReceiver; Loading Loading @@ -413,8 +413,8 @@ public class EdgeBackGestureHandler implements PluginListener<NavigationEdgeBack mStateChangeCallback = callback; } public void setButtonForcedVisibleChangeCallback(Consumer<Boolean> callback) { mButtonForcedVisibleCallback = callback; public void setButtonForceVisibleChangeCallback(Consumer<Boolean> callback) { mButtonForceVisibleCallback = callback; } public int getEdgeWidthLeft() { Loading @@ -429,14 +429,13 @@ public class EdgeBackGestureHandler implements PluginListener<NavigationEdgeBack Resources res = mNavigationModeController.getCurrentUserContext().getResources(); mEdgeWidthLeft = mGestureNavigationSettingsObserver.getLeftSensitivity(res); mEdgeWidthRight = mGestureNavigationSettingsObserver.getRightSensitivity(res); final boolean previousForcedVisible = mIsButtonForcedVisible; mIsButtonForcedVisible = final boolean previousForceVisible = mIsButtonForceVisible; mIsButtonForceVisible = mGestureNavigationSettingsObserver.areNavigationButtonForcedVisible(); if (previousForcedVisible != mIsButtonForcedVisible && mButtonForcedVisibleCallback != null) { mButtonForcedVisibleCallback.accept(mIsButtonForcedVisible); if (previousForceVisible != mIsButtonForceVisible && mButtonForceVisibleCallback != null) { mButtonForceVisibleCallback.accept(mIsButtonForceVisible); } mIsBackGestureAllowed = !mIsButtonForcedVisible; mIsBackGestureAllowed = !mIsButtonForceVisible; final DisplayMetrics dm = res.getDisplayMetrics(); final float defaultGestureHeight = res.getDimension( Loading Loading @@ -636,10 +635,6 @@ public class EdgeBackGestureHandler implements PluginListener<NavigationEdgeBack return mIsEnabled && mIsBackGestureAllowed; } public boolean isButtonForcedVisible() { return mIsButtonForcedVisible; } /** * Update the PiP bounds, used for exclusion calculation. */ Loading