From 90f753e85110c58d0a3e8b72f2d19b0508eae23b Mon Sep 17 00:00:00 2001 From: Eugene Kudelevsky Date: Tue, 19 Jun 2012 17:55:17 +0400 Subject: [PATCH] do not add system attribute references into R.attr class --- .../jetbrains/android/util/ValueResourcesFileParser.java | 8 +++++--- .../org/jetbrains/android/AndroidValueResourcesIndex.java | 2 +- .../org/jetbrains/android/util/AndroidResourceUtil.java | 2 +- .../android/testData/dom/resources/JavaHighlighting.java | 3 +++ .../android/testData/dom/resources/value_resources.xml | 6 +++++- 5 files changed, 15 insertions(+), 6 deletions(-) diff --git a/plugins/android/common/src/org/jetbrains/android/util/ValueResourcesFileParser.java b/plugins/android/common/src/org/jetbrains/android/util/ValueResourcesFileParser.java index fb260ad45ca3..df61bcc3b2cd 100644 --- a/plugins/android/common/src/org/jetbrains/android/util/ValueResourcesFileParser.java +++ b/plugins/android/common/src/org/jetbrains/android/util/ValueResourcesFileParser.java @@ -75,11 +75,13 @@ public abstract class ValueResourcesFileParser implements IXMLBuilder { @Override public void elementAttributesProcessed(String name, String nsPrefix, String nsURI) throws Exception { if (myLastNameAttr != null && name != null) { - final String resType = "item".equals(name) + final String resTypeStr = "item".equals(name) ? myLastTypeAttr : AndroidCommonUtils.getResourceTypeByTagName(name); - if (resType != null && ResourceType.getEnum(resType) != null) { - process(new ResourceEntry(resType, myLastNameAttr)); + final ResourceType resType = resTypeStr != null ? ResourceType.getEnum(resTypeStr) : null; + if (resType != null && + !(resType == ResourceType.ATTR && myLastNameAttr.startsWith("android:"))) { + process(new ResourceEntry(resTypeStr, myLastNameAttr)); } } } diff --git a/plugins/android/src/org/jetbrains/android/AndroidValueResourcesIndex.java b/plugins/android/src/org/jetbrains/android/AndroidValueResourcesIndex.java index f40f1a0d024e..427c5ac11a9e 100644 --- a/plugins/android/src/org/jetbrains/android/AndroidValueResourcesIndex.java +++ b/plugins/android/src/org/jetbrains/android/AndroidValueResourcesIndex.java @@ -163,6 +163,6 @@ public class AndroidValueResourcesIndex extends FileBasedIndexExtensionunknown; int n3 = R.styleable.MyStyleable; int[] n4 = R.styleable.MyStyleable; + int n5 = R.attr.myAttr1; + n5 = R.attr.myAttr2; + n5 = R.attr.android_text; } } \ No newline at end of file diff --git a/plugins/android/testData/dom/resources/value_resources.xml b/plugins/android/testData/dom/resources/value_resources.xml index 47a2a3e36ecd..99bc7ef46802 100644 --- a/plugins/android/testData/dom/resources/value_resources.xml +++ b/plugins/android/testData/dom/resources/value_resources.xml @@ -1,5 +1,9 @@ abacaba - + + + + + \ No newline at end of file