diff --git a/plugins/android/src/org/jetbrains/android/dom/drawable/AnimationListItem.java b/plugins/android/src/org/jetbrains/android/dom/drawable/AnimationListItem.java index 3d015e2c5a16..bcd4e4929da9 100644 --- a/plugins/android/src/org/jetbrains/android/dom/drawable/AnimationListItem.java +++ b/plugins/android/src/org/jetbrains/android/dom/drawable/AnimationListItem.java @@ -1,16 +1,7 @@ package org.jetbrains.android.dom.drawable; -import com.intellij.util.xml.Convert; -import org.jetbrains.android.dom.AndroidAttributeValue; -import org.jetbrains.android.dom.ResourceType; -import org.jetbrains.android.dom.converters.ResourceReferenceConverter; -import org.jetbrains.android.dom.resources.ResourceValue; - /** * @author Eugene.Kudelevsky */ -public interface AnimationListItem extends DrawableDomElement { - @Convert(ResourceReferenceConverter.class) - @ResourceType("drawable") - AndroidAttributeValue getDrawable(); +public interface AnimationListItem extends ListItemBase { } diff --git a/plugins/android/src/org/jetbrains/android/dom/drawable/DrawableStateListItem.java b/plugins/android/src/org/jetbrains/android/dom/drawable/DrawableStateListItem.java index feeab917d186..a92bf7367c36 100644 --- a/plugins/android/src/org/jetbrains/android/dom/drawable/DrawableStateListItem.java +++ b/plugins/android/src/org/jetbrains/android/dom/drawable/DrawableStateListItem.java @@ -15,19 +15,8 @@ */ package org.jetbrains.android.dom.drawable; -import com.intellij.util.xml.Convert; -import com.intellij.util.xml.Required; -import org.jetbrains.android.dom.AndroidAttributeValue; -import org.jetbrains.android.dom.ResourceType; -import org.jetbrains.android.dom.converters.ResourceReferenceConverter; -import org.jetbrains.android.dom.resources.ResourceValue; - /** * @author Eugene.Kudelevsky */ -public interface DrawableStateListItem extends DrawableDomElement { - @Convert(ResourceReferenceConverter.class) - @ResourceType("drawable") - @Required - AndroidAttributeValue getDrawable(); +public interface DrawableStateListItem extends ListItemBase { } diff --git a/plugins/android/src/org/jetbrains/android/dom/drawable/LayerListItem.java b/plugins/android/src/org/jetbrains/android/dom/drawable/LayerListItem.java index 259390ef68f1..432b92836eb1 100644 --- a/plugins/android/src/org/jetbrains/android/dom/drawable/LayerListItem.java +++ b/plugins/android/src/org/jetbrains/android/dom/drawable/LayerListItem.java @@ -15,25 +15,8 @@ */ package org.jetbrains.android.dom.drawable; -import com.intellij.util.xml.Convert; -import org.jetbrains.android.dom.AndroidAttributeValue; -import org.jetbrains.android.dom.ResourceType; -import org.jetbrains.android.dom.converters.ResourceReferenceConverter; -import org.jetbrains.android.dom.resources.ResourceValue; - -import java.util.List; - /** * @author Eugene.Kudelevsky */ -public interface LayerListItem extends DrawableDomElement { - @Convert(ResourceReferenceConverter.class) - @ResourceType("drawable") - AndroidAttributeValue getDrawable(); - - List getBitmaps(); - - List getShapes(); - - List getClips(); +public interface LayerListItem extends ListItemBase { } diff --git a/plugins/android/src/org/jetbrains/android/dom/drawable/LevelListItem.java b/plugins/android/src/org/jetbrains/android/dom/drawable/LevelListItem.java index 28b2323ffd93..7928290fefa7 100644 --- a/plugins/android/src/org/jetbrains/android/dom/drawable/LevelListItem.java +++ b/plugins/android/src/org/jetbrains/android/dom/drawable/LevelListItem.java @@ -15,19 +15,8 @@ */ package org.jetbrains.android.dom.drawable; -import com.intellij.util.xml.Convert; -import com.intellij.util.xml.Required; -import org.jetbrains.android.dom.AndroidAttributeValue; -import org.jetbrains.android.dom.ResourceType; -import org.jetbrains.android.dom.converters.ResourceReferenceConverter; -import org.jetbrains.android.dom.resources.ResourceValue; - /** * @author Eugene.Kudelevsky */ -public interface LevelListItem extends DrawableDomElement { - @Convert(ResourceReferenceConverter.class) - @ResourceType("drawable") - @Required - AndroidAttributeValue getDrawable(); +public interface LevelListItem extends ListItemBase { } diff --git a/plugins/android/src/org/jetbrains/android/dom/drawable/ListItemBase.java b/plugins/android/src/org/jetbrains/android/dom/drawable/ListItemBase.java new file mode 100644 index 000000000000..11ce3569f574 --- /dev/null +++ b/plugins/android/src/org/jetbrains/android/dom/drawable/ListItemBase.java @@ -0,0 +1,24 @@ +package org.jetbrains.android.dom.drawable; + +import com.intellij.util.xml.Convert; +import org.jetbrains.android.dom.AndroidAttributeValue; +import org.jetbrains.android.dom.ResourceType; +import org.jetbrains.android.dom.converters.ResourceReferenceConverter; +import org.jetbrains.android.dom.resources.ResourceValue; + +import java.util.List; + +/** + * @author Eugene.Kudelevsky + */ +public interface ListItemBase extends DrawableDomElement { + @Convert(ResourceReferenceConverter.class) + @ResourceType("drawable") + AndroidAttributeValue getDrawable(); + + List getBitmaps(); + + List getShapes(); + + List getClips(); +} diff --git a/plugins/android/testData/dom/drawable/levelListHighlighting.xml b/plugins/android/testData/dom/drawable/levelListHighlighting.xml index 6c3d49da7047..526d5fc9da41 100644 --- a/plugins/android/testData/dom/drawable/levelListHighlighting.xml +++ b/plugins/android/testData/dom/drawable/levelListHighlighting.xml @@ -3,5 +3,4 @@ - <item/> \ No newline at end of file diff --git a/plugins/android/testData/dom/drawable/stateListCompletion6.xml b/plugins/android/testData/dom/drawable/stateListCompletion6.xml new file mode 100644 index 000000000000..a6353aa32bb5 --- /dev/null +++ b/plugins/android/testData/dom/drawable/stateListCompletion6.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/plugins/android/testData/dom/drawable/stateListCompletion6_after.xml b/plugins/android/testData/dom/drawable/stateListCompletion6_after.xml new file mode 100644 index 000000000000..1ca91936c7ce --- /dev/null +++ b/plugins/android/testData/dom/drawable/stateListCompletion6_after.xml @@ -0,0 +1,9 @@ + + + + + + + + \ No newline at end of file diff --git a/plugins/android/testData/dom/drawable/stateListHighlighting.xml b/plugins/android/testData/dom/drawable/stateListHighlighting.xml index 440024a170dc..da2f5046df18 100644 --- a/plugins/android/testData/dom/drawable/stateListHighlighting.xml +++ b/plugins/android/testData/dom/drawable/stateListHighlighting.xml @@ -4,6 +4,5 @@ - <item android:state_middle="true"/> diff --git a/plugins/android/testData/dom/drawable/stateListHighlighting1.xml b/plugins/android/testData/dom/drawable/stateListHighlighting1.xml new file mode 100644 index 000000000000..d80d83ab02f8 --- /dev/null +++ b/plugins/android/testData/dom/drawable/stateListHighlighting1.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/plugins/android/testSrc/org/jetbrains/android/dom/AndroidDrawableResourcesDomTest.java b/plugins/android/testSrc/org/jetbrains/android/dom/AndroidDrawableResourcesDomTest.java index cb00b5ac8c93..62236b84ea2e 100644 --- a/plugins/android/testSrc/org/jetbrains/android/dom/AndroidDrawableResourcesDomTest.java +++ b/plugins/android/testSrc/org/jetbrains/android/dom/AndroidDrawableResourcesDomTest.java @@ -45,6 +45,10 @@ public class AndroidDrawableResourcesDomTest extends AndroidDomTest { doTestHighlighting(); } + public void testStateListHighlighting1() throws Throwable { + doTestHighlighting(); + } + public void testStateListCompletion1() throws Throwable { doTestCompletion(); } @@ -65,6 +69,10 @@ public class AndroidDrawableResourcesDomTest extends AndroidDomTest { doTestCompletion(); } + public void testStateListCompletion6() throws Throwable { + doTestCompletion(); + } + public void testBitmapHighlighting1() throws Throwable { doTestHighlighting(); }