Loading api/current.txt +1 −1 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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 api/system-current.txt +1 −1 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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 api/test-current.txt +1 −1 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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 core/java/android/content/pm/PackageParser.java +20 −15 Original line number Diff line number Diff line Loading @@ -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, Loading @@ -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; } Loading Loading @@ -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; Loading @@ -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; } } Loading Loading @@ -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); Loading Loading @@ -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); Loading Loading @@ -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++) { Loading Loading @@ -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); Loading @@ -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); } /** Loading Loading @@ -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; Loading Loading @@ -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; } } } Loading core/res/res/values/attrs_manifest.xml +4 −2 Original line number Diff line number Diff line Loading @@ -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 Loading
api/current.txt +1 −1 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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
api/system-current.txt +1 −1 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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
api/test-current.txt +1 −1 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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
core/java/android/content/pm/PackageParser.java +20 −15 Original line number Diff line number Diff line Loading @@ -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, Loading @@ -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; } Loading Loading @@ -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; Loading @@ -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; } } Loading Loading @@ -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); Loading Loading @@ -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); Loading Loading @@ -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++) { Loading Loading @@ -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); Loading @@ -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); } /** Loading Loading @@ -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; Loading Loading @@ -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; } } } Loading
core/res/res/values/attrs_manifest.xml +4 −2 Original line number Diff line number Diff line Loading @@ -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