diff options
author | Dianne Hackborn <hackbod@google.com> | 2014-04-24 13:06:27 -0700 |
---|---|---|
committer | Dianne Hackborn <hackbod@google.com> | 2014-04-24 16:18:43 -0700 |
commit | ffcda1086185f217ebfbac0735f92fcc8a9196c8 (patch) | |
tree | f0f0222a56d621b4090453d2aa89750f33bfaf12 /core/java/android/content | |
parent | d80cb24a5772d5536ac52ea7edee05f782575e60 (diff) | |
download | frameworks_base-ffcda1086185f217ebfbac0735f92fcc8a9196c8.zip frameworks_base-ffcda1086185f217ebfbac0735f92fcc8a9196c8.tar.gz frameworks_base-ffcda1086185f217ebfbac0735f92fcc8a9196c8.tar.bz2 |
Add support for muliple active development codenames.
The resource API level is also bumped by the number of
active codenames there are.
Change-Id: Ic1bac452d5c13dc3f48040ffa47f54b28abe2ccc
Diffstat (limited to 'core/java/android/content')
-rw-r--r-- | core/java/android/content/pm/PackageParser.java | 32 |
1 files changed, 24 insertions, 8 deletions
diff --git a/core/java/android/content/pm/PackageParser.java b/core/java/android/content/pm/PackageParser.java index 8b6ca83..8f19f01 100644 --- a/core/java/android/content/pm/PackageParser.java +++ b/core/java/android/content/pm/PackageParser.java @@ -50,6 +50,7 @@ import java.security.spec.EncodedKeySpec; import java.security.spec.InvalidKeySpecException; import java.security.spec.X509EncodedKeySpec; import java.util.ArrayList; +import java.util.Arrays; import java.util.Enumeration; import java.util.HashMap; import java.util.HashSet; @@ -147,8 +148,7 @@ public class PackageParser { private String[] mSeparateProcesses; private boolean mOnlyCoreApps; private static final int SDK_VERSION = Build.VERSION.SDK_INT; - private static final String SDK_CODENAME = "REL".equals(Build.VERSION.CODENAME) - ? null : Build.VERSION.CODENAME; + private static final String[] SDK_CODENAMES = Build.VERSION.ACTIVE_CODENAMES; private int mParseError = PackageManager.INSTALL_SUCCEEDED; @@ -1200,10 +1200,18 @@ public class PackageParser { sa.recycle(); if (minCode != null) { - if (!minCode.equals(SDK_CODENAME)) { - if (SDK_CODENAME != null) { + boolean allowedCodename = false; + for (String codename : SDK_CODENAMES) { + if (minCode.equals(codename)) { + allowedCodename = true; + break; + } + } + if (!allowedCodename) { + if (SDK_CODENAMES.length > 0) { outError[0] = "Requires development platform " + minCode - + " (current platform is " + SDK_CODENAME + ")"; + + " (current platform is any of " + + Arrays.toString(SDK_CODENAMES) + ")"; } else { outError[0] = "Requires development platform " + minCode + " but this is a release platform."; @@ -1219,10 +1227,18 @@ public class PackageParser { } if (targetCode != null) { - if (!targetCode.equals(SDK_CODENAME)) { - if (SDK_CODENAME != null) { + boolean allowedCodename = false; + for (String codename : SDK_CODENAMES) { + if (targetCode.equals(codename)) { + allowedCodename = true; + break; + } + } + if (!allowedCodename) { + if (SDK_CODENAMES.length > 0) { outError[0] = "Requires development platform " + targetCode - + " (current platform is " + SDK_CODENAME + ")"; + + " (current platform is any of " + + Arrays.toString(SDK_CODENAMES) + ")"; } else { outError[0] = "Requires development platform " + targetCode + " but this is a release platform."; |