Allow device owner app to start activities from background
Bug: 123689871
Bug: 110956953
Test: atest WmTests:ActivityStarterTests
Change-Id: I5d4a8e2e98d486187f65999fb7f7dd72d1413b70
diff --git a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
index 09ef4b9..14c4814 100644
--- a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
+++ b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
@@ -151,6 +151,7 @@
import android.app.WaitResult;
import android.app.WindowConfiguration;
import android.app.admin.DevicePolicyCache;
+import android.app.admin.DevicePolicyManager;
import android.app.assist.AssistContent;
import android.app.assist.AssistStructure;
import android.app.usage.UsageStatsManagerInternal;
@@ -362,6 +363,7 @@
WindowManagerService mWindowManager;
private UserManagerService mUserManager;
private AppOpsService mAppOpsService;
+ private DevicePolicyManager mDpm;
/** All active uids in the system. */
private final SparseArray<Integer> mActiveUids = new SparseArray<>();
private final SparseArray<String> mPendingTempWhitelist = new SparseArray<>();
@@ -836,6 +838,13 @@
return mAppOpsService;
}
+ DevicePolicyManager getDevicePolicyManager() {
+ if (mDpm == null) {
+ mDpm = mContext.getSystemService(DevicePolicyManager.class);
+ }
+ return mDpm;
+ }
+
boolean hasUserRestriction(String restriction, int userId) {
return getUserManager().hasUserRestriction(restriction, userId);
}