| package org.jetbrains.android.inspections; |
| |
| import com.intellij.codeInspection.reference.EntryPoint; |
| import com.intellij.codeInspection.reference.RefElement; |
| import com.intellij.openapi.util.InvalidDataException; |
| import com.intellij.openapi.util.WriteExternalException; |
| import com.intellij.psi.PsiClass; |
| import com.intellij.psi.PsiElement; |
| import com.intellij.util.xmlb.SkipDefaultValuesSerializationFilters; |
| import com.intellij.util.xmlb.XmlSerializer; |
| import org.jdom.Element; |
| import org.jetbrains.android.util.AndroidUtils; |
| import org.jetbrains.annotations.NotNull; |
| |
| /** |
| * @author Eugene.Kudelevsky |
| */ |
| public class AndroidComponentEntryPoint extends EntryPoint { |
| public boolean ADD_ANDROID_COMPONENTS_TO_ENTRIES = true; |
| |
| @NotNull |
| @Override |
| public String getDisplayName() { |
| return "Automatically add all Android components to entry points"; |
| } |
| |
| @Override |
| public boolean isEntryPoint(@NotNull RefElement refElement, @NotNull PsiElement psiElement) { |
| return isEntryPoint(psiElement); |
| } |
| |
| @Override |
| public boolean isEntryPoint(@NotNull PsiElement psiElement) { |
| return ADD_ANDROID_COMPONENTS_TO_ENTRIES && |
| psiElement instanceof PsiClass && |
| AndroidUtils.isAndroidComponent((PsiClass)psiElement); |
| } |
| |
| @Override |
| public boolean isSelected() { |
| return ADD_ANDROID_COMPONENTS_TO_ENTRIES; |
| } |
| |
| @Override |
| public void setSelected(boolean selected) { |
| ADD_ANDROID_COMPONENTS_TO_ENTRIES = selected; |
| } |
| |
| @Override |
| public void readExternal(Element element) throws InvalidDataException { |
| XmlSerializer.deserializeInto(this, element); |
| } |
| |
| @Override |
| public void writeExternal(Element element) throws WriteExternalException { |
| XmlSerializer.serializeInto(this, element, new SkipDefaultValuesSerializationFilters()); |
| } |
| } |