Merge "Uncomment a test."
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java
index 272fbf8..7a83436 100644
--- a/services/core/java/com/android/server/am/ActivityManagerService.java
+++ b/services/core/java/com/android/server/am/ActivityManagerService.java
@@ -2743,6 +2743,7 @@
@VisibleForTesting
public ActivityManagerService(Injector injector) {
mInjector = injector;
+ mContext = mInjector.getContext();
GL_ES_VERSION = 0;
mActivityStarter = null;
mAppErrors = null;
@@ -23875,6 +23876,10 @@
public static class Injector {
private NetworkManagementInternal mNmi;
+ public Context getContext() {
+ return null;
+ }
+
public AppOpsService getAppOpsService(File file, Handler handler) {
return new AppOpsService(file, handler);
}
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 b12da34..1e038df 100644
--- a/services/tests/servicestests/src/com/android/server/am/ActivityManagerServiceTest.java
+++ b/services/tests/servicestests/src/com/android/server/am/ActivityManagerServiceTest.java
@@ -51,7 +51,9 @@
import android.app.AppOpsManager;
import android.app.IApplicationThread;
import android.app.IUidObserver;
+import android.content.Context;
import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageManager;
import android.os.Handler;
import android.os.HandlerThread;
import android.os.IBinder;
@@ -116,7 +118,9 @@
UidRecord.CHANGE_ACTIVE
};
+ @Mock private Context mContext;
@Mock private AppOpsService mAppOpsService;
+ @Mock private PackageManager mPackageManager;
private TestInjector mInjector;
private ActivityManagerService mAms;
@@ -133,6 +137,8 @@
mInjector = new TestInjector();
mAms = new ActivityManagerService(mInjector);
mAms.mWaitForNetworkTimeoutMs = 100;
+
+ when(mContext.getPackageManager()).thenReturn(mPackageManager);
}
@After
@@ -601,10 +607,12 @@
uidRecord.pendingChange = changeItem;
uidRecord.curProcStateSeq = TEST_PROC_STATE_SEQ2;
verifyLastProcStateSeqUpdated(uidRecord, -1, TEST_PROC_STATE_SEQ2);
+ }
+ @Test
+ public void testEnqueueUidChangeLocked_nullUidRecord() {
// Use "null" uidRecord to make sure there is no crash.
- // TODO: currently it crashes, uncomment after fixing it.
- // mAms.enqueueUidChangeLocked(null, TEST_UID, UidRecord.CHANGE_ACTIVE);
+ mAms.enqueueUidChangeLocked(null, TEST_UID, UidRecord.CHANGE_ACTIVE);
}
private void verifyLastProcStateSeqUpdated(UidRecord uidRecord, int uid, long curProcstateSeq) {
@@ -770,6 +778,11 @@
private boolean mRestricted = true;
@Override
+ public Context getContext() {
+ return mContext;
+ }
+
+ @Override
public AppOpsService getAppOpsService(File file, Handler handler) {
return mAppOpsService;
}