Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 53727410 authored by Narayan Kamath's avatar Narayan Kamath Committed by Android (Google) Code Review
Browse files

Merge "Fix multiArch parsing for ApkLite." into lmp-dev

parents a7cf5597 a8755a84
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -73,6 +73,7 @@ public class PackageInfoLite implements Parcelable {
        dest.writeInt(versionCode);
        dest.writeInt(recommendedInstallLocation);
        dest.writeInt(installLocation);
        dest.writeInt(multiArch ? 1 : 0);

        if (verifiers == null || verifiers.length == 0) {
            dest.writeInt(0);
@@ -98,6 +99,7 @@ public class PackageInfoLite implements Parcelable {
        versionCode = source.readInt();
        recommendedInstallLocation = source.readInt();
        installLocation = source.readInt();
        multiArch = (source.readInt() != 0);

        final int verifiersLength = source.readInt();
        if (verifiersLength == 0) {
+11 −4
Original line number Diff line number Diff line
@@ -1129,11 +1129,8 @@ public class PackageParser {
            } else if (attr.equals("versionCode")) {
                versionCode = attrs.getAttributeIntValue(i, 0);
                numFound++;
            } else if (attr.equals("multiArch")) {
                multiArch = attrs.getAttributeBooleanValue(i, false);
                numFound++;
            }
            if (numFound >= 3) {
            if (numFound >= 2) {
                break;
            }
        }
@@ -1155,6 +1152,16 @@ public class PackageParser {
                    verifiers.add(verifier);
                }
            }

            if (parser.getDepth() == searchDepth && "application".equals(parser.getName())) {
                for (int i = 0; i < attrs.getAttributeCount(); ++i) {
                    final String attr = attrs.getAttributeName(i);
                    if ("multiArch".equals(attr)) {
                        multiArch = attrs.getAttributeBooleanValue(i, false);
                        break;
                    }
                }
            }
        }

        return new ApkLite(codePath, packageSplit.first, packageSplit.second, versionCode,