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

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

Merge "Don't check TIS events mismatch for successful gestures" into ub-launcher3-rvc-dev

parents ae5afa74 5d59df4f
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -428,7 +428,7 @@ public final class LauncherInstrumentation {
        if (sCheckingEvents) {
            sCheckingEvents = false;
            if (checkEvents) {
                final String eventMismatch = sEventChecker.verify(0);
                final String eventMismatch = sEventChecker.verify(0, false);
                if (eventMismatch != null) {
                    message = message + ", having produced " + eventMismatch;
                }
@@ -1311,7 +1311,7 @@ public final class LauncherInstrumentation {
            if (sCheckingEvents) {
                sCheckingEvents = false;
                if (mCheckEventsForSuccessfulGestures) {
                    final String message = sEventChecker.verify(WAIT_TIME_MS);
                    final String message = sEventChecker.verify(WAIT_TIME_MS, true);
                    if (message != null) {
                        checkForAnomaly();
                        Assert.fail(formatSystemHealthMessage(
+10 −3
Original line number Diff line number Diff line
@@ -168,7 +168,7 @@ public class LogEventChecker {
        Log.d(TestProtocol.TAPL_EVENTS_TAG, mFinishCommand);
    }

    String verify(long waitForExpectedCountMs) {
    String verify(long waitForExpectedCountMs, boolean successfulGesture) {
        finishSync(waitForExpectedCountMs);

        final StringBuilder sb = new StringBuilder();
@@ -179,7 +179,8 @@ public class LogEventChecker {
            List<String> actual = new ArrayList<>(mEvents.getNonNull(sequence));
            Log.d(SKIP_EVENTS_TAG, "Verifying events");
            final int mismatchPosition = getMismatchPosition(expectedEvents.getValue(), actual);
            hasMismatches = hasMismatches || mismatchPosition != -1;
            hasMismatches = hasMismatches
                    || mismatchPosition != -1 && !ignoreMistatch(successfulGesture, sequence);
            formatSequenceWithMismatch(
                    sb,
                    sequence,
@@ -190,7 +191,8 @@ public class LogEventChecker {
        // Check for unexpected event sequences in the actual data.
        for (String actualNamedSequence : mEvents.keySet()) {
            if (!mExpectedEvents.containsKey(actualNamedSequence)) {
                hasMismatches = true;
                hasMismatches = hasMismatches
                        || !ignoreMistatch(successfulGesture, actualNamedSequence);
                formatSequenceWithMismatch(
                        sb,
                        actualNamedSequence,
@@ -203,6 +205,11 @@ public class LogEventChecker {
        return hasMismatches ? "mismatching events: " + sb.toString() : null;
    }

    // Workaround for b/154157191
    private static boolean ignoreMistatch(boolean successfulGesture, String sequence) {
        return TestProtocol.SEQUENCE_TIS.equals(sequence) && successfulGesture;
    }

    // If the list of actual events matches the list of expected events, returns -1, otherwise
    // the position of the mismatch.
    private static int getMismatchPosition(List<Pattern> expected, List<String> actual) {