diff options
author | Maurice Lam <yukl@google.com> | 2018-10-05 13:00:43 -0700 |
---|---|---|
committer | Maurice Lam <yukl@google.com> | 2018-10-05 16:23:31 -0700 |
commit | e130bc814dbc03f9e08489d1df61c1071a5e90cb (patch) | |
tree | 0a3c526f3ea8fb2a2d90163a9cfdc34fc109b986 | |
parent | ee7eb736d69e4f424a1dbe6cfd1b4e1cadad03e5 (diff) | |
download | robolectric-shadows-e130bc814dbc03f9e08489d1df61c1071a5e90cb.tar.gz |
Add support for hidden framework resources
@*android resource references are used by bundled apps to reference
framework internal resources.
Test: atest RunSettingsRoboTests
Change-Id: I0da0fa28ea384dd6a6d994345a26fc3f7d0576d4
-rw-r--r-- | resources/src/main/java/org/robolectric/res/ResName.java | 9 | ||||
-rw-r--r-- | robolectric/src/test/java/org/robolectric/res/ResNameTest.java | 1 |
2 files changed, 9 insertions, 1 deletions
diff --git a/resources/src/main/java/org/robolectric/res/ResName.java b/resources/src/main/java/org/robolectric/res/ResName.java index e5fcd7ac4..42ce2b5c1 100644 --- a/resources/src/main/java/org/robolectric/res/ResName.java +++ b/resources/src/main/java/org/robolectric/res/ResName.java @@ -77,7 +77,14 @@ public class ResName { return null; } - return new ResName(packageName == null ? defaultPackageName : packageName, + if (packageName == null) { + packageName = defaultPackageName; + } else if ("*android".equals(packageName)) { + packageName = "android"; + } + + return new ResName( + packageName, type == null ? defaultType : type, name); } diff --git a/robolectric/src/test/java/org/robolectric/res/ResNameTest.java b/robolectric/src/test/java/org/robolectric/res/ResNameTest.java index bb0443eef..79f5ca969 100644 --- a/robolectric/src/test/java/org/robolectric/res/ResNameTest.java +++ b/robolectric/src/test/java/org/robolectric/res/ResNameTest.java @@ -11,6 +11,7 @@ public class ResNameTest { @Test public void shouldQualify() throws Exception { assertThat(ResName.qualifyResourceName("some.package:type/name", null, null)).isEqualTo("some.package:type/name"); assertThat(ResName.qualifyResourceName("some.package:type/name", "default.package", "deftype")).isEqualTo("some.package:type/name"); + assertThat(ResName.qualifyResourceName("*android:type/name", "default.package", "deftype")).isEqualTo("android:type/name"); assertThat(ResName.qualifyResourceName("some.package:name", "default.package", "deftype")).isEqualTo("some.package:deftype/name"); assertThat(ResName.qualifyResourceName("type/name", "default.package", "deftype")).isEqualTo("default.package:type/name"); assertThat(ResName.qualifyResourceName("name", "default.package", "deftype")).isEqualTo("default.package:deftype/name"); |