public class IconDetector
extends com.android.tools.lint.detector.api.ResourceXmlDetector
implements com.android.tools.lint.detector.api.Detector.UastScanner
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.UastScanner, com.android.tools.lint.detector.api.Detector.XmlScanner
Modifier and Type | Field and Description |
---|---|
static com.android.tools.lint.detector.api.Issue |
DUPLICATES_CONFIGURATIONS
Duplicated contents across configurations for a given name
|
static com.android.tools.lint.detector.api.Issue |
DUPLICATES_NAMES
Duplicated icons across different names
|
static com.android.tools.lint.detector.api.Issue |
GIF_USAGE
Using .gif bitmaps
|
static com.android.tools.lint.detector.api.Issue |
ICON_COLORS
Wrong filename according to the format
|
static com.android.tools.lint.detector.api.Issue |
ICON_DENSITIES
Missing density versions of image
|
static com.android.tools.lint.detector.api.Issue |
ICON_DIP_SIZE
Inconsistent dip size across densities
|
static com.android.tools.lint.detector.api.Issue |
ICON_EXPECTED_SIZE
Wrong icon size according to published conventions
|
static com.android.tools.lint.detector.api.Issue |
ICON_EXTENSION
Wrong filename according to the format
|
static com.android.tools.lint.detector.api.Issue |
ICON_LAUNCHER_SHAPE
Wrong launcher icon shape
|
static com.android.tools.lint.detector.api.Issue |
ICON_LOCATION
Images in res/drawable folder
|
static com.android.tools.lint.detector.api.Issue |
ICON_MISSING_FOLDER
Missing density folders
|
static com.android.tools.lint.detector.api.Issue |
ICON_MIX_9PNG
Drawables provided as both .9.png and .png files
|
static com.android.tools.lint.detector.api.Issue |
ICON_NODPI
Icons appearing in both -nodpi and a -Ndpi folder
|
static com.android.tools.lint.detector.api.Issue |
ICON_XML_AND_PNG
Icons appearing as both drawable xml files and bitmaps
|
static com.android.tools.lint.detector.api.Issue |
WEBP_ELIGIBLE
Switch to webp?
|
static com.android.tools.lint.detector.api.Issue |
WEBP_UNSUPPORTED
Webp unsupported?
|
Constructor and Description |
---|
IconDetector()
Constructs a new
IconDetector check |
Modifier and Type | Method and Description |
---|---|
void |
afterCheckLibraryProject(com.android.tools.lint.detector.api.Context context) |
void |
afterCheckProject(com.android.tools.lint.detector.api.Context context) |
boolean |
appliesTo(com.android.resources.ResourceFolderType folderType) |
void |
beforeCheckProject(com.android.tools.lint.detector.api.Context context) |
com.android.tools.lint.client.api.UElementHandler |
createUastHandler(com.android.tools.lint.detector.api.JavaContext context) |
java.util.Collection<java.lang.String> |
getApplicableElements() |
java.util.List<java.lang.Class<? extends org.jetbrains.uast.UElement>> |
getApplicableUastTypes() |
static java.awt.Dimension |
getSize(java.io.File file) |
static boolean |
isDrawableFile(java.lang.String name)
Like
LintUtils.isBitmapFile(File) but (a) operates on Strings instead
of files and (b) also considers XML drawables as images |
void |
visitElement(com.android.tools.lint.detector.api.XmlContext context,
org.w3c.dom.Element element) |
afterCheckFile, applicableSuperClasses, appliesTo, appliesToResourceRefs, beforeCheckFile, beforeCheckLibraryProject, checkBinaryResource, checkCall, checkClass, checkClass, checkClass, checkFolder, checkInstruction, createJavaVisitor, createPsiVisitor, getApplicableAsmNodeTypes, getApplicableAttributes, getApplicableCallNames, getApplicableCallOwners, getApplicableConstructorTypes, getApplicableFiles, getApplicableMethodNames, getApplicableNodeTypes, getApplicablePsiTypes, getApplicableReferenceNames, getSpeed, getSpeed, visitAttribute, visitBuildScript, visitClass, visitClass, visitConstructor, visitConstructor, visitConstructor, visitDocument, visitElementAfter, visitMethod, visitMethod, visitMethod, visitReference, visitReference, visitResourceReference, visitResourceReference, visitResourceReference
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
applicableSuperClasses, appliesToResourceRefs, getApplicableConstructorTypes, getApplicableMethodNames, getApplicablePsiTypes, getApplicableReferenceNames, visitClass, visitClass, visitConstructor, visitMethod, visitReference, visitResourceReference
public static final com.android.tools.lint.detector.api.Issue ICON_EXPECTED_SIZE
public static final com.android.tools.lint.detector.api.Issue ICON_DIP_SIZE
public static final com.android.tools.lint.detector.api.Issue ICON_LOCATION
public static final com.android.tools.lint.detector.api.Issue ICON_DENSITIES
public static final com.android.tools.lint.detector.api.Issue ICON_MISSING_FOLDER
public static final com.android.tools.lint.detector.api.Issue GIF_USAGE
public static final com.android.tools.lint.detector.api.Issue DUPLICATES_NAMES
public static final com.android.tools.lint.detector.api.Issue DUPLICATES_CONFIGURATIONS
public static final com.android.tools.lint.detector.api.Issue ICON_NODPI
public static final com.android.tools.lint.detector.api.Issue ICON_MIX_9PNG
public static final com.android.tools.lint.detector.api.Issue ICON_XML_AND_PNG
public static final com.android.tools.lint.detector.api.Issue ICON_EXTENSION
public static final com.android.tools.lint.detector.api.Issue ICON_COLORS
public static final com.android.tools.lint.detector.api.Issue ICON_LAUNCHER_SHAPE
public static final com.android.tools.lint.detector.api.Issue WEBP_ELIGIBLE
public static final com.android.tools.lint.detector.api.Issue WEBP_UNSUPPORTED
public IconDetector()
IconDetector
checkpublic void beforeCheckProject(@NonNull com.android.tools.lint.detector.api.Context context)
beforeCheckProject
in class com.android.tools.lint.detector.api.Detector
public void afterCheckLibraryProject(@NonNull com.android.tools.lint.detector.api.Context context)
afterCheckLibraryProject
in class com.android.tools.lint.detector.api.Detector
public void afterCheckProject(@NonNull com.android.tools.lint.detector.api.Context context)
afterCheckProject
in class com.android.tools.lint.detector.api.Detector
public static boolean isDrawableFile(java.lang.String name)
LintUtils.isBitmapFile(File)
but (a) operates on Strings instead
of files and (b) also considers XML drawables as imagespublic static java.awt.Dimension getSize(@NonNull java.io.File file)
public boolean appliesTo(@NonNull com.android.resources.ResourceFolderType folderType)
appliesTo
in class com.android.tools.lint.detector.api.ResourceXmlDetector
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 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
public java.util.List<java.lang.Class<? extends org.jetbrains.uast.UElement>> getApplicableUastTypes()
getApplicableUastTypes
in interface com.android.tools.lint.detector.api.Detector.UastScanner
getApplicableUastTypes
in class com.android.tools.lint.detector.api.Detector
@Nullable public com.android.tools.lint.client.api.UElementHandler createUastHandler(@NonNull com.android.tools.lint.detector.api.JavaContext context)
createUastHandler
in interface com.android.tools.lint.detector.api.Detector.UastScanner
createUastHandler
in class com.android.tools.lint.detector.api.Detector