Hide device initializer methods/fields.

Bug: 21605288
Change-Id: I4c861a053d585c16f8d05cbb3648ee5c82f6ca01
diff --git a/core/java/android/app/admin/DeviceAdminReceiver.java b/core/java/android/app/admin/DeviceAdminReceiver.java
index 87e2f9a..a1bb40c 100644
--- a/core/java/android/app/admin/DeviceAdminReceiver.java
+++ b/core/java/android/app/admin/DeviceAdminReceiver.java
@@ -19,6 +19,7 @@
 import android.accounts.AccountManager;
 import android.annotation.SdkConstant;
 import android.annotation.SdkConstant.SdkConstantType;
+import android.annotation.SystemApi;
 import android.app.Service;
 import android.content.BroadcastReceiver;
 import android.content.ComponentName;
@@ -227,14 +228,15 @@
             "android.app.action.PROFILE_PROVISIONING_COMPLETE";
 
     /**
+     * @hide
      * Broadcast Action: This broadcast is sent to indicate that the system is ready for the device
      * initializer to perform user setup tasks. This is only applicable to devices managed by a
      * device owner app.
      *
      * <p>The broadcast will be limited to the {@link DeviceAdminReceiver} component specified in
-     * the {@link DevicePolicyManager#EXTRA_PROVISIONING_DEVICE_INITIALIZER_COMPONENT_NAME} field
-     * of the original intent or NFC bump that started the provisioning process. You will generally
-     * handle this in {@link DeviceAdminReceiver#onReadyForUserInitialization}.
+     * the device initializer field of the original intent or NFC bump that started the provisioning
+     * process. You will generally handle this in
+     * {@link DeviceAdminReceiver#onReadyForUserInitialization}.
      *
      * <p>Input: Nothing.</p>
      * <p>Output: Nothing</p>
@@ -435,23 +437,22 @@
      * Called during provisioning of a managed device to allow the device initializer to perform
      * user setup steps. Only device initializers should override this method.
      *
-     * <p> Called when the DeviceAdminReceiver receives a
-     * {@link #ACTION_READY_FOR_USER_INITIALIZATION} broadcast. As a prerequisite for the execution
-     * of this callback the {@link DeviceAdminReceiver} has
-     * to declare an intent filter for {@link #ACTION_READY_FOR_USER_INITIALIZATION}. Only the
-     * component specified in the
-     * {@link DevicePolicyManager#EXTRA_PROVISIONING_DEVICE_INITIALIZER_COMPONENT_NAME} field of the
+     * <p> Called when the DeviceAdminReceiver receives an
+     * android.app.action.ACTION_READY_FOR_USER_INITIALIZATION broadcast. As a prerequisite for the
+     * execution of this callback the {@link DeviceAdminReceiver} has
+     * to declare an intent filter for android.app.action.ACTION_READY_FOR_USER_INITIALIZATION. Only
+     * the component specified in the device initializer component name field of the
      * original intent or NFC bump that started the provisioning process will receive this callback.
      *
      * <p>It is not assumed that the device initializer is finished when it returns from
-     * this call, as it may do additional setup asynchronously. The device initializer must call
-     * {@link DevicePolicyManager#setUserEnabled(ComponentName admin)} when it has finished any
-     * additional setup (such as adding an account by using the {@link AccountManager}) in order for
-     * the user to be functional.
+     * this call, as it may do additional setup asynchronously. The device initializer must enable
+     * the current user when it has finished any additional setup (such as adding an account by
+     * using the {@link AccountManager}) in order for the user to be functional.
      *
      * @param context The running context as per {@link #onReceive}.
      * @param intent The received intent as per {@link #onReceive}.
      */
+    @SystemApi
     public void onReadyForUserInitialization(Context context, Intent intent) {
     }
 
