Merge "Revert "Use non-cached value when calculation button forced visible state"" into udc-dev
This commit is contained in:
@@ -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.
|
||||||
|
|||||||
@@ -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.
|
||||||
*/
|
*/
|
||||||
|
|||||||
Reference in New Issue
Block a user