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

Commit 125c7714 authored by Suprabh Shukla's avatar Suprabh Shukla
Browse files

Added unit test for activity start interceptor

Short test to catch regressions, only the suspended by an app with
SUSPEND_APPS case was missing.

Test: atest com.android.server.am.ActivityStartInterceptorTest

Bug: 74336673
Change-Id: I23e37580451c1c28dc5d4d37a72f9b776c779314
parent 2ba981c6
Loading
Loading
Loading
Loading
+23 −0
Original line number Diff line number Diff line
@@ -40,6 +40,7 @@ import android.os.UserManager;
import android.support.test.filters.SmallTest;
import android.testing.DexmakerShareClassLoaderRule;

import com.android.internal.app.SuspendedAppActivity;
import com.android.internal.app.UnlaunchableAppActivity;
import com.android.server.LocalServices;
import com.android.server.pm.PackageManagerService;
@@ -149,6 +150,28 @@ public class ActivityStartInterceptorTest {
        assertEquals(ADMIN_SUPPORT_INTENT, mInterceptor.mIntent);
    }

    @Test
    public void testSuspendedPackage() {
        mAInfo.applicationInfo.flags = FLAG_SUSPENDED;
        final String suspendingPackage = "com.test.suspending.package";
        final String dialogMessage = "Test Message";
        when(mPackageManagerInternal.getSuspendingPackage(TEST_PACKAGE_NAME, TEST_USER_ID))
                .thenReturn(suspendingPackage);
        when(mPackageManagerInternal.getSuspendedDialogMessage(TEST_PACKAGE_NAME, TEST_USER_ID))
                .thenReturn(dialogMessage);
        // THEN calling intercept returns true
        assertTrue(mInterceptor.intercept(null, null, mAInfo, null, null, 0, 0, null));

        // Check intent parameters
        assertEquals(dialogMessage,
                mInterceptor.mIntent.getStringExtra(SuspendedAppActivity.EXTRA_DIALOG_MESSAGE));
        assertEquals(suspendingPackage,
                mInterceptor.mIntent.getStringExtra(SuspendedAppActivity.EXTRA_SUSPENDING_PACKAGE));
        assertEquals(TEST_PACKAGE_NAME,
                mInterceptor.mIntent.getStringExtra(SuspendedAppActivity.EXTRA_SUSPENDED_PACKAGE));
        assertEquals(TEST_USER_ID, mInterceptor.mIntent.getIntExtra(Intent.EXTRA_USER_ID, -1000));
    }

    @Test
    public void testInterceptQuietProfile() {
        // GIVEN that the user the activity is starting as is currently in quiet mode