Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8267b762 authored by Brandon Dayauon's avatar Brandon Dayauon Committed by Android (Google) Code Review
Browse files

Merge "Searching for Golden Gate Bridge should show three queries and check if...

Merge "Searching for Golden Gate Bridge should show three queries and check if predicted app row and web suggest exists" into tm-qpr-dev
parents 792a8273 7b530049
Loading
Loading
Loading
Loading
+32 −0
Original line number Diff line number Diff line
@@ -20,6 +20,8 @@ import android.widget.TextView;
import androidx.test.uiautomator.By;
import androidx.test.uiautomator.UiObject2;

import java.util.ArrayList;

/**
 * Operations on search result page opened from home screen qsb.
 */
@@ -27,6 +29,9 @@ public class SearchResultFromQsb {
    // The input resource id in the search box.
    private static final String INPUT_RES = "input";
    private static final String BOTTOM_SHEET_RES_ID = "bottom_sheet_background";

    // This particular ID change should happen with caution
    private static final String SEARCH_CONTAINER_RES_ID = "search_results_list_view";
    private final LauncherInstrumentation mLauncher;

    SearchResultFromQsb(LauncherInstrumentation launcher) {
@@ -49,6 +54,33 @@ public class SearchResultFromQsb {
        return new AllAppsAppIcon(mLauncher, icon);
    }

    /** Find the web suggestion from search suggestion's title text */
    public void findWebSuggest(String text) {
        ArrayList<UiObject2> goldenGateResults =
                new ArrayList<>(mLauncher.waitForObjectsInContainer(
                        mLauncher.waitForSystemLauncherObject(SEARCH_CONTAINER_RES_ID),
                        By.clazz(TextView.class)));
        boolean found = false;
        for(UiObject2 uiObject: goldenGateResults) {
            String currentString = uiObject.getText();
            if (currentString.equals(text)) {
                found = true;
            }
        }
        if (!found) {
            throw new IllegalStateException("Web suggestion title: " + text + " not found");
        }
    }

    /** Find the total amount of views being displayed and return the size */
    public int getSearchResultItemSize() {
        ArrayList<UiObject2> searchResultItems =
                new ArrayList<>(mLauncher.waitForObjectsInContainer(
                        mLauncher.waitForSystemLauncherObject(SEARCH_CONTAINER_RES_ID),
                        By.clazz(TextView.class)));
        return searchResultItems.size();
    }

    /**
     * Taps outside bottom sheet to dismiss and return to workspace. Available on tablets only.
     * @param tapRight Tap on the right of bottom sheet if true, or left otherwise.