summaryrefslogtreecommitdiffstats
path: root/src/com/android/packageinstaller/InstallAppProgress.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/packageinstaller/InstallAppProgress.java')
-rwxr-xr-xsrc/com/android/packageinstaller/InstallAppProgress.java20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/com/android/packageinstaller/InstallAppProgress.java b/src/com/android/packageinstaller/InstallAppProgress.java
index 7554704b..49d91cf1 100755
--- a/src/com/android/packageinstaller/InstallAppProgress.java
+++ b/src/com/android/packageinstaller/InstallAppProgress.java
@@ -34,6 +34,8 @@ 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.PackageParser.PackageLite;
import android.content.pm.ResolveInfo;
import android.net.Uri;
import android.os.Bundle;
@@ -48,6 +50,8 @@ import android.widget.ProgressBar;
import android.widget.TextView;
import com.android.packageinstaller.permission.utils.IoUtils;
+import com.android.internal.content.PackageHelper;
+
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
@@ -353,6 +357,22 @@ 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 {
+ PackageLite pkg = PackageParser.parsePackageLite(file, 0);
+ params.setAppPackageName(pkg.packageName);
+ params.setInstallLocation(pkg.installLocation);
+ params.setSize(
+ PackageHelper.calculateInstalledSize(pkg, false, params.abiOverride));
+ } catch (PackageParser.PackageParserException e) {
+ Log.e(TAG, "Cannot parse package " + file + ". Assuming defaults.");
+ Log.e(TAG, "Cannot calculate installed size " + file + ". Try only apk size.");
+ params.setSize(file.length());
+ } catch (IOException e) {
+ Log.e(TAG, "Cannot calculate installed size " + file + ". Try only apk size.");
+ params.setSize(file.length());
+ }
+
mInstallHandler.post(new Runnable() {
@Override
public void run() {