Package com.android.tools.lint.checks

Class Summary
AccessibilityDetector Check which looks for accessibility problems like missing content descriptions
AlwaysShowActionDetector Check which looks for usage of showAsAction="always" in menus (or MenuItem.SHOW_AS_ACTION_ALWAYS in code), which is usually a style guide violation.
AnnotationDetector Checks annotations to make sure they are valid
Api Main entry point for API description.
ApiClass Represents a class and its methods/fields.
ApiDetector Looks for usages of APIs that are not supported in all the versions targeted by this application (according to its minimum API requirement in the manifest).
ApiLookup Database for API checking: Allows quick lookup of a given class, method or field to see which API level it was introduced in.
ApiParser Parser for the simplified XML API format version 1.
ArraySizeDetector Checks for arrays with inconsistent item counts
AssertDetector Looks for assertion usages.
BuiltinIssueRegistry Registry which provides a list of checks to be performed on an Android project
ButtonDetector Check which looks at the order of buttons in dialogs and makes sure that "the dismissive action of a dialog is always on the left whereas the affirmative actions are on the right."
ByteOrderMarkDetector Checks that byte order marks do not appear in resource names
CallSuperDetector Makes sure that methods call super when overriding methods
CheckPermissionDetector Ensures that calls to check permission use the result (otherwise they probably meant to call the enforce permission methods instead)
ChildCountDetector Check which makes sure that views have the expected number of declared children (e.g.
CleanupDetector Checks for missing recycle calls on resources that encourage it, and for missing commit calls on FragmentTransactions, etc.
ColorUsageDetector Looks for cases where the code attempts to set a resource id, rather than a resolved color, as the RGB int.
CommentDetector Looks for issues in Java comments
ControlFlowGraph A ControlFlowGraph is a graph containing a node for each instruction in a method, and an edge for each possible control flow; usually just "next" for the instruction following the current instruction, but in the case of a branch such as an "if", multiple edges to each successive location, or with a "goto", a single edge to the jumped-to instruction.
ControlFlowGraph.Node A ControlFlowGraph.Node is a node in the control flow graph for a method, pointing to the instruction and its possible successors
CutPasteDetector Detector looking for cut & paste issues
DeprecationDetector Check which looks for usage of deprecated tags, attributes, etc.
DetectMissingPrefix Detects layout attributes on builtin Android widgets that do not specify a prefix but probably should.
DosLineEndingDetector Checks that the line endings in DOS files are consistent
DuplicateIdDetector Checks for duplicate ids within a layout and within an included layout
DuplicateResourceDetector This detector identifies cases where a resource is defined multiple times in the same resource folder
ExtraTextDetector Check which looks for invalid resources.
FieldGetterDetector Looks for getter calls within the same class that could be replaced by direct field references instead.
FragmentDetector Checks that Fragment subclasses can be instantiated via {link Class.newInstance()}: the class is public, static, and has a public null constructor.
GradleDetector Checks Gradle files for potential errors
GridLayoutDetector Check which looks for potential errors in declarations of GridLayouts, such as specifying row/column numbers outside the declared dimensions of the grid.
HandlerDetector Checks that Handler implementations are top level classes or static.
HardcodedDebugModeDetector Checks for hardcoded debug mode in manifest files
HardcodedValuesDetector Check which looks at the children of ScrollViews and ensures that they fill/match the parent width instead of setting wrap_content.
IconDetector Checks for common icon problems, such as wrong icon sizes, placing icons in the density independent drawable folder, etc.
InefficientWeightDetector Checks whether a layout_weight is declared inefficiently.
InvalidPackageDetector Looks for usages of Java packages that are not included in Android.
JavaPerformanceDetector Looks for performance issues in Java files, such as memory allocations during drawing operations and using HashMap instead of SparseArray.
JavaScriptInterfaceDetector Looks for add
LabelForDetector Detector which finds unlabeled text fields
LayoutConsistencyDetector Checks for consistency in layouts across different resource folders
LocaleDetector Checks for errors related to locale handling
ManifestDetector Checks for issues in AndroidManifest files such as declaring elements in the wrong order.
ManifestTypoDetector Checks for typos in manifest files
MathDetector Looks for usages of Math methods which can be replaced with android.util.FloatMath methods to avoid casting.
MergeRootFrameLayoutDetector Checks whether a root FrameLayout can be replaced with a <merge> tag.
MissingClassDetector Checks to ensure that classes referenced in the manifest actually exist and are included
MissingIdDetector Check which looks for missing id's in views where they are probably needed
NamespaceDetector Checks for various issues related to XML namespaces
NestedScrollingWidgetDetector Checks whether a root FrameLayout can be replaced with a <merge> tag.
NfcTechListDetector Check which makes sure NFC tech lists do not include spaces around <tech> values since that's not handled correctly by the inflater
NonInternationalizedSmsDetector Detector looking for text messages sent to an unlocalized phone number.
ObsoleteLayoutParamsDetector Looks for layout params on views that are "obsolete" - may have made sense when the view was added but there is a different layout parent now which does not use the given layout params.
OnClickDetector Checks for missing onClick handlers
OverdrawDetector Check which looks for overdraw problems where view areas are painted and then painted over, meaning that the bottom paint operation is a waste of time.
OverrideDetector Checks for accidental overrides
ParcelDetector Looks for Parcelable classes that are missing a CREATOR field
PluralsDetector Checks for issues with quantity strings https://code.google.com/p/android/issues/detail?id=53015 53015: lint could report incorrect usage of Resource.getQuantityString
PrivateKeyDetector Looks for packaged private key files.
PrivateResourceDetector Check which looks for access of private resources.
ProguardDetector Check which looks for errors in Proguard files.
PxUsageDetector Check for px dimensions instead of dp dimensions.
RegistrationDetector Checks for missing manifest registrations for activities, services etc and also makes sure that they are registered with the correct tag
RequiredAttributeDetector Ensures that layout width and height attributes are specified
ResourceCycleDetector Checks for cycles in resource definitions
RtlDetector Check which looks for RTL issues (right-to-left support) in layouts
ScrollViewChildDetector Check which looks at the children of ScrollViews and ensures that they fill/match the parent width instead of setting wrap_content.
SdCardDetector Looks for hardcoded references to /sdcard/.
SecureRandomDetector Checks for hardcoded seeds with random numbers.
SecureRandomGeneratorDetector Checks for pseudo random number generator initialization issues
SecurityDetector Checks that exported services request a permission.
ServiceCastDetector Detector looking for casts on th result of context.getSystemService which are suspect
SetJavaScriptEnabledDetector Looks for invocations of android.webkit.WebSettings.setJavaScriptEnabled.
SharedPrefsDetector Detector looking for SharedPreferences.edit() calls without a corresponding commit() or apply() call
StateListDetector Checks for unreachable states in an Android state list definition
StringFormatDetector Check which looks for problems with formatting strings such as inconsistencies between translations or between string declaration and string usage in Java.
SystemPermissionsDetector Checks if an application wants to use permissions that can only be used by system applications.
TextFieldDetector Checks for usability problems in text fields: omitting inputType, or omitting a hint.
TextViewDetector Checks for cases where a TextView should probably be an EditText instead
TitleDetector Check which makes sure menu items specify a title
ToastDetector Detector looking for Toast.makeText() without a corresponding show() call
TooManyViewsDetector Checks whether a root FrameLayout can be replaced with a <merge> tag.
TranslationDetector Checks for incomplete translations - e.g.
TypoDetector Check which looks for likely typos in Strings.
TypographyDetector Checks for various typographical issues in string definitions.
TypographyDetector.ReplaceEdit An object describing a single edit to be made.
TypoLookup Database of common typos / misspellings.
UnusedResourceDetector Finds unused resources.
UseCompoundDrawableDetector Checks whether the current node can be replaced by a TextView using compound drawables.
UselessViewDetector Checks whether the current node can be removed without affecting the layout.
Utf8Detector Checks that the encoding used in resource files is always UTF-8
ViewConstructorDetector Looks for custom views that do not define the view constructors needed by UI builders
ViewTagDetector Checks for missing view tag detectors
ViewTypeDetector Detector for finding inconsistent usage of views and casts
WakelockDetector Checks for problems with wakelocks (such as failing to release them) which can lead to unnecessary battery usage.
WebViewDetector  
WrongCallDetector Checks for cases where the wrong call is being made
WrongCaseDetector Check which looks for missing wrong case usage for certain layout tags.
WrongIdDetector Checks for duplicate ids within a layout and within an included layout
WrongImportDetector Checks for "import android.R", which seems to be a common source of confusion (see for example http://stackoverflow.com/questions/885009/r-cannot-be-resolved-android-error and many other forums).
WrongLocationDetector Looks for problems with XML files being placed in the wrong folder