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

Commit c636900a authored by vadimt's avatar vadimt
Browse files

Improving diagnostics for objects disappearing from screen

Test: presubmit
Bug: 187761685
Change-Id: Id932e8100399990d791f7825787708d5d459f61e
parent ce7084f4
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ import androidx.annotation.NonNull;
import androidx.test.uiautomator.By;
import androidx.test.uiautomator.BySelector;
import androidx.test.uiautomator.Direction;
import androidx.test.uiautomator.StaleObjectException;
import androidx.test.uiautomator.UiObject2;

import com.android.launcher3.testing.TestProtocol;
@@ -61,7 +62,13 @@ public class AllApps extends LauncherInstrumentation.VisibleContainer {

    private boolean hasClickableIcon(UiObject2 allAppsContainer, UiObject2 appListRecycler,
            BySelector appIconSelector, int displayBottom) {
        final UiObject2 icon = appListRecycler.findObject(appIconSelector);
        final UiObject2 icon;
        try {
            icon = appListRecycler.findObject(appIconSelector);
        } catch (StaleObjectException e) {
            mLauncher.fail("All apps recycler disappeared from screen");
            return false;
        }
        if (icon == null) {
            LauncherInstrumentation.log("hasClickableIcon: icon not visible");
            return false;
+4 −1
Original line number Diff line number Diff line
@@ -492,7 +492,7 @@ public final class LauncherInstrumentation {
        }
    }

    private void fail(String message) {
    void fail(String message) {
        checkForAnomaly();
        Assert.fail(formatSystemHealthMessage(formatErrorWithEvents(
                "http://go/tapl test failure:\nSummary: " + getContextDescription()
@@ -1445,6 +1445,9 @@ public final class LauncherInstrumentation {
    Rect getVisibleBounds(UiObject2 object) {
        try {
            return object.getVisibleBounds();
        } catch (StaleObjectException e) {
            fail("Object " + object + " disappeared from screen");
            return null;
        } catch (Throwable t) {
            fail(t.toString());
            return null;