diff --git a/tests/tapl/com/android/launcher3/tapl/AllAppsQsb.java b/tests/tapl/com/android/launcher3/tapl/AllAppsQsb.java deleted file mode 100644 index 0931cd46b0..0000000000 --- a/tests/tapl/com/android/launcher3/tapl/AllAppsQsb.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright (C) 2022 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.android.launcher3.tapl; - -import androidx.test.uiautomator.UiObject2; - -/** - * Operations on AllApp screen qsb. - */ -class AllAppsQsb extends Qsb { - - private final UiObject2 mAllAppsContainer; - - AllAppsQsb(LauncherInstrumentation launcher, UiObject2 allAppsContainer) { - super(launcher); - mAllAppsContainer = allAppsContainer; - waitForQsbObject(); - } - - @Override - protected UiObject2 waitForQsbObject() { - return mLauncher.waitForObjectInContainer(mAllAppsContainer, "search_container_all_apps"); - } -} diff --git a/tests/tapl/com/android/launcher3/tapl/HomeAllApps.java b/tests/tapl/com/android/launcher3/tapl/HomeAllApps.java index 8ac1aef62b..50b03aa7df 100644 --- a/tests/tapl/com/android/launcher3/tapl/HomeAllApps.java +++ b/tests/tapl/com/android/launcher3/tapl/HomeAllApps.java @@ -115,13 +115,4 @@ public class HomeAllApps extends AllApps { } } } - - /** - * Return the QSB UI object on the AllApps screen. - * @return the QSB UI object. - */ - @NonNull - public Qsb getQsb() { - return new AllAppsQsb(mLauncher, verifyActiveContainer()); - } } diff --git a/tests/tapl/com/android/launcher3/tapl/HomeQsb.java b/tests/tapl/com/android/launcher3/tapl/HomeQsb.java index 20d09a1e16..c365708d46 100644 --- a/tests/tapl/com/android/launcher3/tapl/HomeQsb.java +++ b/tests/tapl/com/android/launcher3/tapl/HomeQsb.java @@ -15,23 +15,69 @@ */ package com.android.launcher3.tapl; +import androidx.annotation.NonNull; +import androidx.test.uiautomator.By; +import androidx.test.uiautomator.BySelector; import androidx.test.uiautomator.UiObject2; +import androidx.test.uiautomator.Until; /** - * Operations on Home screen qsb. + * Operations on home screen qsb. */ -class HomeQsb extends Qsb { +public class HomeQsb { - private final UiObject2 mHotSeat; + private final LauncherInstrumentation mLauncher; + private static final String ASSISTANT_APP_PACKAGE = "com.google.android.googlequicksearchbox"; + private static final String ASSISTANT_ICON_RES_ID = "mic_icon"; - HomeQsb(LauncherInstrumentation launcher, UiObject2 hotseat) { - super(launcher); - mHotSeat = hotseat; - waitForQsbObject(); + + HomeQsb(LauncherInstrumentation launcher) { + mLauncher = launcher; + mLauncher.waitForLauncherObject("search_container_hotseat"); } - @Override - protected UiObject2 waitForQsbObject() { - return mLauncher.waitForObjectInContainer(mHotSeat, "search_container_hotseat"); + /** + * Launch assistant app by tapping mic icon on qsb. + */ + @NonNull + public LaunchedAppState launchAssistant() { + try (LauncherInstrumentation.Closable c = mLauncher.addContextLayer( + "want to click assistant mic icon button"); + LauncherInstrumentation.Closable e = mLauncher.eventsCheck()) { + UiObject2 assistantIcon = mLauncher.waitForLauncherObject(ASSISTANT_ICON_RES_ID); + + LauncherInstrumentation.log("HomeQsb.launchAssistant before click " + + assistantIcon.getVisibleCenter() + " in " + + mLauncher.getVisibleBounds(assistantIcon)); + + mLauncher.clickLauncherObject(assistantIcon); + + try (LauncherInstrumentation.Closable c2 = mLauncher.addContextLayer("clicked")) { + // assert Assistant App Launched + BySelector selector = By.pkg(ASSISTANT_APP_PACKAGE); + mLauncher.assertTrue( + "assistant app didn't start: (" + selector + ")", + mLauncher.getDevice().wait(Until.hasObject(selector), + LauncherInstrumentation.WAIT_TIME_MS) + ); + return new LaunchedAppState(mLauncher); + } + } + } + + /** + * Show search result page from tapping qsb. + */ + public SearchResultFromQsb showSearchResult() { + try (LauncherInstrumentation.Closable c = mLauncher.addContextLayer( + "want to open search result page"); + LauncherInstrumentation.Closable e = mLauncher.eventsCheck()) { + mLauncher.clickLauncherObject( + mLauncher.waitForLauncherObject("search_container_hotseat")); + try (LauncherInstrumentation.Closable c2 = mLauncher.addContextLayer( + "clicked qsb to open search result page")) { + return new SearchResultFromQsb(mLauncher); + } + } } } diff --git a/tests/tapl/com/android/launcher3/tapl/Qsb.java b/tests/tapl/com/android/launcher3/tapl/Qsb.java deleted file mode 100644 index 6bc4f2109c..0000000000 --- a/tests/tapl/com/android/launcher3/tapl/Qsb.java +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Copyright (C) 2022 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.launcher3.tapl; - -import androidx.annotation.NonNull; -import androidx.test.uiautomator.By; -import androidx.test.uiautomator.BySelector; -import androidx.test.uiautomator.UiObject2; -import androidx.test.uiautomator.Until; - -/** - * Operations on qsb from either Home screen or AllApp screen. - */ -public abstract class Qsb { - - private static final String ASSISTANT_APP_PACKAGE = "com.google.android.googlequicksearchbox"; - private static final String ASSISTANT_ICON_RES_ID = "mic_icon"; - protected final LauncherInstrumentation mLauncher; - - protected Qsb(LauncherInstrumentation launcher) { - mLauncher = launcher; - } - - // Waits for the quick search box. - protected abstract UiObject2 waitForQsbObject(); - /** - * Launch assistant app by tapping mic icon on qsb. - */ - - @NonNull - public LaunchedAppState launchAssistant() { - try (LauncherInstrumentation.Closable c = mLauncher.addContextLayer( - "want to click assistant mic icon button"); - LauncherInstrumentation.Closable e = mLauncher.eventsCheck()) { - UiObject2 assistantIcon = mLauncher.waitForLauncherObject(ASSISTANT_ICON_RES_ID); - - LauncherInstrumentation.log("Qsb.launchAssistant before click " - + assistantIcon.getVisibleCenter() + " in " - + mLauncher.getVisibleBounds(assistantIcon)); - - mLauncher.clickLauncherObject(assistantIcon); - - try (LauncherInstrumentation.Closable c2 = mLauncher.addContextLayer("clicked")) { - // assert Assistant App Launched - BySelector selector = By.pkg(ASSISTANT_APP_PACKAGE); - mLauncher.assertTrue( - "assistant app didn't start: (" + selector + ")", - mLauncher.getDevice().wait(Until.hasObject(selector), - LauncherInstrumentation.WAIT_TIME_MS) - ); - return new LaunchedAppState(mLauncher); - } - } - } - - /** - * Show search result page from tapping qsb. - */ - public SearchResultFromQsb showSearchResult() { - try (LauncherInstrumentation.Closable c = mLauncher.addContextLayer( - "want to open search result page"); - LauncherInstrumentation.Closable e = mLauncher.eventsCheck()) { - mLauncher.clickLauncherObject(waitForQsbObject()); - // wait for the result rendering to complete - mLauncher.waitForIdle(); - try (LauncherInstrumentation.Closable c2 = mLauncher.addContextLayer( - "clicked qsb to open search result page")) { - return new SearchResultFromQsb(mLauncher); - } - } - } -} diff --git a/tests/tapl/com/android/launcher3/tapl/SearchResultFromQsb.java b/tests/tapl/com/android/launcher3/tapl/SearchResultFromQsb.java index 80176e993f..80e4116406 100644 --- a/tests/tapl/com/android/launcher3/tapl/SearchResultFromQsb.java +++ b/tests/tapl/com/android/launcher3/tapl/SearchResultFromQsb.java @@ -23,7 +23,7 @@ import androidx.test.uiautomator.UiObject2; import java.util.ArrayList; /** - * Operations on search result page opened from qsb. + * Operations on search result page opened from home screen qsb. */ public class SearchResultFromQsb { // The input resource id in the search box. diff --git a/tests/tapl/com/android/launcher3/tapl/Workspace.java b/tests/tapl/com/android/launcher3/tapl/Workspace.java index 62665dea89..473cfb9cb8 100644 --- a/tests/tapl/com/android/launcher3/tapl/Workspace.java +++ b/tests/tapl/com/android/launcher3/tapl/Workspace.java @@ -118,11 +118,10 @@ public final class Workspace extends Home { * * The qsb must already be visible when calling this method. */ - @NonNull - public Qsb getQsb() { + public HomeQsb getQsb() { try (LauncherInstrumentation.Closable c = mLauncher.addContextLayer( "want to get the home qsb")) { - return new HomeQsb(mLauncher, mHotseat); + return new HomeQsb(mLauncher); } }