aboutsummaryrefslogtreecommitdiff
path: root/resources/src/main/java/org
diff options
context:
space:
mode:
authorChristian Williams <christianw@google.com>2017-11-10 14:43:10 -0800
committerChristian Williams <christianw@google.com>2017-11-10 14:43:10 -0800
commite9038f354cfeac3eb9a4578acb7b0d9f0300b694 (patch)
tree67cf5e5f94f5e9c706799156453b09326b465b73 /resources/src/main/java/org
parent0d19592c0a8cb50187c3c5de545b2544cb97c370 (diff)
downloadrobolectric-shadows-e9038f354cfeac3eb9a4578acb7b0d9f0300b694.tar.gz
For resources with unrecognized qualifiers, still match v* part.
Diffstat (limited to 'resources/src/main/java/org')
-rw-r--r--resources/src/main/java/org/robolectric/res/XmlContext.java10
1 files changed, 9 insertions, 1 deletions
diff --git a/resources/src/main/java/org/robolectric/res/XmlContext.java b/resources/src/main/java/org/robolectric/res/XmlContext.java
index c3d9c26c3..798a1828e 100644
--- a/resources/src/main/java/org/robolectric/res/XmlContext.java
+++ b/resources/src/main/java/org/robolectric/res/XmlContext.java
@@ -4,9 +4,11 @@ import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.robolectric.res.android.ConfigDescription;
import org.robolectric.res.android.ResTable_config;
+import org.robolectric.util.Logger;
public class XmlContext {
private static final Pattern DIR_QUALIFIER_PATTERN = Pattern.compile("^[^-]+(?:-(.*))?$");
+ private static final Pattern VERSION_QUALIFIER_PATTERN = Pattern.compile("v(\\d+)$");
private final String packageName;
private final FsFile xmlFile;
@@ -18,7 +20,13 @@ public class XmlContext {
this.xmlFile = xmlFile;
config = new ResTable_config();
this.qualifiers = determineQualifiers();
- new ConfigDescription().parse(qualifiers, config);
+ if (!new ConfigDescription().parse(qualifiers, config)) {
+ Logger.warn("failed to parse %s", qualifiers);
+ Matcher matcher = VERSION_QUALIFIER_PATTERN.matcher(qualifiers);
+ if (matcher.find()) {
+ config.sdkVersion = Integer.parseInt(matcher.group(1));
+ }
+ }
}
public String getPackageName() {