RedundantCoroutineScopeDetector
warns when aandroidx.lifecycle.LifecycleOwner
,androidx.lifecycle.ViewModel
, orandroid.view.View
implements or has a field assignable tokotlinx.coroutines.CoroutineScope
. Existing scopes are bound to relevant lifecycle events in the system and will prevent coroutines from running past their utility.LifecycleOwner
should uselifecycleScope
Fragment
should useviewLifecycleOwner.lifecycleScope
,ViewModel
should useviewModelScope
View
should usefindViewTreeLifecycleOwner()?.lifecycleScope
FiniteWhenCasesDetector
warns whenelse
is used as awhen
branch when thewhen
subject has finite possibilities- This detector works best when applied to an app project with
lint.checkDependencies = true
in the app module AGP DSL.
- This detector works best when applied to an app project with
ForEachFunctionDetector
reportsforEach
andforEachIndexed
use and encourages a language for loop replacementSkippedClassLocalOverrideDetector
warns when an explicit super method is called outside of the corresponding override.ErrorCatchDetector
reports an error when a catch block might catch ajava.lang.Error
type.
- Updated build tooling
- Treat lint warnings as errors for issues in this library
- Add spotless
- Java version is increased to Java 11
- Multiple build variants are published after upgrading gradle maven publish plugin to 0.19.0
- A NPE in SingleApostropheDetector for atypical resource definitions
- Changelog automation
- Issues related to Java 8 time APIs (java.time) are warnings instead of errors
- Updated compile (31), target (31), and minimum sdk (25)
- Use of period at the end of a lint message
- Updated development tools
- A vendor to the lint registry
- Update build tools
- Simplified maven publishing
- Run lint against the lint library
- Compile against SDK 30
- Update the Android Gradle Plugin
- Publish to sonatype nexus
- An issue parsing escaped apostrophes