Lint Report: 14 warnings and 1 hint
Issue Types

Overview

Lint
1warning LintBaseline: Baseline Applied
1warning LintBaselineFixed: Baselined Issues Fixed
Correctness
1warning OldTargetApi: Target SDK attribute is not targeting latest version
1warning GradleDependency: Obsolete Gradle Dependency
4warning NewerVersionAvailable: Newer Library Versions Available
1warning LocalContextResourcesRead: Reading Resources using LocalContext.current.resources
Performance
1warning AutoboxingStateCreation: State<T> will autobox values assigned to this state. Use a specialized state type instead.
5warning UnusedResources: Unused resources
1warning NotShrinkingResources: Use resource shrinking to optimize your resources
Productivity
1warning UseKtx: Use KTX extension function
Included Additional Checks (66)
Disabled Checks (42)

Baseline Applied

../../lint-baseline.xml: 26 warnings were filtered out because they are listed in the baseline file, lint-baseline.xml
LintBaseline Hint Priority 10/10

Baselined Issues Fixed

../../lint-baseline.xml: 49 errors/warnings were listed in the baseline file (lint-baseline.xml) but not found in the project; perhaps they have been fixed? Another possible explanation is that lint recently stopped analyzing (and including results from) dependent projects by default. You can turn this back on with android.lintOptions.checkDependencies=true. Unmatched issue types: AndroidGradlePluginVersion (3), GradleDependency (36), UnusedResources (10)
LintBaselineFixed Hint Priority 10/10

Target SDK attribute is not targeting latest version

