diff options
| author | Philip P. Moltmann <moltmann@google.com> | 2018-01-04 23:50:40 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2018-01-04 23:50:40 +0000 |
| commit | e92d9e11564d400ef017acd51867c8f3afa05e30 (patch) | |
| tree | 4ac0658a478988a42a82a3af384b6e2b126e3cd7 /core/java | |
| parent | f262c7f2e00b9239e0c333b81f1ccb1953713ab1 (diff) | |
| parent | 7323eecba36991e161d621c001d35e8cccb258ab (diff) | |
Merge changes from topic "BackupManagerModernInstallInterface"
* changes:
Disable installation via adb restore
Use modern install method in backup service
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/android/app/ApplicationPackageManager.java | 17 | ||||
| -rw-r--r-- | core/java/android/content/pm/IPackageManager.aidl | 8 | ||||
| -rw-r--r-- | core/java/android/content/pm/PackageInstaller.java | 26 | ||||
| -rw-r--r-- | core/java/android/content/pm/PackageManager.java | 12 |
4 files changed, 25 insertions, 38 deletions
diff --git a/core/java/android/app/ApplicationPackageManager.java b/core/java/android/app/ApplicationPackageManager.java index 8641a21a0b3c..82f2bacbcd39 100644 --- a/core/java/android/app/ApplicationPackageManager.java +++ b/core/java/android/app/ApplicationPackageManager.java @@ -64,7 +64,6 @@ import android.graphics.Rect; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.graphics.drawable.LayerDrawable; -import android.net.Uri; import android.os.Build; import android.os.Bundle; import android.os.Handler; @@ -1683,22 +1682,6 @@ public class ApplicationPackageManager extends PackageManager { } @Override - public void installPackage(Uri packageURI, - PackageInstallObserver observer, int flags, String installerPackageName) { - if (!"file".equals(packageURI.getScheme())) { - throw new UnsupportedOperationException("Only file:// URIs are supported"); - } - - final String originPath = packageURI.getPath(); - try { - mPM.installPackageAsUser(originPath, observer.getBinder(), flags, installerPackageName, - mContext.getUserId()); - } catch (RemoteException e) { - throw e.rethrowFromSystemServer(); - } - } - - @Override public int installExistingPackage(String packageName) throws NameNotFoundException { return installExistingPackage(packageName, PackageManager.INSTALL_REASON_UNKNOWN); } diff --git a/core/java/android/content/pm/IPackageManager.aidl b/core/java/android/content/pm/IPackageManager.aidl index 56a0def27602..e319750dfaa6 100644 --- a/core/java/android/content/pm/IPackageManager.aidl +++ b/core/java/android/content/pm/IPackageManager.aidl @@ -26,7 +26,6 @@ import android.content.pm.ChangedPackages; import android.content.pm.InstantAppInfo; import android.content.pm.FeatureInfo; import android.content.pm.IDexModuleRegisterCallback; -import android.content.pm.IPackageInstallObserver2; import android.content.pm.IPackageInstaller; import android.content.pm.IPackageDeleteObserver; import android.content.pm.IPackageDeleteObserver2; @@ -222,13 +221,6 @@ interface IPackageManager { ParceledListSlice queryInstrumentation( String targetPackage, int flags); - /** @deprecated Use PackageInstaller instead */ - void installPackageAsUser(in String originPath, - in IPackageInstallObserver2 observer, - int flags, - in String installerPackageName, - int userId); - void finishPackageInstall(int token, boolean didLaunch); void setInstallerPackageName(in String targetPackage, in String installerPackageName); diff --git a/core/java/android/content/pm/PackageInstaller.java b/core/java/android/content/pm/PackageInstaller.java index 77c5743fc882..df677d208d36 100644 --- a/core/java/android/content/pm/PackageInstaller.java +++ b/core/java/android/content/pm/PackageInstaller.java @@ -324,7 +324,14 @@ public class PackageInstaller { */ public int createSession(@NonNull SessionParams params) throws IOException { try { - return mInstaller.createSession(params, mInstallerPackageName, mUserId); + final String installerPackage; + if (params.installerPackageName == null) { + installerPackage = mInstallerPackageName; + } else { + installerPackage = params.installerPackageName; + } + + return mInstaller.createSession(params, installerPackage, mUserId); } catch (RuntimeException e) { ExceptionUtils.maybeUnwrapIOException(e); throw e; @@ -1081,6 +1088,8 @@ public class PackageInstaller { public String volumeUuid; /** {@hide} */ public String[] grantedRuntimePermissions; + /** {@hide} */ + public String installerPackageName; /** * Construct parameters for a new package install session. @@ -1109,6 +1118,7 @@ public class PackageInstaller { abiOverride = source.readString(); volumeUuid = source.readString(); grantedRuntimePermissions = source.readStringArray(); + installerPackageName = source.readString(); } /** @@ -1304,6 +1314,18 @@ public class PackageInstaller { } } + /** + * Set the installer package for the app. + * + * By default this is the app that created the {@link PackageInstaller} object. + * + * @param installerPackageName name of the installer package + * {@hide} + */ + public void setInstallerPackageName(String installerPackageName) { + this.installerPackageName = installerPackageName; + } + /** {@hide} */ public void dump(IndentingPrintWriter pw) { pw.printPair("mode", mode); @@ -1319,6 +1341,7 @@ public class PackageInstaller { pw.printPair("abiOverride", abiOverride); pw.printPair("volumeUuid", volumeUuid); pw.printPair("grantedRuntimePermissions", grantedRuntimePermissions); + pw.printPair("installerPackageName", installerPackageName); pw.println(); } @@ -1343,6 +1366,7 @@ public class PackageInstaller { dest.writeString(abiOverride); dest.writeString(volumeUuid); dest.writeStringArray(grantedRuntimePermissions); + dest.writeString(installerPackageName); } public static final Parcelable.Creator<SessionParams> diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java index 2d7263293f08..5b85ce34cd15 100644 --- a/core/java/android/content/pm/PackageManager.java +++ b/core/java/android/content/pm/PackageManager.java @@ -47,7 +47,6 @@ import android.content.res.Resources; import android.content.res.XmlResourceParser; import android.graphics.Rect; import android.graphics.drawable.Drawable; -import android.net.Uri; import android.net.wifi.WifiManager; import android.os.Build; import android.os.Bundle; @@ -4718,17 +4717,6 @@ public abstract class PackageManager { } /** - * @deprecated replaced by {@link PackageInstaller} - * @hide - */ - @Deprecated - public abstract void installPackage( - Uri packageURI, - PackageInstallObserver observer, - @InstallFlags int flags, - String installerPackageName); - - /** * If there is already an application with the given package name installed * on the system for other users, also install it for the calling user. * @hide |
