From 6acb1cfda8d21ff5374c2fbe114d433877a0bc5e Mon Sep 17 00:00:00 2001 From: Peter Kalauskas Date: Wed, 15 Jun 2022 23:12:14 +0000 Subject: [PATCH] Introduce a flag for new back affordance Also, turn it on by default. This allows the new back indicator to be tested seperately from predictive back animations. Test: adb shell broadcast -a com.android.systemui.action.SET_FLAG \ --ei id 1203 --ez value 1 Bug: 217579545 Change-Id: I2f3a3b1413e25bcac04cd7ad5b288565478101b9 --- .../SystemUI/src/com/android/systemui/flags/Flags.java | 2 ++ .../navigationbar/gestural/EdgeBackGestureHandler.java | 7 +++---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/flags/Flags.java b/packages/SystemUI/src/com/android/systemui/flags/Flags.java index f86541a901091..bbab1fbeb74a6 100644 --- a/packages/SystemUI/src/com/android/systemui/flags/Flags.java +++ b/packages/SystemUI/src/com/android/systemui/flags/Flags.java @@ -194,6 +194,8 @@ public class Flags { public static final SysPropBooleanFlag WM_ALWAYS_ENFORCE_PREDICTIVE_BACK = new SysPropBooleanFlag(1202, "persist.wm.debug.predictive_back_always_enforce", false); + public static final BooleanFlag NEW_BACK_AFFORDANCE = new BooleanFlag(1203, true); + // Pay no attention to the reflection behind the curtain. // ========================== Curtain ========================== // | | diff --git a/packages/SystemUI/src/com/android/systemui/navigationbar/gestural/EdgeBackGestureHandler.java b/packages/SystemUI/src/com/android/systemui/navigationbar/gestural/EdgeBackGestureHandler.java index d41837b7cf4d6..e210d685a370b 100644 --- a/packages/SystemUI/src/com/android/systemui/navigationbar/gestural/EdgeBackGestureHandler.java +++ b/packages/SystemUI/src/com/android/systemui/navigationbar/gestural/EdgeBackGestureHandler.java @@ -234,7 +234,7 @@ public class EdgeBackGestureHandler extends CurrentUserTracker private boolean mIsBackGestureAllowed; private boolean mGestureBlockingActivityRunning; private boolean mIsInPipMode; - private boolean mIsPredictiveBackAnimEnabled; + private boolean mIsNewBackAffordanceEnabled; private InputMonitor mInputMonitor; private InputChannelCompat.InputEventReceiver mInputEventReceiver; @@ -524,8 +524,7 @@ public class EdgeBackGestureHandler extends CurrentUserTracker Choreographer.getInstance(), this::onInputEvent); // Add a nav bar panel window - mIsPredictiveBackAnimEnabled = - mFeatureFlags.isEnabled(Flags.WM_ENABLE_PREDICTIVE_BACK_ANIM); + mIsNewBackAffordanceEnabled = mFeatureFlags.isEnabled(Flags.NEW_BACK_AFFORDANCE); resetEdgeBackPlugin(); mPluginManager.addPluginListener( this, NavigationEdgeBackPlugin.class, /*allowMultiple=*/ false); @@ -545,7 +544,7 @@ public class EdgeBackGestureHandler extends CurrentUserTracker } private void resetEdgeBackPlugin() { - if (mIsPredictiveBackAnimEnabled) { + if (mIsNewBackAffordanceEnabled) { setEdgeBackPlugin( mBackPanelControllerFactory.create(mContext, mBackAnimation)); } else {