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

Commit 500ae8b6 authored by George Mount's avatar George Mount
Browse files

Fix flakiness in FadeTransitionTest

Bug 38349552

GCE devices are slower than regular devices and waits need to take
the slowness into account. A snapshot showed an orientation after
the test was run, so this CL also locks the orientation during
tests.

Test: ran transition and animation tests on GCE device
Change-Id: Id341b833be2bba1d9e5328adfef373f9d91f8bd5
parent ef9b399d
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -1310,14 +1310,16 @@
            </intent-filter>
        </activity>

        <activity android:name="android.animation.BasicAnimatorActivity">
        <activity android:name="android.animation.BasicAnimatorActivity"
                  android:screenOrientation="locked">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.FRAMEWORK_INSTRUMENTATION_TEST" />
            </intent-filter>
        </activity>

        <activity android:name="android.animation.AnimatorSetActivity">
        <activity android:name="android.animation.AnimatorSetActivity"
                  android:screenOrientation="locked">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.FRAMEWORK_INSTRUMENTATION_TEST" />
+10 −10
Original line number Diff line number Diff line
@@ -48,23 +48,23 @@ public class FadeTransitionTest extends ActivityInstrumentationTestCase2<Animato
        View square1 = mActivity.findViewById(R.id.square1);
        Fade fadeOut = new Fade(Fade.MODE_OUT);
        TransitionLatch latch = setVisibilityInTransition(fadeOut, R.id.square1, View.INVISIBLE);
        assertTrue(latch.startLatch.await(200, TimeUnit.MILLISECONDS));
        assertTrue(latch.startLatch.await(400, TimeUnit.MILLISECONDS));
        assertEquals(View.VISIBLE, square1.getVisibility());
        waitForAnimation();
        assertFalse(square1.getTransitionAlpha() == 0 || square1.getTransitionAlpha() == 1);
        assertTrue(latch.endLatch.await(400, TimeUnit.MILLISECONDS));
        assertTrue(latch.endLatch.await(800, TimeUnit.MILLISECONDS));
        assertEquals(1.0f, square1.getTransitionAlpha());
        assertEquals(View.INVISIBLE, square1.getVisibility());

        Fade fadeIn = new Fade(Fade.MODE_IN);
        latch = setVisibilityInTransition(fadeIn, R.id.square1, View.VISIBLE);
        assertTrue(latch.startLatch.await(200, TimeUnit.MILLISECONDS));
        assertTrue(latch.startLatch.await(400, TimeUnit.MILLISECONDS));
        assertEquals(View.VISIBLE, square1.getVisibility());
        waitForAnimation();
        final float transitionAlpha = square1.getTransitionAlpha();
        assertTrue("expecting transitionAlpha to be between 0 and 1. Was " + transitionAlpha,
                transitionAlpha > 0 && transitionAlpha < 1);
        assertTrue(latch.endLatch.await(400, TimeUnit.MILLISECONDS));
        assertTrue(latch.endLatch.await(800, TimeUnit.MILLISECONDS));
        assertEquals(1.0f, square1.getTransitionAlpha());
        assertEquals(View.VISIBLE, square1.getVisibility());
    }
@@ -76,14 +76,14 @@ public class FadeTransitionTest extends ActivityInstrumentationTestCase2<Animato
        FadeValueCheck fadeOutValueCheck = new FadeValueCheck(square1);
        fadeOut.addListener(fadeOutValueCheck);
        TransitionLatch outLatch = setVisibilityInTransition(fadeOut, R.id.square1, View.INVISIBLE);
        assertTrue(outLatch.startLatch.await(200, TimeUnit.MILLISECONDS));
        assertTrue(outLatch.startLatch.await(400, TimeUnit.MILLISECONDS));
        waitForAnimation();

        Fade fadeIn = new Fade(Fade.MODE_IN);
        FadeValueCheck fadeInValueCheck = new FadeValueCheck(square1);
        fadeIn.addListener(fadeInValueCheck);
        TransitionLatch inLatch = setVisibilityInTransition(fadeIn, R.id.square1, View.VISIBLE);
        assertTrue(inLatch.startLatch.await(200, TimeUnit.MILLISECONDS));
        assertTrue(inLatch.startLatch.await(400, TimeUnit.MILLISECONDS));

        assertEquals(fadeOutValueCheck.pauseTransitionAlpha, fadeInValueCheck.startTransitionAlpha);
        assertTrue("expecting transitionAlpha to be between 0 and 1. Was " +
@@ -91,7 +91,7 @@ public class FadeTransitionTest extends ActivityInstrumentationTestCase2<Animato
                fadeOutValueCheck.pauseTransitionAlpha > 0 &&
                        fadeOutValueCheck.pauseTransitionAlpha < 1);

        assertTrue(inLatch.endLatch.await(400, TimeUnit.MILLISECONDS));
        assertTrue(inLatch.endLatch.await(800, TimeUnit.MILLISECONDS));
        assertEquals(1.0f, square1.getTransitionAlpha());
        assertEquals(View.VISIBLE, square1.getVisibility());
    }
@@ -109,14 +109,14 @@ public class FadeTransitionTest extends ActivityInstrumentationTestCase2<Animato
        FadeValueCheck fadeInValueCheck = new FadeValueCheck(square1);
        fadeIn.addListener(fadeInValueCheck);
        TransitionLatch inLatch = setVisibilityInTransition(fadeIn, R.id.square1, View.VISIBLE);
        assertTrue(inLatch.startLatch.await(200, TimeUnit.MILLISECONDS));
        assertTrue(inLatch.startLatch.await(400, TimeUnit.MILLISECONDS));
        waitForAnimation();

        Fade fadeOut = new Fade(Fade.MODE_OUT);
        FadeValueCheck fadeOutValueCheck = new FadeValueCheck(square1);
        fadeOut.addListener(fadeOutValueCheck);
        TransitionLatch outLatch = setVisibilityInTransition(fadeOut, R.id.square1, View.INVISIBLE);
        assertTrue(outLatch.startLatch.await(200, TimeUnit.MILLISECONDS));
        assertTrue(outLatch.startLatch.await(400, TimeUnit.MILLISECONDS));

        assertEquals(fadeInValueCheck.pauseTransitionAlpha, fadeOutValueCheck.startTransitionAlpha);
        assertTrue("expecting transitionAlpha to be between 0 and 1. Was " +
@@ -124,7 +124,7 @@ public class FadeTransitionTest extends ActivityInstrumentationTestCase2<Animato
                fadeInValueCheck.pauseTransitionAlpha > 0 &&
                        fadeInValueCheck.pauseTransitionAlpha < 1);

        assertTrue(outLatch.endLatch.await(400, TimeUnit.MILLISECONDS));
        assertTrue(outLatch.endLatch.await(800, TimeUnit.MILLISECONDS));
        assertEquals(1.0f, square1.getTransitionAlpha());
        assertEquals(View.INVISIBLE, square1.getVisibility());
    }