../../build.gradle.kts:70: Not targeting the latest versions of Android; compatibility modes apply. Consider testing and updating this version. Consult the android.os.Build.VERSION_CODES javadoc for details.
  67     defaultConfig {
  68         applicationId = "com.yorvana"
  69         minSdk = 26
  70         targetSdk = 36                                                                              
  71         versionCode = 1
  72         versionName = "1.0.0"
OldTargetApi Correctness Warning Priority 6/10

Obsolete Gradle Dependency

../../build.gradle.kts:65: A newer version of compileSdk than 36 is available: 37
  62 
  63 android {
  64     namespace = "com.yorvana"
  65     compileSdk = 36                                                                                 
  66 
  67     defaultConfig {
  68         applicationId = "com.yorvana"
GradleDependency Correctness Warning Priority 4/10

Newer Library Versions Available

../../../gradle/libs.versions.toml:11: A newer version of io.github.takahirom.roborazzi than 1.11.0 is available: 1.63.0
  8 agp = "9.2.1"
  9 kotlin = "2.3.21"
 10 paparazzi = "1.3.5"
 11 roborazzi = "1.11.0"                                                                                
 12 compose-bom = "2026.05.01"
 13 navigation3 = "1.1.2"
 14 lifecycle = "2.10.0"
../../../gradle/libs.versions.toml:11: A newer version of io.github.takahirom.roborazzi:roborazzi than 1.11.0 is available: 1.63.0
  8 agp = "9.2.1"
  9 kotlin = "2.3.21"
 10 paparazzi = "1.3.5"
 11 roborazzi = "1.11.0"                                                                                
 12 compose-bom = "2026.05.01"
 13 navigation3 = "1.1.2"
 14 lifecycle = "2.10.0"
../../../gradle/libs.versions.toml:11: A newer version of io.github.takahirom.roborazzi:roborazzi-compose than 1.11.0 is available: 1.63.0
  8 agp = "9.2.1"
  9 kotlin = "2.3.21"
 10 paparazzi = "1.3.5"
 11 roborazzi = "1.11.0"                                                                                
 12 compose-bom = "2026.05.01"
 13 navigation3 = "1.1.2"
 14 lifecycle = "2.10.0"
../../../gradle/libs.versions.toml:24: A newer version of io.sentry:sentry-android than 8.41.0 is available: 8.42.0
 21 activity-compose = "1.13.0"
 22 robolectric = "4.16.1"
 23 billing = "9.0.0"
 24 sentry = "8.41.0"                                                                                   
 25 
 26 [libraries]
 27 sentry-android = { module = "io.sentry:sentry-android", version.ref = "sentry" }
NewerVersionAvailable Correctness Warning Priority 4/10

Reading Resources using LocalContext.current.resources

../../src/main/java/com/yorvana/ui/settings/CategoriesScreen.kt:93: Reading Resources using LocalContext.current.resources
  90         ConfirmDeleteDialog(
  91             message =
  92                 if (state.pendingDeleteRecordCount > 0) {
  93                     context.resources.getQuantityString(                                            
  94                         R.plurals.category_delete_confirm_with_count,
  95                         state.pendingDeleteRecordCount,
  96                         label,
Vendor: Jetpack Compose
Identifier: androidx.compose.ui
Feedback: https://issuetracker.google.com/issues/new?component=612128
LocalContextResourcesRead Correctness Warning Priority 3/10

State<T> will autobox values assigned to this state. Use a specialized state type instead.

../../src/main/java/com/yorvana/ui/navigation/AppNavGraph.kt:348: Prefer mutableIntStateOf instead of mutableStateOf
 345     val application = context.applicationContext as YorvanaApplication
 346     val scope = rememberCoroutineScope()
 347 
 348     var step by rememberSaveable { mutableStateOf(1) }                                              
 349     var selectedUri by rememberSaveable { mutableStateOf<String?>(null) }
 350     var crashReportingEnabled by rememberSaveable { mutableStateOf(true) }
Vendor: Jetpack Compose
Identifier: androidx.compose.runtime
Feedback: https://issuetracker.google.com/issues/new?component=612128
AutoboxingStateCreation Performance Hint Priority 3/10

Unused resources

../../src/main/res/values/strings.xml:159: The resource R.string.action_show_more appears to be unused
 156   <string name="settings_privacy_never_captured_list">• Your vehicles or service records\n• Attachment names or content\n• Any personal information</string>
 157   <string name="action_learn_more">Learn more</string>
 158   <string name="action_show_less">Show less</string>
 159   <string name="action_show_more">Show more</string>                                              
 160   <string name="action_view_more">View more</string>
 161   <string name="a11y_state_expanded">Expanded</string>
 162   <string name="a11y_state_collapsed">Collapsed</string>
../../src/main/res/values/strings.xml:161: The resource R.string.a11y_state_expanded appears to be unused
 158     <string name="action_show_less">Show less</string>
 159     <string name="action_show_more">Show more</string>
 160     <string name="action_view_more">View more</string>
 161     <string name="a11y_state_expanded">Expanded</string>                                            
 162     <string name="a11y_state_collapsed">Collapsed</string>
 163     <string name="action_clear">Clear</string>
 164     <string name="currency_custom">Custom…</string>
../../src/main/res/values/strings.xml:162: The resource R.string.a11y_state_collapsed appears to be unused
 159     <string name="action_show_more">Show more</string>
 160     <string name="action_view_more">View more</string>
 161     <string name="a11y_state_expanded">Expanded</string>
 162     <string name="a11y_state_collapsed">Collapsed</string>                                          
 163     <string name="action_clear">Clear</string>
 164     <string name="currency_custom">Custom…</string>
../../src/main/res/values/strings.xml:199: The resource R.string.banner_text appears to be unused
 196     <string name="mi">mi</string>
 197 
 198     <!-- Billing / Paywall -->
 199     <string name="banner_text">Read-only mode — upgrade to edit</string>                            
 200     <string name="banner_upgrade">Upgrade</string>
 201 
 202     <string name="premium_upgrade_title">Premium Upgrade</string>
../../src/main/res/values/strings.xml:200: The resource R.string.banner_upgrade appears to be unused
 197 
 198   <!-- Billing / Paywall -->
 199   <string name="banner_text">Read-only mode — upgrade to edit</string>
 200   <string name="banner_upgrade">Upgrade</string>                                                  
 201 
 202   <string name="premium_upgrade_title">Premium Upgrade</string>
 203   <string name="premium_upgrade_message">You have reached the free limit of 1 vehicle. Upgrade to Premium to add unlimited vehicles and support development.</string>
UnusedResources Performance Warning Priority 3/10

Use resource shrinking to optimize your resources

../../build.gradle.kts:111: If enabling minification, also set isShrinkResources = true
 108             ) {
 109                 signingConfig = signingConfigs.getByName("release")
 110             }
 111             isMinifyEnabled = true                                                                  
 112             proguardFiles(
 113                 getDefaultProguardFile("proguard-android-optimize.txt"),
 114                 "proguard-rules.pro",
NotShrinkingResources Performance Warning Priority 2/10

Use KTX extension function

../../src/main/java/com/yorvana/ui/navigation/AppNavGraph.kt:138: Use the KTX extension function SharedPreferences.edit instead?
 135     LaunchedEffect(backStack) {
 136         snapshotFlow { backStack.lastOrNull() }
 137             .collect { key ->
 138                 context                                                                             
 139                     .getSharedPreferences(NAV_PREFS, android.content.Context.MODE_PRIVATE)
 140                     .edit()
 141                     .putString(KEY_LAST_ROUTE, key?.toSavedRoute())
UseKtx Productivity Warning Priority 6/10

Included Additional Checks

This card lists all the extra checks run by lint, provided from libraries, build configuration and extra flags. This is included to help you verify whether a particular check is included in analysis when configuring builds. (Note that the list does not include the hundreds of built-in checks into lint, only additional ones.)

Disabled Checks

One or more issues were not run by lint, either because the check is not enabled by default, or because it was disabled with a command line flag or via one or more lint.xml configuration files in the project directories.

Suppressing Warnings and Errors

Lint errors can be suppressed in a variety of ways:

1. With a @SuppressLint annotation in the Java code
2. With a tools:ignore attribute in the XML file
3. With a //noinspection comment in the source code
4. With ignore flags specified in the build.gradle file, as explained below
5. With a lint.xml configuration file in the project
6. With a lint.xml configuration file passed to lint via the --config flag
7. With the --ignore flag passed to lint.

To suppress a lint warning with an annotation, add a @SuppressLint("id") annotation on the class, method or variable declaration closest to the warning instance you want to disable. The id can be one or more issue id's, such as "UnusedResources" or {"UnusedResources","UnusedIds"}, or it can be "all" to suppress all lint warnings in the given scope.

To suppress a lint warning with a comment, add a //noinspection id comment on the line before the statement with the error.

To suppress a lint warning in an XML file, add a tools:ignore="id" attribute on the element containing the error, or one of its surrounding elements. You also need to define the namespace for the tools prefix on the root element in your document, next to the xmlns:android declaration:
xmlns:tools="http://schemas.android.com/tools"

To suppress a lint warning in a build.gradle file, add a section like this:
android {
    lintOptions {
        disable 'TypographyFractions','TypographyQuotes'
    }
}

Here we specify a comma separated list of issue id's after the disable command. You can also use warning or error instead of disable to change the severity of issues.

To suppress lint warnings with a configuration XML file, create a file named lint.xml and place it at the root directory of the module in which it applies.

The format of the lint.xml file is something like the following:
<?xml version="1.0" encoding="UTF-8"?>
<lint>
    <!-- Ignore everything in the test source set -->
    <issue id="all">
        <ignore path="\*/test/\*" />
    </issue>

    <!-- Disable this given check in this project -->
    <issue id="IconMissingDensityFolder" severity="ignore" />

    <!-- Ignore the ObsoleteLayoutParam issue in the given files -->
    <issue id="ObsoleteLayoutParam">
        <ignore path="res/layout/activation.xml" />
        <ignore path="res/layout-xlarge/activation.xml" />
        <ignore regexp="(foo|bar)\.java" />
    </issue>

    <!-- Ignore the UselessLeaf issue in the given file -->
    <issue id="UselessLeaf">
        <ignore path="res/layout/main.xml" />
    </issue>

    <!-- Change the severity of hardcoded strings to "error" -->
    <issue id="HardcodedText" severity="error" />
</lint>

To suppress lint checks from the command line, pass the --ignore flag with a comma separated list of ids to be suppressed, such as:
$ lint --ignore UnusedResources,UselessLeaf /my/project/path

For more information, see https://developer.android.com/studio/write/lint.html#config