Merge "Disable seamless rotation for 3 and 2 button mode" into ub-launcher3-qt-dev
diff --git a/quickstep/tests/src/com/android/quickstep/AbstractQuickStepTest.java b/quickstep/tests/src/com/android/quickstep/AbstractQuickStepTest.java
index c2c568b..a412b39 100644
--- a/quickstep/tests/src/com/android/quickstep/AbstractQuickStepTest.java
+++ b/quickstep/tests/src/com/android/quickstep/AbstractQuickStepTest.java
@@ -18,13 +18,17 @@
 
 import com.android.launcher3.ui.AbstractLauncherUiTest;
 
-import org.junit.Rule;
+import org.junit.rules.RuleChain;
 import org.junit.rules.TestRule;
 
 /**
  * Base class for all instrumentation tests that deal with Quickstep.
  */
 public abstract class AbstractQuickStepTest extends AbstractLauncherUiTest {
-    @Rule
-    public TestRule mNavigationModeSwitcher = new NavigationModeSwitchRule(mLauncher);
+    @Override
+    protected TestRule getRulesInsideActivityMonitor() {
+        return RuleChain.
+                outerRule(new NavigationModeSwitchRule(mLauncher)).
+                around(super.getRulesInsideActivityMonitor());
+    }
 }
diff --git a/tests/src/com/android/launcher3/ui/AbstractLauncherUiTest.java b/tests/src/com/android/launcher3/ui/AbstractLauncherUiTest.java
index e5cc858..64fe2d7 100644
--- a/tests/src/com/android/launcher3/ui/AbstractLauncherUiTest.java
+++ b/tests/src/com/android/launcher3/ui/AbstractLauncherUiTest.java
@@ -65,8 +65,8 @@
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Rule;
+import org.junit.rules.RuleChain;
 import org.junit.rules.TestRule;
-import org.junit.rules.TestWatcher;
 import org.junit.runners.model.Statement;
 
 import java.io.IOException;
@@ -94,7 +94,8 @@
 
     protected MainThreadExecutor mMainThreadExecutor = new MainThreadExecutor();
     protected final UiDevice mDevice = UiDevice.getInstance(getInstrumentation());
-    protected final LauncherInstrumentation mLauncher;
+    protected final LauncherInstrumentation mLauncher =
+            new LauncherInstrumentation(getInstrumentation());
     protected Context mTargetContext;
     protected String mTargetPackage;
 
@@ -105,11 +106,9 @@
             throw new RuntimeException(e);
         }
         if (TestHelpers.isInLauncherProcess()) Utilities.enableRunningInTestHarnessForTests();
-        mLauncher = new LauncherInstrumentation(getInstrumentation());
     }
 
-    @Rule
-    public LauncherActivityRule mActivityMonitor = new LauncherActivityRule();
+    protected final LauncherActivityRule mActivityMonitor = new LauncherActivityRule();
 
     @Rule
     public ShellCommandRule mDefaultLauncherRule =
@@ -163,8 +162,14 @@
                 }
             } : base;
 
+    protected TestRule getRulesInsideActivityMonitor() {
+        return new FailureWatcher(this);
+    }
+
     @Rule
-    public TestWatcher mFailureWatcher = new FailureWatcher(this);
+    public TestRule mOrderSensitiveRules = RuleChain.
+            outerRule(mActivityMonitor).
+            around(getRulesInsideActivityMonitor());
 
     public UiDevice getDevice() {
         return mDevice;