public class IconDetector
extends com.android.tools.lint.detector.api.Detector
implements com.android.tools.lint.detector.api.XmlScanner, com.android.tools.lint.detector.api.SourceCodeScanner
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.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 color of notification icon.
|
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 |
NOTIFICATION_ICON_COMPATIBILITY
Raster image is required for notification icon at API < 21.
|
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 |
afterCheckEachProject(com.android.tools.lint.detector.api.Context context) |
boolean |
appliesTo(com.android.resources.ResourceFolderType folderType) |
void |
beforeCheckRootProject(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
SdkUtils.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, afterCheckLibraryProject, afterCheckProject, afterCheckRootProject, analyzeCallGraph, applicableAnnotations, applicableSuperClasses, appliesTo, appliesToResourceRefs, beforeCheckEachProject, beforeCheckFile, beforeCheckLibraryProject, beforeCheckProject, checkBinaryResource, checkCall, checkClass, checkClass, checkDslPropertyAssignment, checkDslPropertyAssignment, checkFolder, checkInstruction, checkMethodCall, createPsiVisitor, fix, getApplicableAsmNodeTypes, getApplicableAttributes, getApplicableCallNames, getApplicableCallOwners, getApplicableConstructorTypes, getApplicableFiles, getApplicableMethodNames, getApplicablePsiTypes, getApplicableReferenceNames, getCustomVisitor, getSpeed, inheritAnnotation, isApplicableAnnotationUsage, isCallGraphRequired, run, visitAnnotationUsage, visitAnnotationUsage, visitAttribute, visitBuildScript, visitClass, visitClass, visitConstructor, visitConstructor, visitDocument, visitElementAfter, visitMethod, visitMethod, visitMethodCall, visitReference, visitReference, visitResourceReference, visitResourceReferenceclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetApplicableAttributes, visitAttribute, visitDocument, visitElementAfteranalyzeCallGraph, applicableAnnotations, applicableSuperClasses, appliesToResourceRefs, getApplicableConstructorTypes, getApplicableMethodNames, getApplicableReferenceNames, inheritAnnotation, isApplicableAnnotationUsage, isCallGraphRequired, visitAnnotationUsage, visitAnnotationUsage, visitClass, visitClass, visitConstructor, visitMethod, visitMethodCall, visitReference, visitResourceReferencepublic 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 NOTIFICATION_ICON_COMPATIBILITY
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 beforeCheckRootProject(@NonNull
com.android.tools.lint.detector.api.Context context)
beforeCheckRootProject in class com.android.tools.lint.detector.api.Detectorpublic void afterCheckEachProject(@NonNull
com.android.tools.lint.detector.api.Context context)
afterCheckEachProject in class com.android.tools.lint.detector.api.Detectorpublic static boolean isDrawableFile(java.lang.String name)
SdkUtils.isBitmapFile(File) but (a) operates on Strings instead of files and (b)
also considers XML drawables as images@Nullable
public static java.awt.Dimension getSize(@NonNull
java.io.File file)
public boolean appliesTo(@NonNull
com.android.resources.ResourceFolderType folderType)
appliesTo in interface com.android.tools.lint.detector.api.XmlScannerappliesTo in class com.android.tools.lint.detector.api.Detectorpublic java.util.Collection<java.lang.String> getApplicableElements()
getApplicableElements in interface com.android.tools.lint.detector.api.XmlScannergetApplicableElements in class com.android.tools.lint.detector.api.Detectorpublic 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.XmlScannervisitElement in class com.android.tools.lint.detector.api.Detectorpublic java.util.List<java.lang.Class<? extends org.jetbrains.uast.UElement>> getApplicableUastTypes()
getApplicableUastTypes in interface com.android.tools.lint.detector.api.SourceCodeScannergetApplicableUastTypes 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.SourceCodeScannercreateUastHandler in class com.android.tools.lint.detector.api.Detector