diff --git a/services/tests/servicestests/src/com/android/server/am/ActivityManagerServiceTest.java b/services/tests/servicestests/src/com/android/server/am/ActivityManagerServiceTest.java index f8bcff55ba416..6fe259e7fc85a 100644 --- a/services/tests/servicestests/src/com/android/server/am/ActivityManagerServiceTest.java +++ b/services/tests/servicestests/src/com/android/server/am/ActivityManagerServiceTest.java @@ -45,6 +45,8 @@ import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; +import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verifyNoMoreInteractions; import static org.mockito.Mockito.verifyZeroInteractions; @@ -54,9 +56,11 @@ import android.app.ActivityManager; import android.app.AppOpsManager; import android.app.IApplicationThread; import android.app.IUidObserver; +import android.content.ComponentName; import android.content.Context; import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; +import android.content.pm.PackageManagerInternal; import android.os.Handler; import android.os.HandlerThread; import android.os.IBinder; @@ -70,6 +74,7 @@ import androidx.test.filters.FlakyTest; import androidx.test.filters.MediumTest; import androidx.test.filters.SmallTest; +import com.android.server.LocalServices; import com.android.server.am.ProcessList.IsolatedUidRange; import com.android.server.am.ProcessList.IsolatedUidRangeAllocator; import com.android.server.appop.AppOpsService; @@ -77,6 +82,7 @@ import com.android.server.wm.ActivityTaskManagerService; import org.junit.After; import org.junit.Before; +import org.junit.BeforeClass; import org.junit.Rule; import org.junit.Test; import org.mockito.Mock; @@ -115,6 +121,18 @@ public class ActivityManagerServiceTest { UidRecord.CHANGE_ACTIVE }; + private static PackageManagerInternal sPackageManagerInternal; + + @BeforeClass + public static void setUpOnce() { + sPackageManagerInternal = mock(PackageManagerInternal.class); + doReturn(new ComponentName("", "")).when(sPackageManagerInternal) + .getSystemUiServiceComponent(); + // Remove stale instance of PackageManagerInternal if there is any + LocalServices.removeServiceForTest(PackageManagerInternal.class); + LocalServices.addService(PackageManagerInternal.class, sPackageManagerInternal); + } + @Rule public ServiceThreadRule mServiceThreadRule = new ServiceThreadRule(); private Context mContext = getInstrumentation().getTargetContext(); @@ -258,8 +276,11 @@ public class ActivityManagerServiceTest { uidRec.hasInternetPermission = true; mAms.mProcessList.mActiveUids.put(uid, uidRec); - final ProcessRecord appRec = new ProcessRecord(mAms, new ApplicationInfo(), TAG, uid); - appRec.thread = Mockito.mock(IApplicationThread.class); + ApplicationInfo info = new ApplicationInfo(); + info.packageName = ""; + + final ProcessRecord appRec = new ProcessRecord(mAms, info, TAG, uid); + appRec.thread = mock(IApplicationThread.class); mAms.mProcessList.mLruProcesses.add(appRec); return uidRec; @@ -497,7 +518,7 @@ public class ActivityManagerServiceTest { }; final IUidObserver[] observers = new IUidObserver.Stub[changesToObserve.length]; for (int i = 0; i < observers.length; ++i) { - observers[i] = Mockito.mock(IUidObserver.Stub.class); + observers[i] = mock(IUidObserver.Stub.class); when(observers[i].asBinder()).thenReturn((IBinder) observers[i]); mAms.registerUidObserver(observers[i], changesToObserve[i] /* which */, ActivityManager.PROCESS_STATE_UNKNOWN /* cutpoint */, null /* caller */); @@ -610,7 +631,7 @@ public class ActivityManagerServiceTest { */ @Test public void testDispatchUidChanges_procStateCutpoint() throws RemoteException { - final IUidObserver observer = Mockito.mock(IUidObserver.Stub.class); + final IUidObserver observer = mock(IUidObserver.Stub.class); when(observer.asBinder()).thenReturn((IBinder) observer); mAms.registerUidObserver(observer, ActivityManager.UID_OBSERVER_PROCSTATE /* which */, @@ -704,7 +725,7 @@ public class ActivityManagerServiceTest { assertEquals("No observers registered, so validateUids should be empty", 0, mAms.mValidateUids.size()); - final IUidObserver observer = Mockito.mock(IUidObserver.Stub.class); + final IUidObserver observer = mock(IUidObserver.Stub.class); when(observer.asBinder()).thenReturn((IBinder) observer); mAms.registerUidObserver(observer, 0, 0, null); // Verify that when observers are registered, then validateUids is correctly updated. diff --git a/services/tests/servicestests/src/com/android/server/am/OomAdjusterTests.java b/services/tests/servicestests/src/com/android/server/am/OomAdjusterTests.java index d12d8040183a7..b2d7177e04eb4 100644 --- a/services/tests/servicestests/src/com/android/server/am/OomAdjusterTests.java +++ b/services/tests/servicestests/src/com/android/server/am/OomAdjusterTests.java @@ -22,12 +22,15 @@ import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentat import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; +import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.spy; import android.app.ActivityManager; import android.app.usage.UsageStatsManagerInternal; +import android.content.ComponentName; import android.content.Context; +import android.content.pm.PackageManagerInternal; import com.android.server.LocalServices; import com.android.server.wm.ActivityTaskManagerService; @@ -45,6 +48,7 @@ import org.junit.Test; public class OomAdjusterTests { private static Context sContext; private static ActivityManagerService sService; + private static PackageManagerInternal sPackageManagerInternal; private ProcessRecord mProcessRecord; @@ -56,6 +60,13 @@ public class OomAdjusterTests { public static void setUpOnce() { sContext = getInstrumentation().getTargetContext(); + sPackageManagerInternal = mock(PackageManagerInternal.class); + doReturn(new ComponentName("", "")).when(sPackageManagerInternal) + .getSystemUiServiceComponent(); + // Remove stale instance of PackageManagerInternal if there is any + LocalServices.removeServiceForTest(PackageManagerInternal.class); + LocalServices.addService(PackageManagerInternal.class, sPackageManagerInternal); + // We need to run with dexmaker share class loader to make use of // ActivityTaskManagerService from wm package. runWithDexmakerShareClassLoader(() -> {