public class ButtonDetector
extends com.android.tools.lint.detector.api.ResourceXmlDetector
This only looks for the affirmative and dismissive actions named "OK" and "Cancel"; "Cancel" usually works, but the affirmative action often has many other names -- "Done", "Send", "Go", etc.
TODO: Perhaps we should look for Yes/No dialogs and suggested they be rephrased as Cancel/OK dialogs? Similarly, consider "Abort" a synonym for "Cancel" ?
com.android.tools.lint.detector.api.Detector.BinaryResourceScanner, com.android.tools.lint.detector.api.Detector.ClassScanner, com.android.tools.lint.detector.api.Detector.GradleScanner, com.android.tools.lint.detector.api.Detector.JavaPsiScanner, com.android.tools.lint.detector.api.Detector.JavaScanner, com.android.tools.lint.detector.api.Detector.OtherFileScanner, com.android.tools.lint.detector.api.Detector.ResourceFolderScanner, com.android.tools.lint.detector.api.Detector.XmlScanner
Modifier and Type | Field and Description |
---|---|
static com.android.tools.lint.detector.api.Issue |
BACK_BUTTON
The main issue discovered by this detector
|
static com.android.tools.lint.detector.api.Issue |
CASE
The main issue discovered by this detector
|
static com.android.tools.lint.detector.api.Issue |
ORDER
The main issue discovered by this detector
|
static com.android.tools.lint.detector.api.Issue |
STYLE
The main issue discovered by this detector
|
Constructor and Description |
---|
ButtonDetector()
Constructs a new
ButtonDetector |
Modifier and Type | Method and Description |
---|---|
void |
afterCheckProject(com.android.tools.lint.detector.api.Context context) |
boolean |
appliesTo(com.android.resources.ResourceFolderType folderType) |
java.util.Collection<java.lang.String> |
getApplicableElements() |
com.android.tools.lint.detector.api.Speed |
getSpeed() |
void |
visitElement(com.android.tools.lint.detector.api.XmlContext context,
org.w3c.dom.Element element) |
afterCheckFile, afterCheckLibraryProject, applicableSuperClasses, appliesToFolder, appliesToResourceRefs, beforeCheckFile, beforeCheckLibraryProject, beforeCheckProject, checkBinaryResource, checkCall, checkClass, checkClass, checkClass, checkFolder, checkInstruction, createJavaVisitor, createPsiVisitor, getApplicableAsmNodeTypes, getApplicableAttributes, getApplicableCallNames, getApplicableCallOwners, getApplicableConstructorTypes, getApplicableFiles, getApplicableMethodNames, getApplicableNodeTypes, getApplicablePsiTypes, getApplicableReferenceNames, getSpeed, visitAttribute, visitBuildScript, visitConstructor, visitConstructor, visitDocument, visitElementAfter, visitMethod, visitMethod, visitReference, visitResourceReference, visitResourceReference
public static final com.android.tools.lint.detector.api.Issue ORDER
public static final com.android.tools.lint.detector.api.Issue STYLE
public static final com.android.tools.lint.detector.api.Issue BACK_BUTTON
public static final com.android.tools.lint.detector.api.Issue CASE
public ButtonDetector()
ButtonDetector
@NonNull public com.android.tools.lint.detector.api.Speed getSpeed()
getSpeed
in class com.android.tools.lint.detector.api.Detector
public java.util.Collection<java.lang.String> getApplicableElements()
getApplicableElements
in interface com.android.tools.lint.detector.api.Detector.XmlScanner
getApplicableElements
in class com.android.tools.lint.detector.api.Detector
public boolean appliesTo(@NonNull com.android.resources.ResourceFolderType folderType)
appliesTo
in class com.android.tools.lint.detector.api.ResourceXmlDetector
public void afterCheckProject(@NonNull com.android.tools.lint.detector.api.Context context)
afterCheckProject
in class com.android.tools.lint.detector.api.Detector
public void visitElement(@NonNull com.android.tools.lint.detector.api.XmlContext context, @NonNull org.w3c.dom.Element element)
visitElement
in interface com.android.tools.lint.detector.api.Detector.XmlScanner
visitElement
in class com.android.tools.lint.detector.api.Detector