diff options
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/android/content/pm/IPackageInstallerSession.aidl | 3 | ||||
| -rw-r--r-- | core/java/android/content/pm/PackageInstaller.java | 237 |
2 files changed, 3 insertions, 237 deletions
diff --git a/core/java/android/content/pm/IPackageInstallerSession.aidl b/core/java/android/content/pm/IPackageInstallerSession.aidl index 0b16852246f8..2a3fac341e24 100644 --- a/core/java/android/content/pm/IPackageInstallerSession.aidl +++ b/core/java/android/content/pm/IPackageInstallerSession.aidl @@ -32,7 +32,6 @@ interface IPackageInstallerSession { void removeSplit(String splitName); void close(); - void commit(in IntentSender statusReceiver, boolean forTransferred); - void transfer(in String packageName); + void commit(in IntentSender statusReceiver); void abandon(); } diff --git a/core/java/android/content/pm/PackageInstaller.java b/core/java/android/content/pm/PackageInstaller.java index f4fdcaa44836..c3ebf554ea8c 100644 --- a/core/java/android/content/pm/PackageInstaller.java +++ b/core/java/android/content/pm/PackageInstaller.java @@ -38,7 +38,6 @@ import android.os.Message; import android.os.Parcel; import android.os.ParcelFileDescriptor; import android.os.Parcelable; -import android.os.ParcelableException; import android.os.RemoteException; import android.os.SystemProperties; import android.system.ErrnoException; @@ -794,7 +793,7 @@ public class PackageInstaller { * @throws IOException if trouble opening the file for writing, such as * lack of disk space or unavailable media. * @throws SecurityException if called after the session has been - * sealed or abandoned + * committed or abandoned. */ public @NonNull OutputStream openWrite(@NonNull String name, long offsetBytes, long lengthBytes) throws IOException { @@ -919,68 +918,7 @@ public class PackageInstaller { */ public void commit(@NonNull IntentSender statusReceiver) { try { - mSession.commit(statusReceiver, false); - } catch (RemoteException e) { - throw e.rethrowFromSystemServer(); - } - } - - /** - * Attempt to commit a session that has been {@link #transfer(String) transferred}. - * - * <p>If the device reboots before the session has been finalized, you may commit the - * session again. - * - * <p>The caller of this method is responsible to ensure the safety of the session. As the - * session was created by another - usually less trusted - app, it is paramount that before - * committing <u>all</u> public and system {@link SessionInfo properties of the session} - * and <u>all</u> {@link #openRead(String) APKs} are verified by the caller. It might happen - * that new properties are added to the session with a new API revision. In this case the - * callers need to be updated. - * - * @param statusReceiver Callbacks called when the state of the session changes. - * - * @hide - */ - @SystemApi - @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) - public void commitTransferred(@NonNull IntentSender statusReceiver) { - try { - mSession.commit(statusReceiver, true); - } catch (RemoteException e) { - throw e.rethrowFromSystemServer(); - } - } - - /** - * Transfer the session to a new owner. - * <p> - * Only sessions that update the installing app can be transferred. - * <p> - * After the transfer to a package with a different uid all method calls on the session - * will cause {@link SecurityException}s. - * <p> - * Once this method is called, the session is sealed and no additional mutations beside - * committing it may be performed on the session. - * - * @param packageName The package of the new owner. Needs to hold the INSTALL_PACKAGES - * permission. - * - * @throws PackageManager.NameNotFoundException if the new owner could not be found. - * @throws SecurityException if called after the session has been committed or abandoned. - * @throws SecurityException if the session does not update the original installer - * @throws SecurityException if streams opened through - * {@link #openWrite(String, long, long) are still open. - */ - public void transfer(@NonNull String packageName) - throws PackageManager.NameNotFoundException { - Preconditions.checkNotNull(packageName); - - try { - mSession.transfer(packageName); - } catch (ParcelableException e) { - e.maybeRethrow(PackageManager.NameNotFoundException.class); - throw new RuntimeException(e); + mSession.commit(statusReceiver); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } @@ -1103,26 +1041,6 @@ public class PackageInstaller { } /** - * Check if there are hidden options set. - * - * <p>Hidden options are those options that cannot be verified via public or system-api - * methods on {@link SessionInfo}. - * - * @return {@code true} if any hidden option is set. - * - * @hide - */ - public boolean areHiddenOptionsSet() { - return (installFlags & (PackageManager.INSTALL_ALLOW_DOWNGRADE - | PackageManager.INSTALL_DONT_KILL_APP - | PackageManager.INSTALL_INSTANT_APP - | PackageManager.INSTALL_FULL_APP - | PackageManager.INSTALL_VIRTUAL_PRELOAD - | PackageManager.INSTALL_ALLOCATE_AGGRESSIVE)) != installFlags - || abiOverride != null || volumeUuid != null; - } - - /** * Provide value of {@link PackageInfo#installLocation}, which may be used * to determine where the app will be staged. Defaults to * {@link PackageInfo#INSTALL_LOCATION_INTERNAL_ONLY}. @@ -1382,19 +1300,6 @@ public class PackageInstaller { public CharSequence appLabel; /** {@hide} */ - public int installLocation; - /** {@hide} */ - public Uri originatingUri; - /** {@hide} */ - public int originatingUid; - /** {@hide} */ - public Uri referrerUri; - /** {@hide} */ - public String[] grantedRuntimePermissions; - /** {@hide} */ - public int installFlags; - - /** {@hide} */ public SessionInfo() { } @@ -1413,13 +1318,6 @@ public class PackageInstaller { appPackageName = source.readString(); appIcon = source.readParcelable(null); appLabel = source.readString(); - - installLocation = source.readInt(); - originatingUri = source.readParcelable(null); - originatingUid = source.readInt(); - referrerUri = source.readParcelable(null); - grantedRuntimePermissions = source.readStringArray(); - installFlags = source.readInt(); } /** @@ -1543,130 +1441,6 @@ public class PackageInstaller { return intent; } - /** - * Get the mode of the session as set in the constructor of the {@link SessionParams}. - * - * @return One of {@link SessionParams#MODE_FULL_INSTALL} - * or {@link SessionParams#MODE_INHERIT_EXISTING} - */ - public int getMode() { - return mode; - } - - /** - * Get the value set in {@link SessionParams#setInstallLocation(int)}. - */ - public int getInstallLocation() { - return installLocation; - } - - /** - * Get the value as set in {@link SessionParams#setSize(long)}. - * - * <p>The value is a hint and does not have to match the actual size. - */ - public long getSize() { - return sizeBytes; - } - - /** - * Get the value set in {@link SessionParams#setOriginatingUri(Uri)}. - */ - public @Nullable Uri getOriginatingUri() { - return originatingUri; - } - - /** - * Get the value set in {@link SessionParams#setOriginatingUid(int)}. - */ - public int getOriginatingUid() { - return originatingUid; - } - - /** - * Get the value set in {@link SessionParams#setReferrerUri(Uri)} - */ - public @Nullable Uri getReferrerUri() { - return referrerUri; - } - - /** - * Get the value set in {@link SessionParams#setGrantedRuntimePermissions(String[])}. - * - * @hide - */ - @SystemApi - public @Nullable String[] getGrantedRuntimePermissions() { - return grantedRuntimePermissions; - } - - /** - * Get the value set in {@link SessionParams#setAllowDowngrade(boolean)}. - * - * @hide - */ - @SystemApi - public boolean getAllowDowngrade() { - return (installFlags & PackageManager.INSTALL_ALLOW_DOWNGRADE) != 0; - } - - /** - * Get the value set in {@link SessionParams#setDontKillApp(boolean)}. - * - * @hide - */ - @SystemApi - public boolean getDontKillApp() { - return (installFlags & PackageManager.INSTALL_DONT_KILL_APP) != 0; - } - - /** - * If {@link SessionParams#setInstallAsInstantApp(boolean)} was called with {@code true}, - * return true. If it was called with {@code false} or if it was not called return false. - * - * @hide - * - * @see #getInstallAsFullApp - */ - @SystemApi - public boolean getInstallAsInstantApp(boolean isInstantApp) { - return (installFlags & PackageManager.INSTALL_INSTANT_APP) != 0; - } - - /** - * If {@link SessionParams#setInstallAsInstantApp(boolean)} was called with {@code false}, - * return true. If it was called with {@code true} or if it was not called return false. - * - * @hide - * - * @see #getInstallAsInstantApp - */ - @SystemApi - public boolean getInstallAsFullApp(boolean isInstantApp) { - return (installFlags & PackageManager.INSTALL_FULL_APP) != 0; - } - - /** - * Get if {@link SessionParams#setInstallAsVirtualPreload()} was called. - * - * @hide - */ - @SystemApi - public boolean getInstallAsVirtualPreload() { - return (installFlags & PackageManager.INSTALL_VIRTUAL_PRELOAD) != 0; - } - - /** - * Get the value set in {@link SessionParams#setAllocateAggressive(boolean)}. - * - * @hide - */ - @SystemApi - public boolean getAllocateAggressive() { - return (installFlags & PackageManager.INSTALL_ALLOCATE_AGGRESSIVE) != 0; - } - - /** {@hide} */ @Deprecated public @Nullable Intent getDetailsIntent() { @@ -1693,13 +1467,6 @@ public class PackageInstaller { dest.writeString(appPackageName); dest.writeParcelable(appIcon, flags); dest.writeString(appLabel != null ? appLabel.toString() : null); - - dest.writeInt(installLocation); - dest.writeParcelable(originatingUri, flags); - dest.writeInt(originatingUid); - dest.writeParcelable(referrerUri, flags); - dest.writeStringArray(grantedRuntimePermissions); - dest.writeInt(installFlags); } public static final Parcelable.Creator<SessionInfo> |
