Merge "Revert "Use non-cached value when calculation button forced visible state"" into udc-dev

This commit is contained in:
Yunfan Chen
2023-03-07 04:45:11 +00:00
committed by Android (Google) Code Review
2 changed files with 20 additions and 18 deletions

View File

@@ -164,8 +164,6 @@ import com.android.systemui.util.ViewController;
import com.android.wm.shell.back.BackAnimation; import com.android.wm.shell.back.BackAnimation;
import com.android.wm.shell.pip.Pip; import com.android.wm.shell.pip.Pip;
import dagger.Lazy;
import java.io.PrintWriter; import java.io.PrintWriter;
import java.util.Locale; import java.util.Locale;
import java.util.Map; import java.util.Map;
@@ -175,6 +173,8 @@ import java.util.function.Consumer;
import javax.inject.Inject; import javax.inject.Inject;
import dagger.Lazy;
/** /**
* Contains logic for a navigation bar view. * Contains logic for a navigation bar view.
*/ */
@@ -251,6 +251,12 @@ public class NavigationBar extends ViewController<NavigationBarView> implements
private boolean mTransientShown; private boolean mTransientShown;
private boolean mTransientShownFromGestureOnSystemBar; 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 int mNavBarMode = NAV_BAR_MODE_3BUTTON;
private LightBarController mLightBarController; private LightBarController mLightBarController;
private final LightBarController mMainLightBarController; private final LightBarController mMainLightBarController;
@@ -664,7 +670,8 @@ public class NavigationBar extends ViewController<NavigationBarView> implements
mView.setTouchHandler(mTouchHandler); mView.setTouchHandler(mTouchHandler);
setNavBarMode(mNavBarMode); setNavBarMode(mNavBarMode);
mEdgeBackGestureHandler.setStateChangeCallback(mView::updateStates); mEdgeBackGestureHandler.setStateChangeCallback(mView::updateStates);
mEdgeBackGestureHandler.setButtonForcedVisibleChangeCallback((forceVisible) -> { mEdgeBackGestureHandler.setButtonForceVisibleChangeCallback((forceVisible) -> {
mIsButtonForceVisible = forceVisible;
repositionNavigationBar(mCurrentRotation); repositionNavigationBar(mCurrentRotation);
}); });
mNavigationBarTransitions.addListener(this::onBarTransition); mNavigationBarTransitions.addListener(this::onBarTransition);
@@ -1703,7 +1710,7 @@ public class NavigationBar extends ViewController<NavigationBarView> implements
private InsetsFrameProvider[] getInsetsFrameProvider(int insetsHeight, Context userContext) { private InsetsFrameProvider[] getInsetsFrameProvider(int insetsHeight, Context userContext) {
final InsetsFrameProvider navBarProvider; final InsetsFrameProvider navBarProvider;
if (insetsHeight != -1 && !mEdgeBackGestureHandler.isButtonForcedVisible()) { if (insetsHeight != -1 && !mIsButtonForceVisible) {
navBarProvider = new InsetsFrameProvider( navBarProvider = new InsetsFrameProvider(
ITYPE_NAVIGATION_BAR, Insets.of(0, 0, 0, insetsHeight)); ITYPE_NAVIGATION_BAR, Insets.of(0, 0, 0, insetsHeight));
// Use window frame for IME. // Use window frame for IME.

View File

@@ -178,7 +178,7 @@ public class EdgeBackGestureHandler implements PluginListener<NavigationEdgeBack
private final OverviewProxyService mOverviewProxyService; private final OverviewProxyService mOverviewProxyService;
private final SysUiState mSysUiState; private final SysUiState mSysUiState;
private Runnable mStateChangeCallback; private Runnable mStateChangeCallback;
private Consumer<Boolean> mButtonForcedVisibleCallback; private Consumer<Boolean> mButtonForceVisibleCallback;
private final PluginManager mPluginManager; private final PluginManager mPluginManager;
private final ProtoTracer mProtoTracer; private final ProtoTracer mProtoTracer;
@@ -246,7 +246,7 @@ public class EdgeBackGestureHandler implements PluginListener<NavigationEdgeBack
private boolean mGestureBlockingActivityRunning; private boolean mGestureBlockingActivityRunning;
private boolean mIsNewBackAffordanceEnabled; private boolean mIsNewBackAffordanceEnabled;
private boolean mIsTrackpadGestureBackEnabled; private boolean mIsTrackpadGestureBackEnabled;
private boolean mIsButtonForcedVisible; private boolean mIsButtonForceVisible;
private InputMonitor mInputMonitor; private InputMonitor mInputMonitor;
private InputChannelCompat.InputEventReceiver mInputEventReceiver; private InputChannelCompat.InputEventReceiver mInputEventReceiver;
@@ -413,8 +413,8 @@ public class EdgeBackGestureHandler implements PluginListener<NavigationEdgeBack
mStateChangeCallback = callback; mStateChangeCallback = callback;
} }
public void setButtonForcedVisibleChangeCallback(Consumer<Boolean> callback) { public void setButtonForceVisibleChangeCallback(Consumer<Boolean> callback) {
mButtonForcedVisibleCallback = callback; mButtonForceVisibleCallback = callback;
} }
public int getEdgeWidthLeft() { public int getEdgeWidthLeft() {
@@ -429,14 +429,13 @@ public class EdgeBackGestureHandler implements PluginListener<NavigationEdgeBack
Resources res = mNavigationModeController.getCurrentUserContext().getResources(); Resources res = mNavigationModeController.getCurrentUserContext().getResources();
mEdgeWidthLeft = mGestureNavigationSettingsObserver.getLeftSensitivity(res); mEdgeWidthLeft = mGestureNavigationSettingsObserver.getLeftSensitivity(res);
mEdgeWidthRight = mGestureNavigationSettingsObserver.getRightSensitivity(res); mEdgeWidthRight = mGestureNavigationSettingsObserver.getRightSensitivity(res);
final boolean previousForcedVisible = mIsButtonForcedVisible; final boolean previousForceVisible = mIsButtonForceVisible;
mIsButtonForcedVisible = mIsButtonForceVisible =
mGestureNavigationSettingsObserver.areNavigationButtonForcedVisible(); mGestureNavigationSettingsObserver.areNavigationButtonForcedVisible();
if (previousForcedVisible != mIsButtonForcedVisible if (previousForceVisible != mIsButtonForceVisible && mButtonForceVisibleCallback != null) {
&& mButtonForcedVisibleCallback != null) { mButtonForceVisibleCallback.accept(mIsButtonForceVisible);
mButtonForcedVisibleCallback.accept(mIsButtonForcedVisible);
} }
mIsBackGestureAllowed = !mIsButtonForcedVisible; mIsBackGestureAllowed = !mIsButtonForceVisible;
final DisplayMetrics dm = res.getDisplayMetrics(); final DisplayMetrics dm = res.getDisplayMetrics();
final float defaultGestureHeight = res.getDimension( final float defaultGestureHeight = res.getDimension(
@@ -636,10 +635,6 @@ public class EdgeBackGestureHandler implements PluginListener<NavigationEdgeBack
return mIsEnabled && mIsBackGestureAllowed; return mIsEnabled && mIsBackGestureAllowed;
} }
public boolean isButtonForcedVisible() {
return mIsButtonForcedVisible;
}
/** /**
* Update the PiP bounds, used for exclusion calculation. * Update the PiP bounds, used for exclusion calculation.
*/ */