[DO NOT MERGE] Only setSize if -s arg is specified am: b87a491de6
am: 7c9a91094d
Change-Id: I386176cef3812d13a0b5e1583e55b470e4fc312d
This commit is contained in:
@@ -367,18 +367,24 @@ public final class Pm {
|
|||||||
private int runInstall() throws RemoteException {
|
private int runInstall() throws RemoteException {
|
||||||
final InstallParams params = makeInstallParams();
|
final InstallParams params = makeInstallParams();
|
||||||
final String inPath = nextArg();
|
final String inPath = nextArg();
|
||||||
|
boolean installExternal =
|
||||||
|
(params.sessionParams.installFlags & PackageManager.INSTALL_EXTERNAL) != 0;
|
||||||
if (params.sessionParams.sizeBytes < 0 && inPath != null) {
|
if (params.sessionParams.sizeBytes < 0 && inPath != null) {
|
||||||
File file = new File(inPath);
|
File file = new File(inPath);
|
||||||
if (file.isFile()) {
|
if (file.isFile()) {
|
||||||
try {
|
if (installExternal) {
|
||||||
ApkLite baseApk = PackageParser.parseApkLite(file, 0);
|
try {
|
||||||
PackageLite pkgLite = new PackageLite(null, baseApk, null, null, null);
|
ApkLite baseApk = PackageParser.parseApkLite(file, 0);
|
||||||
params.sessionParams.setSize(
|
PackageLite pkgLite = new PackageLite(null, baseApk, null, null, null);
|
||||||
PackageHelper.calculateInstalledSize(pkgLite, false,
|
params.sessionParams.setSize(
|
||||||
params.sessionParams.abiOverride));
|
PackageHelper.calculateInstalledSize(pkgLite, false,
|
||||||
} catch (PackageParserException | IOException e) {
|
params.sessionParams.abiOverride));
|
||||||
System.err.println("Error: Failed to parse APK file : " + e);
|
} catch (PackageParserException | IOException e) {
|
||||||
return 1;
|
System.err.println("Error: Failed to parse APK file : " + e);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
params.sessionParams.setSize(file.length());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -143,17 +143,24 @@ class PackageManagerShellCommand extends ShellCommand {
|
|||||||
final PrintWriter pw = getOutPrintWriter();
|
final PrintWriter pw = getOutPrintWriter();
|
||||||
final InstallParams params = makeInstallParams();
|
final InstallParams params = makeInstallParams();
|
||||||
final String inPath = getNextArg();
|
final String inPath = getNextArg();
|
||||||
|
boolean installExternal =
|
||||||
|
(params.sessionParams.installFlags & PackageManager.INSTALL_EXTERNAL) != 0;
|
||||||
if (params.sessionParams.sizeBytes < 0 && inPath != null) {
|
if (params.sessionParams.sizeBytes < 0 && inPath != null) {
|
||||||
File file = new File(inPath);
|
File file = new File(inPath);
|
||||||
if (file.isFile()) {
|
if (file.isFile()) {
|
||||||
try {
|
if (installExternal) {
|
||||||
ApkLite baseApk = PackageParser.parseApkLite(file, 0);
|
try {
|
||||||
PackageLite pkgLite = new PackageLite(null, baseApk, null, null, null);
|
ApkLite baseApk = PackageParser.parseApkLite(file, 0);
|
||||||
params.sessionParams.setSize(
|
PackageLite pkgLite = new PackageLite(null, baseApk, null, null, null);
|
||||||
PackageHelper.calculateInstalledSize(pkgLite,false, params.sessionParams.abiOverride));
|
params.sessionParams.setSize(
|
||||||
} catch (PackageParserException | IOException e) {
|
PackageHelper.calculateInstalledSize(pkgLite, false,
|
||||||
pw.println("Error: Failed to parse APK file : " + e);
|
params.sessionParams.abiOverride));
|
||||||
return 1;
|
} catch (PackageParserException | IOException e) {
|
||||||
|
pw.println("Error: Failed to parse APK file : " + e);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
params.sessionParams.setSize(file.length());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user