summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Deepanshu Gupta <deepanshu@google.com> 2014-11-10 21:00:43 +0000
committer android-build-merger <android-build-merger@google.com> 2014-11-10 21:00:43 +0000
commit4c0f0e6c852dd933bcfaf95380cca49a46fa3912 (patch)
treeaf7229d3c18c9e4c77b6e84543f377ecc469d31c
parent3cf0640d944a0718b9e29a2134a577e72a9432b4 (diff)
parent5c22a79baf81727b56a85a194d678c18449b5150 (diff)
Merge "Fix setting styles in custom views." into lmp-dev
automerge: 5c22a79 * commit '5c22a79baf81727b56a85a194d678c18449b5150': Fix setting styles in custom views.
-rw-r--r--tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeContext.java17
1 files changed, 17 insertions, 0 deletions
diff --git a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeContext.java b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeContext.java
index 3d3afa4d8fe4..aeb70e9e2f76 100644
--- a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeContext.java
+++ b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeContext.java
@@ -479,6 +479,23 @@ public final class BridgeContext extends Context {
StyleResourceValue style = getStyleByDynamicId(resid);
if (style == null) {
+ // In some cases, style may not be a dynamic id, so we do a full search.
+ ResourceReference ref = resolveId(resid);
+ if (ref != null) {
+ if (ref.isFramework()) {
+ ref =
+ getRenderResources().getFrameworkResource(ResourceType.STYLE, ref.getName());
+ } else {
+ ref =
+ getRenderResources().getProjectResource(ResourceType.STYLE, ref.getName());
+ }
+ if (ref instanceof StyleResourceValue) {
+ style = ((StyleResourceValue) ref);
+ }
+ }
+ }
+
+ if (style == null) {
throw new Resources.NotFoundException();
}