Support for running Overview tests with quickstep on and off

Bug: 110103162
Test: TaplTests suite
Change-Id: Ic479156f2973aeec5cc3d288e1c891b8086d9daa
diff --git a/quickstep/src/com/android/quickstep/OverviewInteractionState.java b/quickstep/src/com/android/quickstep/OverviewInteractionState.java
index a5ff681..224c8a7 100644
--- a/quickstep/src/com/android/quickstep/OverviewInteractionState.java
+++ b/quickstep/src/com/android/quickstep/OverviewInteractionState.java
@@ -185,14 +185,18 @@
         return mSwipeGestureInitializing;
     }
 
+    public void notifySwipeUpSettingChanged(boolean swipeUpEnabled) {
+        mUiHandler.removeMessages(MSG_SET_SWIPE_UP_ENABLED);
+        mUiHandler.obtainMessage(MSG_SET_SWIPE_UP_ENABLED, swipeUpEnabled ? 1 : 0, 0).
+                sendToTarget();
+    }
+
     private class SwipeUpGestureEnabledSettingObserver extends ContentObserver {
-        private Handler mHandler;
         private ContentResolver mResolver;
         private final int defaultValue;
 
         SwipeUpGestureEnabledSettingObserver(Handler handler, ContentResolver resolver) {
             super(handler);
-            mHandler = handler;
             mResolver = resolver;
             defaultValue = SwipeUpSetting.isSwipeUpEnabledDefaultValue() ? 1 : 0;
         }
@@ -207,8 +211,7 @@
         @Override
         public void onChange(boolean selfChange) {
             super.onChange(selfChange);
-            mHandler.removeMessages(MSG_SET_SWIPE_UP_ENABLED);
-            mHandler.obtainMessage(MSG_SET_SWIPE_UP_ENABLED, getValue() ? 1 : 0, 0).sendToTarget();
+            notifySwipeUpSettingChanged(getValue());
         }
 
         private boolean getValue() {
diff --git a/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java b/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java
index 884a6cb..b02ff93 100644
--- a/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java
+++ b/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java
@@ -87,6 +87,7 @@
 
     private final UiDevice mDevice;
     private final boolean mSwipeUpEnabled;
+    private Boolean mSwipeUpEnabledOverride = null;
 
     /**
      * Constructs the root of TAPL hierarchy. You get all other objects from it.
@@ -103,12 +104,17 @@
         assertTrue("Device must run in a test harness", ActivityManager.isRunningInTestHarness());
     }
 
+    // Used only by tests.
+    public void overrideSwipeUpEnabled(Boolean swipeUpEnabledOverride) {
+        mSwipeUpEnabledOverride = swipeUpEnabledOverride;
+    }
+
     void setActiveContainer(VisibleContainer container) {
         sActiveContainer = new WeakReference<>(container);
     }
 
     boolean isSwipeUpEnabled() {
-        return mSwipeUpEnabled;
+        return mSwipeUpEnabledOverride != null ? mSwipeUpEnabledOverride : mSwipeUpEnabled;
     }
 
     private UiObject2 verifyContainerType(ContainerType containerType) {