Adding dismiss-all method
See the bug.
Bug: 123259701
Change-Id: I4b41d2cfe14c53db1a99cb6a693d3047057fa925
Tests: testOverview
diff --git a/quickstep/res/layout/overview_clear_all_button.xml b/quickstep/res/layout/overview_clear_all_button.xml
index ea7a494..fc06ba0 100644
--- a/quickstep/res/layout/overview_clear_all_button.xml
+++ b/quickstep/res/layout/overview_clear_all_button.xml
@@ -17,6 +17,7 @@
<com.android.quickstep.views.ClearAllButton
xmlns:android="http://schemas.android.com/apk/res/android"
style="@android:style/Widget.DeviceDefault.Button.Borderless"
+ android:id="@+id/clear_all"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/recents_clear_all"
diff --git a/quickstep/tests/src/com/android/quickstep/TaplTestsQuickstep.java b/quickstep/tests/src/com/android/quickstep/TaplTestsQuickstep.java
index 8f7cf92..9b38b2e 100644
--- a/quickstep/tests/src/com/android/quickstep/TaplTestsQuickstep.java
+++ b/quickstep/tests/src/com/android/quickstep/TaplTestsQuickstep.java
@@ -176,6 +176,13 @@
// Test UIDevice.pressHome, once we are in AllApps.
mDevice.pressHome();
waitForState("Launcher internal state didn't switch to Home", LauncherState.NORMAL);
+
+ // Test dismissing all tasks.
+ mLauncher.getWorkspace().switchToOverview().dismissAllTasks();
+ waitForState("Launcher internal state didn't switch to Home", LauncherState.NORMAL);
+ executeOnLauncher(
+ launcher -> assertEquals("Still have tasks after dismissing all",
+ 0, getTaskCount(launcher)));
}
private int getCurrentOverviewPage(Launcher launcher) {
diff --git a/tests/tapl/com/android/launcher3/tapl/BaseOverview.java b/tests/tapl/com/android/launcher3/tapl/BaseOverview.java
index 5f60113..0ff3070 100644
--- a/tests/tapl/com/android/launcher3/tapl/BaseOverview.java
+++ b/tests/tapl/com/android/launcher3/tapl/BaseOverview.java
@@ -17,6 +17,7 @@
package com.android.launcher3.tapl;
import androidx.annotation.NonNull;
+import androidx.test.uiautomator.BySelector;
import androidx.test.uiautomator.Direction;
import androidx.test.uiautomator.UiObject2;
@@ -28,6 +29,7 @@
*/
public class BaseOverview extends LauncherInstrumentation.VisibleContainer {
private static final int DEFAULT_FLING_SPEED = 15000;
+ private static final int FLINGS_FOR_DISMISS_LIMIT = 5;
BaseOverview(LauncherInstrumentation launcher) {
super(launcher);
@@ -50,6 +52,22 @@
}
/**
+ * Dismissed all tasks by scrolling to Clear-all button and pressing it.
+ */
+ public Workspace dismissAllTasks() {
+ final BySelector clearAllSelector = mLauncher.getLauncherObjectSelector("clear_all");
+ for (int i = 0;
+ i < FLINGS_FOR_DISMISS_LIMIT
+ && verifyActiveContainer().findObject(clearAllSelector) == null;
+ ++i) {
+ flingForward();
+ }
+
+ mLauncher.getObjectInContainer(verifyActiveContainer(), clearAllSelector).click();
+ return new Workspace(mLauncher);
+ }
+
+ /**
* Flings backward (right) and waits the fling's end.
*/
public void flingBackward() {