com.android.tools.lint.checks
Class ColorUsageDetector

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

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

Looks for cases where the code attempts to set a resource id, rather than a resolved color, as the RGB int.


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
          Attempting to set a resource id as a color
 
Constructor Summary
ColorUsageDetector()
          Constructs a new ColorUsageDetector check
 
Method Summary
 boolean appliesTo(com.android.tools.lint.detector.api.Context context, java.io.File file)
           
 boolean appliesToResourceRefs()
           
 com.android.tools.lint.detector.api.Speed getSpeed()
           
 void visitResourceReference(com.android.tools.lint.detector.api.JavaContext context, lombok.ast.AstVisitor visitor, lombok.ast.Node select, java.lang.String type, java.lang.String name, boolean isFramework)
           
 
Methods inherited from class com.android.tools.lint.detector.api.Detector
afterCheckFile, afterCheckLibraryProject, afterCheckProject, applicableSuperClasses, appliesTo, appliesToFolder, beforeCheckFile, beforeCheckLibraryProject, beforeCheckProject, checkBinaryResource, checkCall, checkClass, checkClass, checkFolder, checkInstruction, createJavaVisitor, getApplicableAsmNodeTypes, getApplicableAttributes, getApplicableCallNames, getApplicableCallOwners, getApplicableConstructorTypes, getApplicableElements, getApplicableFiles, getApplicableMethodNames, getApplicableNodeTypes, getSpeed, run, visitAttribute, visitBuildScript, visitConstructor, visitDocument, visitElement, visitElementAfter, visitMethod
 
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
applicableSuperClasses, checkClass, createJavaVisitor, getApplicableConstructorTypes, getApplicableMethodNames, getApplicableNodeTypes, visitConstructor, visitMethod
 

Field Detail

ISSUE

public static final com.android.tools.lint.detector.api.Issue ISSUE
Attempting to set a resource id as a color

Constructor Detail

ColorUsageDetector

public ColorUsageDetector()
Constructs a new ColorUsageDetector check

Method Detail

appliesTo

public boolean appliesTo(@NonNull
                         com.android.tools.lint.detector.api.Context context,
                         @NonNull
                         java.io.File file)
Overrides:
appliesTo in class com.android.tools.lint.detector.api.Detector

getSpeed

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

appliesToResourceRefs

public boolean appliesToResourceRefs()
Specified by:
appliesToResourceRefs in interface com.android.tools.lint.detector.api.Detector.JavaScanner
Overrides:
appliesToResourceRefs in class com.android.tools.lint.detector.api.Detector

visitResourceReference

public void visitResourceReference(@NonNull
                                   com.android.tools.lint.detector.api.JavaContext context,
                                   @Nullable
                                   lombok.ast.AstVisitor visitor,
                                   @NonNull
                                   lombok.ast.Node select,
                                   @NonNull
                                   java.lang.String type,
                                   @NonNull
                                   java.lang.String name,
                                   boolean isFramework)
Specified by:
visitResourceReference in interface com.android.tools.lint.detector.api.Detector.JavaScanner
Overrides:
visitResourceReference in class com.android.tools.lint.detector.api.Detector