aboutsummaryrefslogtreecommitdiffstats
path: root/lint/libs/lint_checks/src/com/android
Commit message (Collapse)AuthorAgeFilesLines
...
| * | 39228: Validation for custom namespace in XMLsTor Norbye2012-11-021-0/+20
| | | | | | | | | | | | Change-Id: Ie71f8a4706b1b91a84903257aca1adda461c277f
* | | Merge "39134: forgot to call commit() after editing a SharedPreference"Tor Norbye2012-11-071-18/+91
|\ \ \ | |_|/ |/| |
| * | 39134: forgot to call commit() after editing a SharedPreferenceTor Norbye2012-10-311-18/+91
| | | | | | | | | | | | | | | | | | | | | | | | This updates the lint check to handle some additional scenarios around missing commit() calls for SharedPreference.Edit; in particular when using edit() on field references and in chained method calls. Change-Id: I1b249ed81ca9d0b0e1c85466ccfa1ecdd6c53fad
* | | Merge "Don't warn about missing classes before a build"Tor Norbye2012-11-021-1/+3
|\ \ \
| * | | Don't warn about missing classes before a buildTor Norbye2012-11-021-1/+3
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The missing class detector warns about classes declared in the manifest, but not found on disk. In order not to warn before you've built the project, it only does this if it has seen at least one class. However, it turned out that it would also look at library jars, such that a not-built project using the support library would be considered to have classes, and would therefore flag newly added activities. Change-Id: Iaf01fe3e3626bdb31d535c00aea584793d6f72b9
* | | Additional fixes to filter out library project lint warningsTor Norbye2012-11-0215-12/+84
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Lint already has the concept of whether a project should report lint warnings or not; a project can be included in analysis (e.g. for unused resource checks), but can filter out any warnings local to that project. This is useful when you are using a library, but don't want to see errors from that library which may not be under your control. The way this is handled from the command line is that lint will only report errors for projects you've referenced; e.g. if you run "lint /foo/bar" this will show errors in /foo/bar, but exclude errors found in the library project /foo/bar/../library". However, there were several lint checks which needed additional fixes for this, because (like the unused error detector) they gather data from multiple projects and process and report in the after-project hook. In addition, inside Eclipse, the UI would always automatically include libraries. This is sometimes what you want, and sometimes not what you want, so this CL adds a new toggle menu item to the lint action menu, "Skip Library Project Dependencies", off by default, which you can select to make lint runs from eclipse include or exclude library projects in the report. Change-Id: Idf3167e818931525e0dd7661f5cdf3a3e69b6522
* | Fix the --showall flag to work with all the icon issuesTor Norbye2012-11-011-3/+6
|/ | | | Change-Id: I6c06889e26dc7c5e610069c71f58f81ffa6294a8
* Merge "Add lint detector for suspicious 0dp sizes"Tor Norbye2012-10-292-1/+96
|\
| * Add lint detector for suspicious 0dp sizesTor Norbye2012-10-272-1/+96
| | | | | | | | Change-Id: I5c60ae929a70c3040dfff9e319aa5175580b86c7
* | Support theme attributes not explicitly including "attr"Tor Norbye2012-10-261-8/+2
|/ | | | Change-Id: I4b86001374285c9043f816af515ebf3ce2ff233c
* 38958: Lint misreports missing layout_[width/height]Tor Norbye2012-10-261-0/+31
| | | | Change-Id: I21c88f01ef7ae2b846f67533900eea7e8161266a
* Merge "38700: wrong reporting of <requestFocus /> as missing size"Tor Norbye2012-10-221-8/+6
|\
| * 38700: wrong reporting of <requestFocus /> as missing sizeTor Norbye2012-10-191-8/+6
| | | | | | | | Change-Id: I93154fbe3c0d86b6767ef2283ecbc5038163c604
* | Merge "38748: lint doesn't recognise inputtype in style"Tor Norbye2012-10-221-0/+11
|\ \
| * | 38748: lint doesn't recognise inputtype in styleTor Norbye2012-10-221-0/+11
| | | | | | | | | | | | Change-Id: Ia00b9d6de3feb1b3dc99b8293c456e5b26e1b860
* | | Merge "Fix handling of @SuppressLint on fields"Tor Norbye2012-10-2210-16/+40
|\ \ \ | |/ / |/| |
| * | Fix handling of @SuppressLint on fieldsTor Norbye2012-10-1810-16/+40
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When you have a field initialization like this: private int foo = new ForbiddenClass(); the actual code to perform the initialization lives in a method named <init> (or for a static field, <clinit>). If you tried to suppress lint errors here by adding an annotation on the field, it would not be found by lint, since lint looks at method level annotations and it's sitting on the field node instead. To fix this, the suppress check needs to identify the field scenario, and in that case (when checking whether an error is suppressed) look up the field in the class and check annotations there. There was a second bug: The lint check which looks for invalid suppress annotation sites (since they're not allowed on local variables for class based lint checks) incorrectly concluded that these types of initializations were local variables rather than field initializations. This fixes issue 38626: ADT: Misleading lint rule: SimpleDateFormat Change-Id: I254f3fb5a6132d6cbe39bd425ffe6d67ed7b84ed
* | Fix incorrect assertionTor Norbye2012-10-191-1/+1
|/ | | | Change-Id: Id110d90b173d052b952f90622bcbff64f5bedbe5
* 32849: Fix CRLF line ending handling in the partial formatterTor Norbye2012-10-172-2/+121
| | | | | | | | | | | | | | | | | | Fix the handling of \r characters in the code which applies formatting deltas into existing documents. It could end up inserting the formatted portion in the middle of a \r\n pair, which made Eclipse extremely confused (https://bugs.eclipse.org/bugs/show_bug.cgi?id=375421) This fixes 32849: Eclipse android adt xml editing artifacting (unsynced) lines of text when changes are made in the graphical interface It also adds a lint check to identify *existing* files that already have these mangled line endings, along with a quickfix to make the correction. Change-Id: I1e7024f2786e4cb0233c2c6b98c3d3f942703ea0
* Warn about potentially accidentally overriding methodsTor Norbye2012-10-162-1/+273
| | | | Change-Id: Ic8d20a002f6225cb15f609b3b7582716904e9278
* Add lint support for checking frameworks/base/coreTor Norbye2012-10-162-9/+11
| | | | | | | | | | This changeset adds basic support for running lint against the AOSP frameworks/base/core codebase. It also makes the resource folder provided by the lint client. Change-Id: I7e38b0925cb032f776c54f975b924b91d6ab7a24
* Fix required attribute check for GridLayout childrenTor Norbye2012-10-161-6/+9
| | | | Change-Id: I58e67eb1acb6b8e5a503f1aa7822c97b545eac10
* Remove debug printlnTor Norbye2012-10-161-6/+0
| | | | Change-Id: Icae211bc8c95b1acfbd84f382754755487876af2
* Check for missing layout_width and layout_height attributesTor Norbye2012-10-166-45/+593
| | | | | | | | Also looks at style declarations and attributes on include tags to allow elements to either pick up sizes from styles or from the including context. Change-Id: I91a944805d8a906ff63b5a22f2faa876e7292c19
* Make view cast detector handle multiple typesTor Norbye2012-10-151-23/+57
| | | | Change-Id: I375ebc368a0173e78fd8aae1c6fc658c4ec5416d
* Look for missing android namespace prefix in manifest filesTor Norbye2012-10-151-5/+34
| | | | | | | | Extend the missing prefix checker such that it doesn't only look at layout files, but also complains in manifest files, menu files, drawable files, etc. Change-Id: Ifbd7635e3b73d662aa6c7a4e03e4c2894c6fe204
* Lint detector for missing menu titlesTor Norbye2012-10-152-1/+112
| | | | | | | As requested in 38022: Lint should warn when menus don't have a title Change-Id: I34688d7733d98ba9fa8cc10202a5470040962117
* 37329: lint checks for conflicting permission definitionTor Norbye2012-10-153-3/+71
| | | | Change-Id: I3b131872cc9938ceb5df271ab10ec60644d44b26
* Merge "Added a lint checker to flag permissions that are only granted to ↵Tor Norbye2012-10-102-1/+187
|\ | | | | | | system applications"
| * Added a lint checker to flag permissions that are only granted to system ↵Sebastian Porst2012-10-092-1/+187
| | | | | | | | | | | | applications Change-Id: If423ad3c477dbad9011b600e5c8d8773963d27b9
* | 38325: onClick XML attribute with @string resource not recognisedTor Norbye2012-10-101-1/+2
|/ | | | | | | | | | Don't flag onClick handlers as missing when they are using resource name indirections. Also make the Go To Declaration hyperlink work for tools:context links to activities. Change-Id: Ie26cefd2cebef32e955e3031da707654f3dc7e06
* Fix API check for theme references in XMLTor Norbye2012-10-051-1/+7
| | | | | | | Dots in resource names are replaced by underlines by aapt. Change-Id: Ica8244016c050327013103dfb4c60d960e9199c5
* Find mismatches between EditText inputType and nameTor Norbye2012-10-052-5/+217
| | | | | | | | | This adds a lint check which looks at the id of an EditText, and if it looks like it has a specific purpose (e.g. password or e-mail or number or phone etc) then it checks that the corresponding inputType matches. Change-Id: Ib40d3e47c88ea01ccbad61f3a24d9b9a4e79d5c6
* Check notification and action bar iconsTor Norbye2012-10-053-41/+499
| | | | | | | These icons should not use color (and in the case of notification icons, be white). Change-Id: I32b9422735830a01bb069b90a5ad5a76d7aeb5de
* Fix misc lint bugsTor Norbye2012-10-043-3/+14
| | | | | | | I ran lint over some large projects and manually verified the report; this uncovered a couple of false positives. Change-Id: I006d64a03119c6badc40e33df9ab4079e07dc7c5
* Fix lint bytecode to source code position mapping for innerclassesTor Norbye2012-10-031-0/+3
| | | | | | | | This fixes 38113: Lint doesn't show all NewApi errors in Eclipse, although it's showing on command line Change-Id: I0e1a8ffeac4d0ca085f59f80f86fd6eb7289ed4d
* 38002: Lint WakeLock Check Ignores Try-FinallyTor Norbye2012-10-011-3/+6
| | | | Change-Id: I4009ef5ffabedaa43158991657068edcaa6e80e0
* 38004: Lint Misreports API Compatibility of SQLiteCloseableTor Norbye2012-10-011-1/+7
| | | | Change-Id: I88cf62dec8671a8f053414f782bcb2cac617dc15
* Cache applicable issue lists per scope setTor Norbye2012-09-272-6/+80
| | | | | | | | | | Keep sets of applicable issues for each scope set. This should make incremental lint slightly more efficient. Also add a check that icon file extensions match the actual file format. Change-Id: I4a7f5e19b91aa3613480aa831ec42065528f02d3
* Add detector for fragments missing idsTor Norbye2012-09-262-1/+92
| | | | | | See issue 35959 for background. Change-Id: I8042b42e4649163cf8e6974d074ac05777685766
* 37861: Lint should warn when using mm or in unitsTor Norbye2012-09-262-4/+49
| | | | Change-Id: I220112559c1a7f30c505551b41004560b6e89891
* 37702: InconsistentArrays fails to identify inconsistent arraysTor Norbye2012-09-251-30/+37
| | | | Change-Id: I47d3757cac4b9204bdb15a84a8679921adc049a3
* Don't flag missing classes if project has not been built yetTor Norbye2012-09-241-1/+3
| | | | | | | | | | | | | | | The missing class detector in lint will warn if the manifest file contains references to class files and lint does not see those class files in the class output folder (or in any of the library jars). This is useful for catching typos and deleted classes. However, if you run lint on a project that has not yet been built, this can give misleading or confusing errors, since lint decides that a class exists by whether a .class file is actually there, not by whether a source file exists which would result in a class file getting produced with that name. Change-Id: I3105157a37f575e00b550ba90d883f24c02c16a9
* Fix missing class detector to work for incremental manifest editsTor Norbye2012-09-241-2/+3
| | | | | | | | | | | | | The missing manifest detector provides multiple issues; both the missing class detector (which requires not just manifest scope but also class scope), as well as some checks to ensure that for example inner classes are registered correctly, which only requires manifest scope. Because of this second issue, the detector runs in incremental manifest editing context, but the code to handle missing classes would also run. The check is simple; don't check missing class references unless we also have class scope. Change-Id: Iff83c372abf2335e3d8e991740702d6094fd65bd
* Add allowBackup lint security checkTor Norbye2012-09-212-1/+44
| | | | Change-Id: I3b79bef6981d880fe6a545429754e03bd384645c
* Rename ide_common to sdk_commonSiva Velusamy2012-09-181-1/+1
| | | | Change-Id: I1b39ee439a532f3f6758be35b569948e2e906665
* Add labelFor lint checkTor Norbye2012-09-172-1/+165
| | | | Change-Id: If2b905197d5d81c6f98315a0d48ff37091e8282b
* Code cleanupTor Norbye2012-09-172-2/+2
| | | | | | Replace "this.mFoo = foo" with just "mFoo = foo". Change-Id: I44d537ebb62cd7e5c8493a0b50dcb527cd20f91c
* Constants refactoring.Tor Norbye2012-09-1350-431/+431
| | | | | | | | | | | | | | | | This changeset moves most constants into the SdkConstants class, and gets rid of AndroidConstants and LintConstants. It also migrates all non-ADT specific constants from AdtConstants into SdkConstants. It furthermore moves various other constants (such as those in XmlUtils and ValuesDescriptors) into the constants class. It also fixes the modifier order to be the canonical modifier order (JLS 8.x). Finally, it removes redundancy and combines various constant aliases such that we don't have both NAME_ATTR and ATTR_NAME pointing to "name", etc. Change-Id: Ifd1755016f62ce2dd80e5c76130d6de4b0e32161
* Merge "Add unit test for lint CLI"Tor Norbye2012-09-111-0/+11
|\