com.android.tools.lint.checks
Class ButtonDetector
java.lang.Object
com.android.tools.lint.detector.api.Detector
com.android.tools.lint.detector.api.ResourceXmlDetector
com.android.tools.lint.checks.ButtonDetector
- All Implemented Interfaces:
- com.android.tools.lint.detector.api.Detector.XmlScanner
public class ButtonDetector
- extends com.android.tools.lint.detector.api.ResourceXmlDetector
Check which looks at the order of buttons in dialogs and makes sure that
"the dismissive action of a dialog is always on the left whereas the affirmative actions
are on the right."
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" ?
Nested classes/interfaces inherited from class com.android.tools.lint.detector.api.Detector |
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.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 |
Field Summary |
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 |
Fields inherited from interface com.android.tools.lint.detector.api.Detector.XmlScanner |
ALL |
Method Summary |
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)
|
Methods inherited from class com.android.tools.lint.detector.api.ResourceXmlDetector |
appliesTo, run |
Methods inherited from class com.android.tools.lint.detector.api.Detector |
afterCheckFile, afterCheckLibraryProject, applicableSuperClasses, appliesToFolder, appliesToResourceRefs, beforeCheckFile, beforeCheckLibraryProject, beforeCheckProject, checkBinaryResource, checkCall, checkClass, checkClass, checkFolder, checkInstruction, createJavaVisitor, getApplicableAsmNodeTypes, getApplicableAttributes, getApplicableCallNames, getApplicableCallOwners, getApplicableConstructorTypes, getApplicableFiles, getApplicableMethodNames, getApplicableNodeTypes, getSpeed, visitAttribute, visitBuildScript, visitConstructor, visitDocument, visitElementAfter, visitMethod, visitResourceReference |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface com.android.tools.lint.detector.api.Detector.XmlScanner |
getApplicableAttributes, visitAttribute, visitDocument, visitElementAfter |
ORDER
public static final com.android.tools.lint.detector.api.Issue ORDER
- The main issue discovered by this detector
STYLE
public static final com.android.tools.lint.detector.api.Issue STYLE
- The main issue discovered by this detector
BACK_BUTTON
public static final com.android.tools.lint.detector.api.Issue BACK_BUTTON
- The main issue discovered by this detector
CASE
public static final com.android.tools.lint.detector.api.Issue CASE
- The main issue discovered by this detector
ButtonDetector
public ButtonDetector()
- Constructs a new
ButtonDetector
getSpeed
@NonNull
public com.android.tools.lint.detector.api.Speed getSpeed()
- Overrides:
getSpeed
in class com.android.tools.lint.detector.api.Detector
getApplicableElements
public java.util.Collection<java.lang.String> getApplicableElements()
- Specified by:
getApplicableElements
in interface com.android.tools.lint.detector.api.Detector.XmlScanner
- Overrides:
getApplicableElements
in class com.android.tools.lint.detector.api.Detector
appliesTo
public boolean appliesTo(@NonNull
com.android.resources.ResourceFolderType folderType)
- Overrides:
appliesTo
in class com.android.tools.lint.detector.api.ResourceXmlDetector
afterCheckProject
public void afterCheckProject(@NonNull
com.android.tools.lint.detector.api.Context context)
- Overrides:
afterCheckProject
in class com.android.tools.lint.detector.api.Detector
visitElement
public void visitElement(@NonNull
com.android.tools.lint.detector.api.XmlContext context,
@NonNull
org.w3c.dom.Element element)
- Specified by:
visitElement
in interface com.android.tools.lint.detector.api.Detector.XmlScanner
- Overrides:
visitElement
in class com.android.tools.lint.detector.api.Detector