diff --git a/core/java/android/app/admin/DevicePolicyManager.java b/core/java/android/app/admin/DevicePolicyManager.java
index ed20086..1b7c9a0 100644
--- a/core/java/android/app/admin/DevicePolicyManager.java
+++ b/core/java/android/app/admin/DevicePolicyManager.java
@@ -468,6 +468,7 @@
              "android.app.extra.PROVISIONING_SKIP_ENCRYPTION";
 
     /**
+     * @hide
      * On devices managed by a device owner app, a {@link ComponentName} extra indicating the
      * component of the application that is temporarily granted device owner privileges during
      * device initialization and profile owner privileges during secondary user initialization.
@@ -483,6 +484,7 @@
         = "android.app.extra.PROVISIONING_DEVICE_INITIALIZER_COMPONENT_NAME";
 
     /**
+     * @hide
      * A String extra holding an http url that specifies the download location of the device
      * initializer package. When not provided it is assumed that the device initializer package is
      * already installed.
@@ -494,6 +496,7 @@
         = "android.app.extra.PROVISIONING_DEVICE_INITIALIZER_PACKAGE_DOWNLOAD_LOCATION";
 
     /**
+     * @hide
      * An int extra holding a minimum required version code for the device initializer package.
      * If the initializer is already installed on the device, it will only be re-downloaded from
      * {@link #EXTRA_PROVISIONING_DEVICE_INITIALIZER_PACKAGE_DOWNLOAD_LOCATION} if the version of
@@ -506,6 +509,7 @@
         = "android.app.extra.PROVISIONING_DEVICE_INITIALIZER_MINIMUM_VERSION_CODE";
 
     /**
+     * @hide
      * A String extra holding a http cookie header which should be used in the http request to the
      * url specified in {@link #EXTRA_PROVISIONING_DEVICE_INITIALIZER_PACKAGE_DOWNLOAD_LOCATION}.
      *
@@ -516,6 +520,7 @@
         = "android.app.extra.PROVISIONING_DEVICE_INITIALIZER_PACKAGE_DOWNLOAD_COOKIE_HEADER";
 
     /**
+     * @hide
      * A String extra holding the URL-safe base64 encoded SHA-256 checksum of the file at download
      * location specified in
      * {@link #EXTRA_PROVISIONING_DEVICE_INITIALIZER_PACKAGE_DOWNLOAD_LOCATION}.
@@ -532,6 +537,7 @@
         = "android.app.extra.PROVISIONING_DEVICE_INITIALIZER_PACKAGE_CHECKSUM";
 
     /**
+     * @hide
      * A String extra holding the URL-safe base64 encoded SHA-256 checksum of any signature of the
      * android package archive at the download location specified in {@link
      * #EXTRA_PROVISIONING_DEVICE_INITIALIZER_PACKAGE_DOWNLOAD_LOCATION}.
@@ -624,11 +630,6 @@
      * {@link #MIME_TYPE_PROVISIONING_NFC}:
      * <ul>
      * <li>{@link #EXTRA_PROVISIONING_SKIP_ENCRYPTION}, optional</li>
-     * <li>{@link #EXTRA_PROVISIONING_DEVICE_INITIALIZER_COMPONENT_NAME}, optional</li>
-     * <li>{@link #EXTRA_PROVISIONING_DEVICE_INITIALIZER_PACKAGE_DOWNLOAD_LOCATION}, optional</li>
-     * <li>{@link #EXTRA_PROVISIONING_DEVICE_INITIALIZER_PACKAGE_DOWNLOAD_COOKIE_HEADER}, optional</li>
-     * <li>{@link #EXTRA_PROVISIONING_DEVICE_INITIALIZER_PACKAGE_CHECKSUM}, optional</li>
-     * <li>{@link #EXTRA_PROVISIONING_DEVICE_INITIALIZER_MINIMUM_VERSION_CODE}, optional</li>
      * <li>{@link #EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME}.
      * Replaces {@link #EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME}. The value of the property
      * should be converted to a String via
@@ -2769,6 +2770,7 @@
     }
 
     /**
+     * @hide
      * Sets the given component as the device initializer. The package must already be installed and
      * set as an active device administrator, and there must not be an existing device initializer,
      * for this call to succeed. This method can only be called by an app holding the
@@ -2797,6 +2799,7 @@
     }
 
     /**
+     * @hide
      * Used to determine if a particular package has been registered as the device initializer.
      *
      * @param packageName the package name of the app, to compare with the registered device
@@ -2815,6 +2818,7 @@
     }
 
     /**
+     * @hide
      * Removes the device initializer, so that it will not be invoked on user initialization for any
      * subsequently created users. This method can be called by either the device owner or device
      * initializer itself. The caller must be an active administrator.
@@ -2869,6 +2873,7 @@
 
 
     /**
+     * @hide
      * Sets the enabled state of the user. A user should be enabled only once it is ready to
      * be used.
      *