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

Commit df269c05 authored by Vladimir Komsiyski's avatar Vladimir Komsiyski Committed by Android (Google) Code Review
Browse files

Merge "Fix GWPC test flakiness." into main

parents c7f210a6 9f2a5b75
Loading
Loading
Loading
Loading
+30 −19
Original line number Diff line number Diff line
@@ -26,10 +26,12 @@ import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.after;
import static org.mockito.Mockito.doNothing;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.timeout;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;

@@ -70,6 +72,7 @@ import java.util.Set;
@RunWith(AndroidJUnit4.class)
public class GenericWindowPolicyControllerTest {

    private static final int TIMEOUT_MILLIS = 500;
    private static final int DISPLAY_ID = Display.DEFAULT_DISPLAY + 1;
    private static final int TEST_UID = 1234567;
    private static final String DISPLAY_CATEGORY = "com.display.category";
@@ -134,7 +137,7 @@ public class GenericWindowPolicyControllerTest {
        GenericWindowPolicyController gwpc = createGwpc();

        assertThat(gwpc.isEnteringPipAllowed(TEST_UID)).isFalse();
        verify(mPipBlockedCallback).onEnteringPipBlocked(TEST_UID);
        verify(mPipBlockedCallback, timeout(TIMEOUT_MILLIS)).onEnteringPipBlocked(TEST_UID);
    }

    @Test
@@ -144,7 +147,7 @@ public class GenericWindowPolicyControllerTest {
                Arrays.asList(WindowConfiguration.WINDOWING_MODE_FULLSCREEN,
                        WindowConfiguration.WINDOWING_MODE_PINNED)));
        assertThat(gwpc.isEnteringPipAllowed(TEST_UID)).isTrue();
        verify(mPipBlockedCallback, never()).onEnteringPipBlocked(TEST_UID);
        verify(mPipBlockedCallback, after(TIMEOUT_MILLIS).never()).onEnteringPipBlocked(TEST_UID);
    }

    @Test
@@ -496,7 +499,7 @@ public class GenericWindowPolicyControllerTest {
        gwpc.onRunningAppsChanged(uids);

        assertThat(gwpc.getRunningAppsChangedListenersSizeForTesting()).isEqualTo(1);
        verify(mRunningAppsChangedListener).onRunningAppsChanged(uids);
        verify(mRunningAppsChangedListener, timeout(TIMEOUT_MILLIS)).onRunningAppsChanged(uids);
    }

    @Test
@@ -508,7 +511,7 @@ public class GenericWindowPolicyControllerTest {
        gwpc.onRunningAppsChanged(uids);

        assertThat(gwpc.getRunningAppsChangedListenersSizeForTesting()).isEqualTo(0);
        verify(mActivityListener).onDisplayEmpty(DISPLAY_ID);
        verify(mActivityListener, timeout(TIMEOUT_MILLIS)).onDisplayEmpty(DISPLAY_ID);
    }

    @Test
@@ -519,7 +522,8 @@ public class GenericWindowPolicyControllerTest {
        gwpc.onRunningAppsChanged(uids);

        assertThat(gwpc.getRunningAppsChangedListenersSizeForTesting()).isEqualTo(0);
        verify(mRunningAppsChangedListener, never()).onRunningAppsChanged(uids);
        verify(mRunningAppsChangedListener, after(TIMEOUT_MILLIS).never())
                .onRunningAppsChanged(uids);
    }

    @Test
@@ -532,7 +536,8 @@ public class GenericWindowPolicyControllerTest {
        gwpc.onRunningAppsChanged(uids);

        assertThat(gwpc.getRunningAppsChangedListenersSizeForTesting()).isEqualTo(0);
        verify(mRunningAppsChangedListener, never()).onRunningAppsChanged(uids);
        verify(mRunningAppsChangedListener, after(TIMEOUT_MILLIS).never())
                .onRunningAppsChanged(uids);
    }

    @Test
@@ -582,7 +587,8 @@ public class GenericWindowPolicyControllerTest {
        assertThat(gwpc.canActivityBeLaunched(activityInfo, intent,
                WindowConfiguration.WINDOWING_MODE_FULLSCREEN, DISPLAY_ID, /*isNewTask=*/false))
                .isTrue();
        verify(mIntentListenerCallback).shouldInterceptIntent(any(Intent.class));
        verify(mIntentListenerCallback, timeout(TIMEOUT_MILLIS))
                .shouldInterceptIntent(any(Intent.class));
    }

    @Test
@@ -590,7 +596,7 @@ public class GenericWindowPolicyControllerTest {
        GenericWindowPolicyController gwpc = createGwpc();

        gwpc.onTopActivityChanged(null, 0, 0);
        verify(mActivityListener, never())
        verify(mActivityListener, after(TIMEOUT_MILLIS).never())
                .onTopActivityChanged(anyInt(), any(ComponentName.class), anyInt());
    }

