com.android.tools.lint.checks
Class HandlerDetector

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

public class HandlerDetector
extends com.android.tools.lint.detector.api.Detector
implements com.android.tools.lint.detector.api.Detector.JavaScanner

Checks that Handler implementations are top level classes or static. See the corresponding check in the android.os.Handler source code.


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
          Potentially leaking handlers
 
Constructor Summary
HandlerDetector()
          Constructs a new HandlerDetector
 
Method Summary
 java.util.List<java.lang.String> applicableSuperClasses()
           
 void checkClass(com.android.tools.lint.detector.api.JavaContext context, lombok.ast.ClassDeclaration declaration, lombok.ast.Node node, com.android.tools.lint.client.api.JavaParser.ResolvedClass cls)
           
 com.android.tools.lint.detector.api.Speed getSpeed()
           
 
Methods inherited from class com.android.tools.lint.detector.api.Detector
afterCheckFile, afterCheckLibraryProject, afterCheckProject, appliesTo, appliesTo, appliesToFolder, appliesToResourceRefs, beforeCheckFile, beforeCheckLibraryProject, beforeCheckProject, checkBinaryResource, checkCall, checkClass, checkFolder, checkInstruction, createJavaVisitor, getApplicableAsmNodeTypes, getApplicableAttributes, getApplicableCallNames, getApplicableCallOwners, getApplicableConstructorTypes, getApplicableElements, getApplicableFiles, getApplicableMethodNames, getApplicableNodeTypes, getSpeed, run, visitAttribute, visitBuildScript, visitConstructor, 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.JavaScanner
appliesToResourceRefs, createJavaVisitor, getApplicableConstructorTypes, getApplicableMethodNames, getApplicableNodeTypes, visitConstructor, visitMethod, visitResourceReference
 

Field Detail

ISSUE

public static final com.android.tools.lint.detector.api.Issue ISSUE
Potentially leaking handlers

Constructor Detail

HandlerDetector

public HandlerDetector()
Constructs a new HandlerDetector

Method Detail

getSpeed

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

applicableSuperClasses

@Nullable
public java.util.List<java.lang.String> applicableSuperClasses()
Specified by:
applicableSuperClasses in interface com.android.tools.lint.detector.api.Detector.JavaScanner
Overrides:
applicableSuperClasses in class com.android.tools.lint.detector.api.Detector

checkClass

public void checkClass(@NonNull
                       com.android.tools.lint.detector.api.JavaContext context,
                       @Nullable
                       lombok.ast.ClassDeclaration declaration,
                       @NonNull
                       lombok.ast.Node node,
                       @NonNull
                       com.android.tools.lint.client.api.JavaParser.ResolvedClass cls)
Specified by:
checkClass in interface com.android.tools.lint.detector.api.Detector.JavaScanner
Overrides:
checkClass in class com.android.tools.lint.detector.api.Detector