Remove deprecated version of setProfileOwner that takes packageName

The ComponentName equivalent should be used instead.

Bug: 17654371
Change-Id: I7001e86ab1709b824944148a3c44af5243dacb83
diff --git a/core/java/android/app/admin/DevicePolicyManager.java b/core/java/android/app/admin/DevicePolicyManager.java
index ae32311..c5c6d06 100644
--- a/core/java/android/app/admin/DevicePolicyManager.java
+++ b/core/java/android/app/admin/DevicePolicyManager.java
@@ -2423,27 +2423,6 @@
     }
 
     /**
-     * @deprecated Use setProfileOwner(ComponentName ...)
-     * @hide
-     * Sets the given package as the profile owner of the given user profile. The package must
-     * already be installed and there shouldn't be an existing profile owner registered for this
-     * user. Also, this method must be called before the user has been used for the first time.
-     * @param packageName the package name of the application to be registered as profile owner.
-     * @param ownerName the human readable name of the organisation associated with this DPM.
-     * @param userHandle the userId to set the profile owner for.
-     * @return whether the package was successfully registered as the profile owner.
-     * @throws IllegalArgumentException if packageName is null, the package isn't installed, or
-     *         the user has already been set up.
-     */
-    public boolean setProfileOwner(String packageName, String ownerName, int userHandle)
-            throws IllegalArgumentException {
-        if (packageName == null) {
-            throw new NullPointerException("packageName cannot be null");
-        }
-        return setProfileOwner(new ComponentName(packageName, ""), ownerName, userHandle);
-    }
-
-    /**
      * @hide
      * Sets the given component as the profile owner of the given user profile. The package must
      * already be installed and there shouldn't be an existing profile owner registered for this
diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DeviceOwner.java b/services/devicepolicy/java/com/android/server/devicepolicy/DeviceOwner.java
index 9fd0e09..f0e02bc 100644
--- a/services/devicepolicy/java/com/android/server/devicepolicy/DeviceOwner.java
+++ b/services/devicepolicy/java/com/android/server/devicepolicy/DeviceOwner.java
@@ -46,7 +46,7 @@
  * Stores and restores state for the Device and Profile owners. By definition there can be
  * only one device owner, but there may be a profile owner for each user.
  */
-public class DeviceOwner {
+class DeviceOwner {
     private static final String TAG = "DevicePolicyManagerService";
 
     private static final String DEVICE_OWNER_XML = "device_owner.xml";
@@ -102,16 +102,6 @@
     }
 
     /**
-     * @deprecated Use a component name instead of package name
-     * Creates an instance of the device owner object with the profile owner set.
-     */
-    static DeviceOwner createWithProfileOwner(String packageName, String ownerName, int userId) {
-        DeviceOwner owner = new DeviceOwner();
-        owner.mProfileOwners.put(userId, new OwnerInfo(ownerName, packageName));
-        return owner;
-    }
-
-    /**
      * Creates an instance of the device owner object with the profile owner set.
      */
     static DeviceOwner createWithProfileOwner(ComponentName admin, String ownerName, int userId) {
@@ -136,13 +126,6 @@
         mDeviceOwner = null;
     }
 
-    /**
-     * @deprecated
-     */
-    void setProfileOwner(String packageName, String ownerName, int userId) {
-        mProfileOwners.put(userId, new OwnerInfo(ownerName, packageName));
-    }
-
     void setProfileOwner(ComponentName admin, String ownerName, int userId) {
         mProfileOwners.put(userId, new OwnerInfo(ownerName, admin));
     }
@@ -151,16 +134,6 @@
         mProfileOwners.remove(userId);
     }
 
-    /**
-     * @deprecated Use getProfileOwnerComponent
-     * @param userId
-     * @return
-     */
-    String getProfileOwnerPackageName(int userId) {
-        OwnerInfo profileOwner = mProfileOwners.get(userId);
-        return profileOwner != null ? profileOwner.packageName : null;
-    }
-
     ComponentName getProfileOwnerComponent(int userId) {
         OwnerInfo profileOwner = mProfileOwners.get(userId);
         return profileOwner != null ? profileOwner.admin : null;
@@ -207,6 +180,7 @@
         return false;
     }
 
+    @VisibleForTesting
     void readOwnerFile() {
         try {
             InputStream input = openRead();
@@ -259,6 +233,7 @@
         }
     }
 
+    @VisibleForTesting
     void writeOwnerFile() {
         synchronized (this) {
             writeOwnerFileLocked();
@@ -329,10 +304,10 @@
         }
     }
 
