diff options
Diffstat (limited to 'compiler/src/main/java/android/databinding/tool/expr/ResourceExpr.java')
-rw-r--r-- | compiler/src/main/java/android/databinding/tool/expr/ResourceExpr.java | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/compiler/src/main/java/android/databinding/tool/expr/ResourceExpr.java b/compiler/src/main/java/android/databinding/tool/expr/ResourceExpr.java index 752cb9f8..2ecf5fb0 100644 --- a/compiler/src/main/java/android/databinding/tool/expr/ResourceExpr.java +++ b/compiler/src/main/java/android/databinding/tool/expr/ResourceExpr.java @@ -120,20 +120,22 @@ public class ResourceExpr extends Expr { @Override protected String computeUniqueKey() { - String base; - if (mPackage == null) { - base = "@" + mResourceType + "/" + mResourceId; - } else { - base = "@" + "android:" + mResourceType + "/" + mResourceId; - } + String base = toString(); return join(base, computeChildrenKey()); } @Override - protected KCode generateCode(boolean expand) { + protected KCode generateCode() { return new KCode(toJava()); } + @Override + public Expr cloneToModel(ExprModel model) { + String pkg = mPackage.isEmpty() ? "" : "android"; + return model.resourceExpr(pkg, mResourceType, mResourceId, + cloneToModel(model, getChildren())); + } + public String getResourceId() { return mPackage + "R." + getResourceObject() + "." + mResourceId; } @@ -211,4 +213,13 @@ public class ResourceExpr extends Expr { } return rFileObject; } + + @Override + public String toString() { + if (mPackage == null) { + return "@" + mResourceType + "/" + mResourceId; + } else { + return "@" + "android:" + mResourceType + "/" + mResourceId; + } + } } |