com.android.tools.lint.checks
Class ClickableViewAccessibilityDetector

java.lang.Object
  extended by com.android.tools.lint.detector.api.Detector
      extended by com.android.tools.lint.checks.ClickableViewAccessibilityDetector
All Implemented Interfaces:
com.android.tools.lint.detector.api.Detector.ClassScanner

public class ClickableViewAccessibilityDetector
extends com.android.tools.lint.detector.api.Detector
implements com.android.tools.lint.detector.api.Detector.ClassScanner

Checks that views that override View#onTouchEvent also implement View#performClick and call performClick when click detection occurs.


Nested Class Summary
 
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 ISSUE
           
 
Constructor Summary
ClickableViewAccessibilityDetector()
          Constructs a new ClickableViewAccessibilityDetector
 
Method Summary
 void checkClass(com.android.tools.lint.detector.api.ClassContext context, org.objectweb.asm.tree.ClassNode classNode)
           
static void checkSetOnTouchListenerCall(com.android.tools.lint.detector.api.ClassContext context, org.objectweb.asm.tree.MethodNode method, org.objectweb.asm.tree.MethodInsnNode call)
           
 com.android.tools.lint.detector.api.Speed getSpeed()
           
static void scanForAndCheckSetOnTouchListenerCalls(com.android.tools.lint.detector.api.ClassContext context, org.objectweb.asm.tree.ClassNode classNode)
           
 
Methods inherited from class com.android.tools.lint.detector.api.Detector
afterCheckFile, afterCheckLibraryProject, afterCheckProject, appliesTo, appliesTo, appliesToFolder, appliesToResourceRefs, beforeCheckFile, beforeCheckLibraryProject, beforeCheckProject, checkBinaryResource, checkCall, checkFolder, checkInstruction, createJavaVisitor, getApplicableAsmNodeTypes, getApplicableAttributes, getApplicableCallNames, getApplicableCallOwners, getApplicableElements, getApplicableFiles, getApplicableMethodNames, getApplicableNodeTypes, getSpeed, run, visitAttribute, visitBuildScript, visitDocument, visitElement, 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.ClassScanner
checkCall, checkInstruction, getApplicableAsmNodeTypes, getApplicableCallNames, getApplicableCallOwners
 

Field Detail

ISSUE

public static final com.android.tools.lint.detector.api.Issue ISSUE
Constructor Detail

ClickableViewAccessibilityDetector

public ClickableViewAccessibilityDetector()
Constructs a new ClickableViewAccessibilityDetector

Method Detail

getSpeed

@NonNull
public com.android.tools.lint.detector.api.Speed getSpeed()
Overrides:
getSpeed in class com.android.tools.lint.detector.api.Detector

checkClass

public void checkClass(@NonNull
                       com.android.tools.lint.detector.api.ClassContext context,
                       @NonNull
                       org.objectweb.asm.tree.ClassNode classNode)
Specified by:
checkClass in interface com.android.tools.lint.detector.api.Detector.ClassScanner
Overrides:
checkClass in class com.android.tools.lint.detector.api.Detector

scanForAndCheckSetOnTouchListenerCalls

public static void scanForAndCheckSetOnTouchListenerCalls(com.android.tools.lint.detector.api.ClassContext context,
                                                          org.objectweb.asm.tree.ClassNode classNode)

checkSetOnTouchListenerCall

public static void checkSetOnTouchListenerCall(@NonNull
                                               com.android.tools.lint.detector.api.ClassContext context,
                                               @NonNull
                                               org.objectweb.asm.tree.MethodNode method,
                                               @NonNull
                                               org.objectweb.asm.tree.MethodInsnNode call)