diff options
author | Christian Williams <christianw@google.com> | 2017-11-10 14:43:10 -0800 |
---|---|---|
committer | Christian Williams <christianw@google.com> | 2017-11-10 14:43:10 -0800 |
commit | e9038f354cfeac3eb9a4578acb7b0d9f0300b694 (patch) | |
tree | 67cf5e5f94f5e9c706799156453b09326b465b73 /resources/src/main/java/org | |
parent | 0d19592c0a8cb50187c3c5de545b2544cb97c370 (diff) | |
download | robolectric-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.java | 10 |
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() { |