diff options
Diffstat (limited to 'src/com/android/packageinstaller/InstallAppProgress.java')
-rwxr-xr-x | src/com/android/packageinstaller/InstallAppProgress.java | 20 |
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() { |