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

Commit f69ffb52 authored by Billy Huang's avatar Billy Huang Committed by Android Build Cherrypicker Worker
Browse files

TrustManagerServiceTest: Fix broken tests

These tests currently fail because of missing setup for
ActivityManagerInternal.class in LocalServices. Set it up
with a mocked instance, and clean up properly.

Bug: b/323086607
Test: `atest TrustManagerServiceTest`
Flag: TEST_ONLY
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:adaa383860c2a6de6c6ecb77a35dcd9909779e4b)
Merged-In: Idb92137c2fbc8a50490b7cd1813670685f9a969d
Change-Id: Idb92137c2fbc8a50490b7cd1813670685f9a969d
parent ac5399b7
Loading
Loading
Loading
Loading
+16 −1
Original line number Diff line number Diff line
@@ -43,6 +43,7 @@ import static java.util.Collections.singleton;
import android.Manifest;
import android.annotation.Nullable;
import android.app.ActivityManager;
import android.app.ActivityManagerInternal;
import android.app.AlarmManager;
import android.app.IActivityManager;
import android.app.admin.DevicePolicyManager;
@@ -142,6 +143,7 @@ public class TrustManagerServiceTest {
    private final Map<ComponentName, ITrustAgentService.Stub> mMockTrustAgents = new HashMap<>();

    private @Mock ActivityManager mActivityManager;
    private @Mock ActivityManagerInternal mActivityManagerInternal;
    private @Mock AlarmManager mAlarmManager;
    private @Mock BiometricManager mBiometricManager;
    private @Mock DevicePolicyManager mDevicePolicyManager;
@@ -158,6 +160,7 @@ public class TrustManagerServiceTest {
    private HandlerThread mHandlerThread;
    private TrustManagerService mService;
    private ITrustManager mTrustManager;
    private ActivityManagerInternal mPreviousActivityManagerInternal;

    @Before
    public void setUp() throws Exception {
@@ -210,6 +213,11 @@ public class TrustManagerServiceTest {
        mMockContext.setMockPackageManager(mPackageManager);
        mMockContext.addMockSystemService(UserManager.class, mUserManager);
        doReturn(mWindowManager).when(() -> WindowManagerGlobal.getWindowManagerService());
        mPreviousActivityManagerInternal = LocalServices.getService(
                ActivityManagerInternal.class);
        LocalServices.removeServiceForTest(ActivityManagerInternal.class);
        LocalServices.addService(ActivityManagerInternal.class,
                mActivityManagerInternal);
        LocalServices.addService(SystemServiceManager.class, mock(SystemServiceManager.class));

        grantPermission(Manifest.permission.ACCESS_KEYGUARD_SECURE_STORAGE);
@@ -257,8 +265,15 @@ public class TrustManagerServiceTest {
    @After
    public void tearDown() {
        LocalServices.removeServiceForTest(SystemServiceManager.class);
        LocalServices.removeServiceForTest(ActivityManagerInternal.class);
        if (mPreviousActivityManagerInternal != null) {
            LocalServices.addService(ActivityManagerInternal.class,
                    mPreviousActivityManagerInternal);
        }
        if (mHandlerThread != null) {
            mHandlerThread.quit();
        }
    }

    @Test
    public void firstBootCompleted_systemTrustAgentsEnabled() {