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

Commit 8b67c169 authored by Selim Gurun's avatar Selim Gurun Committed by Android (Google) Code Review
Browse files

Merge "Introduce a use32bitAbi flag" into nyc-dev

parents 65a803f4 2d291d89
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -198,7 +198,6 @@ package android {
  public static final class R.attr {
    ctor public R.attr();
    field public static final int abiOverride = 16844054; // 0x1010516
    field public static final int absListViewStyle = 16842858; // 0x101006a
    field public static final int accessibilityEventTypes = 16843648; // 0x1010380
    field public static final int accessibilityFeedbackType = 16843650; // 0x1010382
@@ -1365,6 +1364,7 @@ package android {
    field public static final deprecated int unfocusedMonthDateColor = 16843588; // 0x1010344
    field public static final int unselectedAlpha = 16843278; // 0x101020e
    field public static final int updatePeriodMillis = 16843344; // 0x1010250
    field public static final int use32bitAbi = 16844054; // 0x1010516
    field public static final int useDefaultMargins = 16843641; // 0x1010379
    field public static final int useIntrinsicSizeAsMinimum = 16843536; // 0x1010310
    field public static final int useLevel = 16843167; // 0x101019f
+1 −1
Original line number Diff line number Diff line
@@ -293,7 +293,6 @@ package android {
  public static final class R.attr {
    ctor public R.attr();
    field public static final int abiOverride = 16844054; // 0x1010516
    field public static final int absListViewStyle = 16842858; // 0x101006a
    field public static final int accessibilityEventTypes = 16843648; // 0x1010380
    field public static final int accessibilityFeedbackType = 16843650; // 0x1010382
@@ -1464,6 +1463,7 @@ package android {
    field public static final deprecated int unfocusedMonthDateColor = 16843588; // 0x1010344
    field public static final int unselectedAlpha = 16843278; // 0x101020e
    field public static final int updatePeriodMillis = 16843344; // 0x1010250
    field public static final int use32bitAbi = 16844054; // 0x1010516
    field public static final int useDefaultMargins = 16843641; // 0x1010379
    field public static final int useIntrinsicSizeAsMinimum = 16843536; // 0x1010310
    field public static final int useLevel = 16843167; // 0x101019f
+1 −1
Original line number Diff line number Diff line
@@ -198,7 +198,6 @@ package android {
  public static final class R.attr {
    ctor public R.attr();
    field public static final int abiOverride = 16844054; // 0x1010516
    field public static final int absListViewStyle = 16842858; // 0x101006a
    field public static final int accessibilityEventTypes = 16843648; // 0x1010380
    field public static final int accessibilityFeedbackType = 16843650; // 0x1010382
@@ -1365,6 +1364,7 @@ package android {
    field public static final deprecated int unfocusedMonthDateColor = 16843588; // 0x1010344
    field public static final int unselectedAlpha = 16843278; // 0x101020e
    field public static final int updatePeriodMillis = 16843344; // 0x1010250
    field public static final int use32bitAbi = 16844054; // 0x1010516
    field public static final int useDefaultMargins = 16843641; // 0x1010379
    field public static final int useIntrinsicSizeAsMinimum = 16843536; // 0x1010310
    field public static final int useLevel = 16843167; // 0x101019f
+20 −15
Original line number Diff line number Diff line
@@ -337,7 +337,7 @@ public class PackageParser {

        public final boolean coreApp;
        public final boolean multiArch;
        public final String abiOverride;
        public final boolean use32bitAbi;
        public final boolean extractNativeLibs;

        public PackageLite(String codePath, ApkLite baseApk, String[] splitNames,
@@ -354,7 +354,7 @@ public class PackageParser {
            this.splitRevisionCodes = splitRevisionCodes;
            this.coreApp = baseApk.coreApp;
            this.multiArch = baseApk.multiArch;
            this.abiOverride = baseApk.abiOverride;
            this.use32bitAbi = baseApk.use32bitAbi;
            this.extractNativeLibs = baseApk.extractNativeLibs;
        }

@@ -382,12 +382,12 @@ public class PackageParser {
        public final Signature[] signatures;
        public final boolean coreApp;
        public final boolean multiArch;
        public final String abiOverride;
        public final boolean use32bitAbi;
        public final boolean extractNativeLibs;

        public ApkLite(String codePath, String packageName, String splitName, int versionCode,
                int revisionCode, int installLocation, List<VerifierInfo> verifiers,
                Signature[] signatures, boolean coreApp, boolean multiArch, String abiOverride,
                Signature[] signatures, boolean coreApp, boolean multiArch, boolean use32bitAbi,
                boolean extractNativeLibs) {
            this.codePath = codePath;
            this.packageName = packageName;
@@ -399,7 +399,7 @@ public class PackageParser {
            this.signatures = signatures;
            this.coreApp = coreApp;
            this.multiArch = multiArch;
            this.abiOverride = abiOverride;
            this.use32bitAbi = use32bitAbi;
            this.extractNativeLibs = extractNativeLibs;
        }
    }
@@ -843,8 +843,7 @@ public class PackageParser {
            }

            pkg.setCodePath(packageDir.getAbsolutePath());
            pkg.setCpuAbiOverride(lite.abiOverride);

            pkg.setUse32bitAbi(lite.use32bitAbi);
            return pkg;
        } finally {
            IoUtils.closeQuietly(assets);
@@ -875,7 +874,7 @@ public class PackageParser {
        try {
            final Package pkg = parseBaseApk(apkFile, assets, flags);
            pkg.setCodePath(apkFile.getAbsolutePath());
            pkg.setCpuAbiOverride(lite.abiOverride);
            pkg.setUse32bitAbi(lite.use32bitAbi);
            return pkg;
        } finally {
            IoUtils.closeQuietly(assets);
@@ -1380,7 +1379,7 @@ public class PackageParser {
        int revisionCode = 0;
        boolean coreApp = false;
        boolean multiArch = false;
        String abiOverride = null;
        boolean use32bitAbi = false;
        boolean extractNativeLibs = true;

        for (int i = 0; i < attrs.getAttributeCount(); i++) {
@@ -1421,8 +1420,8 @@ public class PackageParser {
                    if ("multiArch".equals(attr)) {
                        multiArch = attrs.getAttributeBooleanValue(i, false);
                    }
                    if ("abiOverride".equals(attr)) {
                        abiOverride = attrs.getAttributeValue(i);
                    if ("use32bitAbi".equals(attr)) {
                        use32bitAbi = attrs.getAttributeBooleanValue(i, false);
                    }
                    if ("extractNativeLibs".equals(attr)) {
                        extractNativeLibs = attrs.getAttributeBooleanValue(i, true);
@@ -1433,7 +1432,7 @@ public class PackageParser {

        return new ApkLite(codePath, packageSplit.first, packageSplit.second, versionCode,
                revisionCode, installLocation, verifiers, signatures, coreApp, multiArch,
                abiOverride, extractNativeLibs);
                use32bitAbi, extractNativeLibs);
    }

    /**
@@ -4740,6 +4739,12 @@ public class PackageParser {
         * and prods fields out of {@code this.applicationInfo}.
         */
        public String cpuAbiOverride;
        /**
         * The install time abi override to choose 32bit abi's when multiple abi's
         * are present. This is only meaningfull for multiarch applications.
         * The use32bitAbi attribute is ignored if cpuAbiOverride is also set.
         */
        public boolean use32bitAbi;

        public Package(String packageName) {
            this.packageName = packageName;
@@ -4872,12 +4877,12 @@ public class PackageParser {
            }
        }

        public void setCpuAbiOverride(String cpuAbiOverride) {
            this.cpuAbiOverride = cpuAbiOverride;
        public void setUse32bitAbi(bool use32bitAbi) {
            this.use32bitAbi = use32bitAbi;
            if (childPackages != null) {
                final int packageCount = childPackages.size();
                for (int i = 0; i < packageCount; i++) {
                    childPackages.get(i).cpuAbiOverride = cpuAbiOverride;
                    childPackages.get(i).use32bitAbi = use32bitAbi;
                }
            }
        }
+4 −2
Original line number Diff line number Diff line
@@ -429,8 +429,10 @@
         sets. -->
    <attr name="multiArch" format ="boolean" />

    <!-- Specify abiOverride for multiArch application. -->
    <attr name="abiOverride" />
    <!-- Specify whether the 32 bit version of the ABI should be used in a
         multiArch application. If both abioverride flag (i.e. using abi option of abd install)
         and use32bitAbi are used, then use32bit is ignored.-->
    <attr name="use32bitAbi" />

    <!-- Specify whether a component is allowed to have multiple instances
         of itself running in different processes.  Use with the activity
Loading