summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPhilip P. Moltmann <moltmann@google.com>2016-07-11 14:10:00 -0700
committerPhilip P. Moltmann <moltmann@google.com>2016-07-11 21:10:54 +0000
commit356010f2c985e0d1f7f8e6fe7146d4dbc8263d3a (patch)
treee0699e15005af4c671924f9df75a98343cb9788b /src
parent3947c8d14e5a3383762a5cf2d029a3327e8c5fde (diff)
downloadandroid_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-xsrc/com/android/packageinstaller/InstallAppProgress.java8
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() {