TextAppearanceEnumSupport extends StyleEnumSupport { @Override @NotNull public List<ValueWithDisplayString> getAllValues() { StyleResourceValue style = resolve(ResourceNamespace.ANDROID, TEXT_APPEARANCE); if (style == null) { return Collections.emptyList(); } return convertStylesToDisplayValues(myStyleFilter.getStylesDerivedFrom(style)); } TextAppearanceEnumSupport(@NotNull NlProperty property); @Override @NotNull List<ValueWithDisplayString> getAllValues();  }
@RunsInEdt @Test public void testFindPossibleValues() { Dependencies.INSTANCE.add(myProjectRule.fixture, APPCOMPAT_LIB_ARTIFACT_ID); NlComponent textView = myLayout.getChild(0); NlPropertyItem property = NlPropertyItem.create(new XmlName(ATTR_STYLE, ANDROID_URI), null, ImmutableList.of(textView), null); TextAppearanceEnumSupport support = new TextAppearanceEnumSupport(property); List<ValueWithDisplayString> values = support.getAllValues(); assertThat(values.subList(0, 7)).containsExactly( new ValueWithDisplayString("MyOwnStyle", "@style/MyOwnStyle"), new ValueWithDisplayString("MyOwnStyle.Medium", "@style/MyOwnStyle.Medium"), new ValueWithDisplayString("TextAppearance", "@style/TextAppearance"), ValueWithDisplayString.SEPARATOR, new ValueWithDisplayString("AppCompat", "@style/TextAppearance.AppCompat"), new ValueWithDisplayString("AppCompat.Body1", "@style/TextAppearance.AppCompat.Body1"), new ValueWithDisplayString("AppCompat.Body2", "@style/TextAppearance.AppCompat.Body2")).inOrder(); assertThat(support.getAllValues()).containsAllOf( new ValueWithDisplayString("TextAppearance", "@android:style/TextAppearance"), new ValueWithDisplayString("Material", "@android:style/TextAppearance.Material"), new ValueWithDisplayString("Material.Small", "@android:style/TextAppearance.Material.Small"), new ValueWithDisplayString("AppCompat", "@style/TextAppearance.AppCompat"), new ValueWithDisplayString("AppCompat.Display1", "@style/TextAppearance.AppCompat.Display1"), new ValueWithDisplayString("AppCompat.Display2", "@style/TextAppearance.AppCompat.Display2"), new ValueWithDisplayString("AppCompat.Display3", "@style/TextAppearance.AppCompat.Display3"), new ValueWithDisplayString("AppCompat.Display4", "@style/TextAppearance.AppCompat.Display4"), new ValueWithDisplayString("Widget.TextView", "@android:style/TextAppearance.Widget.TextView")); }