Push DO/PO package names from DPMS to PM
Bug 29126573
Change-Id: I95ea1559f6acf5d2f0e1b0953568cdfc938e83b9
diff --git a/core/java/android/app/admin/DevicePolicyManagerInternal.java b/core/java/android/app/admin/DevicePolicyManagerInternal.java
index 54a2f7a..e98bb7e 100644
--- a/core/java/android/app/admin/DevicePolicyManagerInternal.java
+++ b/core/java/android/app/admin/DevicePolicyManagerInternal.java
@@ -17,7 +17,6 @@
package android.app.admin;
import android.content.Intent;
-import android.os.UserHandle;
import java.util.List;
@@ -74,17 +73,6 @@
public abstract boolean isActiveAdminWithPolicy(int uid, int reqPolicy);
/**
- * Checks if a given package has a device or a profile owner for the given user.
- * <p>
- * <em>Note: does <b>not</b> support negative userIds like {@link UserHandle#USER_ALL}</em>
- *
- * @param packageName The package to check
- * @param userId the userId to check for.
- * @return true if package has a device or profile owner, false otherwise.
- */
- public abstract boolean hasDeviceOwnerOrProfileOwner(String packageName, int userId);
-
- /**
* Creates an intent to show the admin support dialog to let the user know that the package is
* suspended by the admin. This assumes that {@param packageName} is suspended by the
* device/profile owner. The caller should check if the package is suspended or not.
diff --git a/core/java/android/content/pm/PackageManagerInternal.java b/core/java/android/content/pm/PackageManagerInternal.java
index 13ebb82..14f7727 100644
--- a/core/java/android/content/pm/PackageManagerInternal.java
+++ b/core/java/android/content/pm/PackageManagerInternal.java
@@ -18,6 +18,7 @@
import android.content.ComponentName;
import android.content.pm.PackageManager.NameNotFoundException;
+import android.util.SparseArray;
import java.util.List;
@@ -147,4 +148,16 @@
*/
public abstract ComponentName getHomeActivitiesAsUser(List<ResolveInfo> allHomeCandidates,
int userId);
+
+ /**
+ * Called by DeviceOwnerManagerService to set the package names of device owner and profile
+ * owners.
+ */
+ public abstract void setDeviceAndProfileOwnerPackages(
+ int deviceOwnerUserId, String deviceOwner, SparseArray<String> profileOwners);
+
+ /**
+ * Whether a package's data be cleared.
+ */
+ public abstract boolean canPackageBeWiped(int userId, String packageName);
}