-    static class OwnerInfo {
-        public String name;
-        public String packageName;
-        public ComponentName admin;
+    private static class OwnerInfo {
+        public final String name;
+        public final String packageName;
+        public final ComponentName admin;
 
         public OwnerInfo(String name, String packageName) {
             this.name = name;
diff --git a/services/tests/servicestests/src/com/android/server/devicepolicy/ApplicationRestrictionsTest.java b/services/tests/servicestests/src/com/android/server/devicepolicy/ApplicationRestrictionsTest.java
index 8e8e4e6..ca270e7 100644
--- a/services/tests/servicestests/src/com/android/server/devicepolicy/ApplicationRestrictionsTest.java
+++ b/services/tests/servicestests/src/com/android/server/devicepolicy/ApplicationRestrictionsTest.java
@@ -65,7 +65,7 @@
         sDpm = (DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE);
         Settings.Secure.putInt(context.getContentResolver(),
                 Settings.Secure.USER_SETUP_COMPLETE, 0);
-        sDpm.setProfileOwner(context.getPackageName(), "Test", UserHandle.myUserId());
+        sDpm.setProfileOwner(sAdminReceiver, "Test", UserHandle.myUserId());
         Settings.Secure.putInt(context.getContentResolver(),
                 Settings.Secure.USER_SETUP_COMPLETE, 1);
         // Remove the admin if already registered. It's async, so add it back
@@ -132,4 +132,4 @@
         Bundle returned = sDpm.getApplicationRestrictions(sAdminReceiver, RESTRICTED_APP);
         assertEquals(returned.getString("KEY_FANCY_TEXT"), fancyText);
     }
-}
\ No newline at end of file
+}
diff --git a/services/tests/servicestests/src/com/android/server/devicepolicy/DeviceOwnerTest.java b/services/tests/servicestests/src/com/android/server/devicepolicy/DeviceOwnerTest.java
index f913b97..7c3014c 100644
--- a/services/tests/servicestests/src/com/android/server/devicepolicy/DeviceOwnerTest.java
+++ b/services/tests/servicestests/src/com/android/server/devicepolicy/DeviceOwnerTest.java
@@ -16,6 +16,7 @@
 
 package com.android.server.devicepolicy;
 
+import android.content.ComponentName;
 import android.test.AndroidTestCase;
 import android.test.suitebuilder.annotation.SmallTest;
 
@@ -32,7 +33,7 @@
 public class DeviceOwnerTest extends AndroidTestCase {
 
     private ByteArrayInputStream mInputStreamForTest;
-    private ByteArrayOutputStream mOutputStreamForTest = new ByteArrayOutputStream();
+    private final ByteArrayOutputStream mOutputStreamForTest = new ByteArrayOutputStream();
 
     @SmallTest
     public void testDeviceOwnerOnly() throws Exception {
@@ -46,13 +47,15 @@
 
         assertEquals("some.device.owner.package", in.getDeviceOwnerPackageName());
         assertEquals("owner", in.getDeviceOwnerName());
-        assertNull(in.getProfileOwnerPackageName(1));
+        assertNull(in.getProfileOwnerComponent(1));
     }
 
     @SmallTest
     public void testProfileOwnerOnly() throws Exception {
         DeviceOwner out = new DeviceOwner(null, mOutputStreamForTest);
-        out.setProfileOwner("some.profile.owner.package", "some-company", 1);
+        ComponentName admin = new ComponentName(
+            "some.profile.owner.package", "some.profile.owner.package.Class");
+        out.setProfileOwner(admin, "some-company", 1);
         out.writeOwnerFile();
 
         mInputStreamForTest = new ByteArrayInputStream(mOutputStreamForTest.toByteArray());
@@ -61,16 +64,24 @@
 
         assertNull(in.getDeviceOwnerPackageName());
         assertNull(in.getDeviceOwnerName());
-        assertEquals("some.profile.owner.package", in.getProfileOwnerPackageName(1));
+        assertEquals(admin, in.getProfileOwnerComponent(1));
         assertEquals("some-company", in.getProfileOwnerName(1));
     }
 
     @SmallTest
     public void testDeviceAndProfileOwners() throws Exception {
         DeviceOwner out = new DeviceOwner(null, mOutputStreamForTest);
+        ComponentName profileAdmin = new ComponentName(
+            "some.profile.owner.package", "some.profile.owner.package.Class");
+        ComponentName otherProfileAdmin = new ComponentName(
+            "some.other.profile.owner", "some.other.profile.owner.OtherClass");
+        // Old code used package name rather than component name, so the class
+        // bit could be empty.
+        ComponentName legacyComponentName = new ComponentName("legacy.profile.owner.package", "");
         out.setDeviceOwner("some.device.owner.package", "owner");
-        out.setProfileOwner("some.profile.owner.package", "some-company", 1);
-        out.setProfileOwner("some.other.profile.owner", "some-other-company", 2);
+        out.setProfileOwner(profileAdmin, "some-company", 1);
+        out.setProfileOwner(otherProfileAdmin, "some-other-company", 2);
+        out.setProfileOwner(legacyComponentName, "legacy-company", 3);
         out.writeOwnerFile();
 
         mInputStreamForTest = new ByteArrayInputStream(mOutputStreamForTest.toByteArray());
@@ -80,9 +91,10 @@
 
         assertEquals("some.device.owner.package", in.getDeviceOwnerPackageName());
         assertEquals("owner", in.getDeviceOwnerName());
-        assertEquals("some.profile.owner.package", in.getProfileOwnerPackageName(1));
+        assertEquals(profileAdmin, in.getProfileOwnerComponent(1));
         assertEquals("some-company", in.getProfileOwnerName(1));
-        assertEquals("some.other.profile.owner", in.getProfileOwnerPackageName(2));
+        assertEquals(otherProfileAdmin, in.getProfileOwnerComponent(2));
         assertEquals("some-other-company", in.getProfileOwnerName(2));
+        assertEquals(legacyComponentName, in.getProfileOwnerComponent(3));
     }
-}
\ No newline at end of file
+}