Package com.android.tools.lint.checks

Class Summary
AccessibilityDetector Check which looks for accessibility problems like missing content descriptions
AddJavascriptInterfaceDetector Ensures that addJavascriptInterface is not called for API levels below 17.
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.
AppCompatCallDetector  
AppCompatResourceDetector Check that the right namespace is used for app compat menu items Using app:showAsAction instead of android:showAsAction leads to problems, but isn't caught by the API Detector since it's not in the Android namespace.
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.
CipherGetInstanceDetector Ensures that Cipher.getInstance is not called with AES as the parameter.
CleanupDetector Checks for missing recycle calls on resources that encourage it, and for missing commit calls on FragmentTransactions, etc.
ClickableViewAccessibilityDetector Checks that views that override View#onTouchEvent also implement View#performClick and call performClick when click detection occurs.
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
CustomViewDetector Makes sure that custom views use a declare styleable that matches the name of the custom view
CutPasteDetector Detector looking for cut & paste issues
DateFormatDetector Checks for errors related to Date Formats
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.
GetSignaturesDetector  
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.
IncludeDetector Checks for problems with include tags, such as providing layout parameters without specifying both layout_width and layout_height
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 addJavascriptInterface calls on interfaces have been properly annotated with @JavaScriptInterface
LabelForDetector Detector which finds unlabeled text fields
LayoutConsistencyDetector Checks for consistency in layouts across different resource folders
LayoutInflationDetector Looks for layout inflation calls passing null as the view root
LocaleDetector Checks for errors related to locale handling
LocaleFolderDetector Checks for errors related to locale handling
LogDetector Detector for finding inefficiencies and errors in logging calls.
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
NegativeMarginDetector Checks for negative margins in the following scenarios: In direct layout attribute usages, e.g.
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.
OverrideConcreteDetector Checks that subclasses of certain APIs are overriding all methods that were abstract in one or more earlier API levels that are still targeted by the minSdkVersion of this project.
OverrideDetector Checks for accidental overrides
ParcelDetector Looks for Parcelable classes that are missing a CREATOR field
PluralsDatabase Database used by the PluralsDetector to get information about plural forms for a given language
PluralsDetector Checks for issues with quantity strings
PreferenceActivityDetector Ensures that PreferenceActivity and its subclasses are never exported.
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.
PropertyFileDetector Check for errors in .property 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
RelativeOverlapDetector Check for potential item overlaps in a RelativeLayout when left- and right-aligned text items are used.
RequiredAttributeDetector Ensures that layout width and height attributes are specified
ResourceCycleDetector Checks for cycles in resource definitions
ResourcePrefixDetector Ensure that resources in Gradle projects which specify a resource prefix conform to the given name TODO: What about id's?
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
SignatureOrSystemDetector Checks if signatureOrSystem level permissions are set.
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
ViewHolderDetector Looks for ListView scrolling performance: should use view holder pattern
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
 

Enum Summary
PluralsDatabase.Quantity