@@ -601,7 +607,7 @@ public class GenericWindowPolicyControllerTest {
        gwpc.setDisplayId(DISPLAY_ID, /* isMirrorDisplay= */ false);

        gwpc.onTopActivityChanged(BLOCKED_COMPONENT, 0, userId);
        verify(mActivityListener)
        verify(mActivityListener, timeout(TIMEOUT_MILLIS))
                .onTopActivityChanged(eq(DISPLAY_ID), eq(BLOCKED_COMPONENT), eq(userId));
    }

@@ -618,8 +624,8 @@ public class GenericWindowPolicyControllerTest {

        assertThat(gwpc.keepActivityOnWindowFlagsChanged(activityInfo, 0, 0)).isTrue();

        verify(mSecureWindowCallback, never()).onSecureWindowShown(DISPLAY_ID,
                activityInfo.applicationInfo.uid);
        verify(mSecureWindowCallback, after(TIMEOUT_MILLIS).never())
                .onSecureWindowShown(DISPLAY_ID, activityInfo.applicationInfo.uid);
        verify(mActivityBlockedCallback, never()).onActivityBlocked(DISPLAY_ID, activityInfo);
    }

@@ -636,9 +642,10 @@ public class GenericWindowPolicyControllerTest {

        assertThat(gwpc.keepActivityOnWindowFlagsChanged(activityInfo, FLAG_SECURE, 0)).isTrue();

        verify(mSecureWindowCallback).onSecureWindowShown(DISPLAY_ID,
        verify(mSecureWindowCallback, timeout(TIMEOUT_MILLIS)).onSecureWindowShown(DISPLAY_ID,
                activityInfo.applicationInfo.uid);
        verify(mActivityBlockedCallback, never()).onActivityBlocked(DISPLAY_ID, activityInfo);
        verify(mActivityBlockedCallback, after(TIMEOUT_MILLIS).never())
                .onActivityBlocked(DISPLAY_ID, activityInfo);
    }

    @Test
@@ -655,8 +662,8 @@ public class GenericWindowPolicyControllerTest {
        assertThat(gwpc.keepActivityOnWindowFlagsChanged(activityInfo, 0,
                SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS)).isTrue();

        verify(mSecureWindowCallback, never()).onSecureWindowShown(DISPLAY_ID,
                activityInfo.applicationInfo.uid);
        verify(mSecureWindowCallback, after(TIMEOUT_MILLIS).never())
                .onSecureWindowShown(DISPLAY_ID, activityInfo.applicationInfo.uid);
        verify(mActivityBlockedCallback, never()).onActivityBlocked(DISPLAY_ID, activityInfo);
    }

@@ -882,7 +889,8 @@ public class GenericWindowPolicyControllerTest {
        assertThat(gwpc.canActivityBeLaunched(activityInfo, null, windowingMode, fromDisplay,
                isNewTask)).isTrue();

        verify(mActivityBlockedCallback, never()).onActivityBlocked(fromDisplay, activityInfo);
        verify(mActivityBlockedCallback, after(TIMEOUT_MILLIS).never())
                .onActivityBlocked(fromDisplay, activityInfo);
        verify(mIntentListenerCallback, never()).shouldInterceptIntent(any(Intent.class));
    }

@@ -897,8 +905,10 @@ public class GenericWindowPolicyControllerTest {
        assertThat(gwpc.canActivityBeLaunched(activityInfo, null, windowingMode, fromDisplay,
                isNewTask)).isFalse();

        verify(mActivityBlockedCallback).onActivityBlocked(fromDisplay, activityInfo);
        verify(mIntentListenerCallback, never()).shouldInterceptIntent(any(Intent.class));
        verify(mActivityBlockedCallback, timeout(TIMEOUT_MILLIS))
                .onActivityBlocked(fromDisplay, activityInfo);
        verify(mIntentListenerCallback, after(TIMEOUT_MILLIS).never())
                .shouldInterceptIntent(any(Intent.class));
    }

    private void assertNoActivityLaunched(GenericWindowPolicyController gwpc, int fromDisplay,
@@ -907,7 +917,8 @@ public class GenericWindowPolicyControllerTest {
                WindowConfiguration.WINDOWING_MODE_FULLSCREEN, DISPLAY_ID, true))
                .isFalse();

        verify(mActivityBlockedCallback, never()).onActivityBlocked(fromDisplay, activityInfo);
        verify(mActivityBlockedCallback, after(TIMEOUT_MILLIS).never())
                .onActivityBlocked(fromDisplay, activityInfo);
        verify(mIntentListenerCallback, never()).shouldInterceptIntent(any(Intent.class));
    }
}