diff --git a/core/java/android/content/pm/PackageInstaller.java b/core/java/android/content/pm/PackageInstaller.java index 0d218c2d0a650..3be7f74dca14c 100644 --- a/core/java/android/content/pm/PackageInstaller.java +++ b/core/java/android/content/pm/PackageInstaller.java @@ -1567,7 +1567,7 @@ public class PackageInstaller { /** {@hide} */ public boolean forceQueryableOverride; /** {@hide} */ - public Boolean requireUserAction; + public int requireUserAction = SessionInfo.USER_ACTION_UNSPECIFIED; /** * Construct parameters for a new package install session. @@ -1610,12 +1610,7 @@ public class PackageInstaller { dataLoaderParams = new DataLoaderParams(dataLoaderParamsParcel); } rollbackDataPolicy = source.readInt(); - int requireUserActionInt = source.readInt(); - requireUserAction = requireUserActionInt == 0 - ? Boolean.FALSE - : requireUserActionInt == 1 - ? Boolean.TRUE : null; - + requireUserAction = source.readInt(); } /** {@hide} */ @@ -2048,31 +2043,34 @@ public class PackageInstaller { * {@link android.Manifest.permission#REQUEST_INSTALL_PACKAGES android.permission * #REQUEST_INSTALL_PACKAGES} permission, and {@code false} otherwise. When {@code true}, * installers will receive a {@link #STATUS_PENDING_USER_ACTION} callback once the - * session is committed, indicating that the user is required for the install to proceed. + * session is committed, indicating that user action is required for the install to proceed. *
- * For installers using the {@link android.Manifest.permission#REQUEST_INSTALL_PACKAGES - * android.permission.REQUEST_INSTALL_PACKAGES} permission, user action will not be - * required when the following conditions are met: + * For installers that have been granted the + * {@link android.Manifest.permission#REQUEST_INSTALL_PACKAGES android.permission + * .REQUEST_INSTALL_PACKAGES} permission, user action will not be required when all of + * the following conditions are met: * *
* Note: The target API level requirement will advance in future Android versions.
- * Session owners should always be prepared to handle {@link #STATUS_PENDING_USER_ACTION}
+ * Session owners should always be prepared to handle {@link #STATUS_PENDING_USER_ACTION}.
*
* @param requireUserAction whether user action should be required.
*/
public void setRequireUserAction(boolean requireUserAction) {
- this.requireUserAction = requireUserAction;
+ this.requireUserAction = requireUserAction
+ ? SessionInfo.USER_ACTION_REQUIRED
+ : SessionInfo.USER_ACTION_NOT_REQUIRED;
}
/**
@@ -2105,7 +2103,7 @@ public class PackageInstaller {
pw.printPair("isMultiPackage", isMultiPackage);
pw.printPair("isStaged", isStaged);
pw.printPair("forceQueryable", forceQueryableOverride);
- pw.printPair("requireUserAction", requireUserAction);
+ pw.printPair("requireUserAction", SessionInfo.userActionToString(requireUserAction));
pw.printPair("requiredInstalledVersionCode", requiredInstalledVersionCode);
pw.printPair("dataLoaderParams", dataLoaderParams);
pw.printPair("rollbackDataPolicy", rollbackDataPolicy);
@@ -2147,10 +2145,7 @@ public class PackageInstaller {
dest.writeParcelable(null, flags);
}
dest.writeInt(rollbackDataPolicy);
- dest.writeInt(requireUserAction == Boolean.TRUE
- ? 1
- : requireUserAction == Boolean.FALSE
- ? 0 : 2);
+ dest.writeInt(requireUserAction);
}
public static final Parcelable.Creator