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

Commit 907c22ca authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Not checking for some anomalies when switching nav modes" into sc-v2-dev

parents 7b65460e 51ae3830
Loading
Loading
Loading
Loading
+1 −7
Original line number Diff line number Diff line
@@ -30,7 +30,6 @@ import android.content.Context;
import android.content.pm.PackageManager;
import android.util.Log;

import androidx.test.uiautomator.By;
import androidx.test.uiautomator.UiDevice;

import com.android.launcher3.tapl.LauncherInstrumentation;
@@ -217,12 +216,7 @@ public class NavigationModeSwitchRule implements TestRule {

    private static void assertTrue(LauncherInstrumentation launcher, String message,
            boolean condition, Description description) {
        if (launcher.getDevice().hasObject(By.textStartsWith(""))) {
            // The condition above is "screen is not empty". We are not treating
            // "Screen is empty" as an anomaly here. It's an acceptable state when
            // Launcher just starts under instrumentation.
            launcher.checkForAnomaly();
        }
        launcher.checkForAnomaly(true);
        if (!condition) {
            final AssertionError assertionError = new AssertionError(message);
            if (description != null) {
+1 −1
Original line number Diff line number Diff line
@@ -52,7 +52,7 @@ public class Wait {
            throw new RuntimeException(t);
        }
        Log.d("Wait", "atMost: timed out: " + SystemClock.uptimeMillis());
        launcher.checkForAnomaly();
        launcher.checkForAnomaly(false);
        Assert.fail(message.get());
    }

+20 −14
Original line number Diff line number Diff line
@@ -390,7 +390,7 @@ public final class LauncherInstrumentation {
        }
    }

    private String getSystemAnomalyMessage() {
    private String getSystemAnomalyMessage(boolean ignoreNavmodeChangeStates) {
        try {
            {
                final StringBuilder sb = new StringBuilder();
@@ -413,6 +413,7 @@ public final class LauncherInstrumentation {

            if (hasSystemUiObject("keyguard_status_view")) return "Phone is locked";

            if (!ignoreNavmodeChangeStates) {
                final String visibleApps = mDevice.findObjects(getAnyObjectSelector())
                        .stream()
                        .map(LauncherInstrumentation::getApplicationPackageSafe)
@@ -424,6 +425,7 @@ public final class LauncherInstrumentation {
                if (!mDevice.wait(Until.hasObject(getAnyObjectSelector()), WAIT_TIME_MS)) {
                    return "Screen is empty";
                }
            }

            final String navigationModeError = getNavigationModeMismatchError(true);
            if (navigationModeError != null) return navigationModeError;
@@ -434,8 +436,12 @@ public final class LauncherInstrumentation {
        return null;
    }

    public void checkForAnomaly() {
        final String systemAnomalyMessage = getSystemAnomalyMessage();
    private void checkForAnomaly() {
        checkForAnomaly(false);
    }

    public void checkForAnomaly(boolean ignoreNavmodeChangeStates) {
        final String systemAnomalyMessage = getSystemAnomalyMessage(ignoreNavmodeChangeStates);
        if (systemAnomalyMessage != null) {
            Assert.fail(formatSystemHealthMessage(formatErrorWithEvents(
                    "http://go/tapl : Tests are broken by a non-Launcher system error: "