diff options
author | Philip P. Moltmann <moltmann@google.com> | 2016-07-11 14:10:00 -0700 |
---|---|---|
committer | Philip P. Moltmann <moltmann@google.com> | 2016-07-11 21:10:54 +0000 |
commit | 356010f2c985e0d1f7f8e6fe7146d4dbc8263d3a (patch) | |
tree | e0699e15005af4c671924f9df75a98343cb9788b /src | |
parent | 3947c8d14e5a3383762a5cf2d029a3327e8c5fde (diff) | |
download | android_packages_apps_PackageInstaller-356010f2c985e0d1f7f8e6fe7146d4dbc8263d3a.tar.gz android_packages_apps_PackageInstaller-356010f2c985e0d1f7f8e6fe7146d4dbc8263d3a.tar.bz2 android_packages_apps_PackageInstaller-356010f2c985e0d1f7f8e6fe7146d4dbc8263d3a.zip |
Read and apply 'installLocation'
... when installing app via packageInstaller.
This allows the apk to have some limited control over where it will be
installed.
Change-Id: Id5140e7d2a2e3b8dd59815a0febf5c05cee08fbf
Fixes: 30056625
Diffstat (limited to 'src')
-rwxr-xr-x | src/com/android/packageinstaller/InstallAppProgress.java | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/com/android/packageinstaller/InstallAppProgress.java b/src/com/android/packageinstaller/InstallAppProgress.java index 7554704b..a2bbfc0c 100755 --- a/src/com/android/packageinstaller/InstallAppProgress.java +++ b/src/com/android/packageinstaller/InstallAppProgress.java @@ -34,6 +34,7 @@ import android.content.pm.PackageInfo; import android.content.pm.PackageInstaller; import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; +import android.content.pm.PackageParser; import android.content.pm.ResolveInfo; import android.net.Uri; import android.os.Bundle; @@ -353,6 +354,13 @@ public class InstallAppProgress extends Activity implements View.OnClickListener params.originatingUid = getIntent().getIntExtra(Intent.EXTRA_ORIGINATING_UID, UID_UNKNOWN); + File file = new File(mPackageURI.getPath()); + try { + params.setInstallLocation(PackageParser.parsePackageLite(file, 0).installLocation); + } catch (PackageParser.PackageParserException e) { + Log.e(TAG, "Cannot parse package " + file + ". Assuming defaults."); + } + mInstallHandler.post(new Runnable() { @Override public void run() { |