chore: fix lint config noise and resolve 9.3.1 findings - #3048
Merged
Conversation
The convention plugin disabled 'androidx.media3.common.util.UnstableApi', which is the opt-in annotation FQN, not a lint issue id, so every module's baseline collected UnknownIssueId entries. The media3 opt-in is already handled correctly by lint.xml's UnsafeOptInUsageError + opt-in option. Since lint.xml is shared across all modules, it also references UnsafeOptInUsageError, which is only registered where a dependency bundles that check; in other modules that reference produced UnknownIssueId too. Ignore UnknownIssueId in the shared config and clear the affected baselines.
These were pre-existing issues detected by newer lint checks that the stale baselines (generated on lint 8.8.0) never captured. Fixed in code rather than baselined: - UseKtx: Uri.parse -> String.toUri, Bitmap.createBitmap -> createBitmap KTX, Bitmap.setPixel -> Bitmap.set operator (app, feature-chat, feature-login). - UnusedResources: remove 5 unused debug-only URL string resources. - ModifierParameter: make modifier the first optional parameter in ReminderCardEnableNotifications. - TextConcatSpace: stop splitting a word across a string concatenation in design-showcase sample data. - SystemPermissionTypo: suppress locally on the debug-only receiver whose android:permission="@null" is deliberate (false positive).
StylianosGakis
force-pushed
the
chore/lint-baseline-9.3.1-cleanup
branch
from
August 13, 2026 07:02
7a5e3b4 to
9a5a65b
Compare
panasetskaya
approved these changes
Aug 13, 2026
The KMP-android variant registers no runnable lint task, so the shared lint config applied to these modules is inert and their baselines are neither enforced nor regenerable. Documented at the wiring site to prevent confusion.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Lint hygiene, split out from unrelated branch work. Two self-contained commits, reviewable individually.
Baseline regeneration was moved to the stacked follow-up PR #3049 (which is based on this branch), so this PR is only the substantive fixes.
1. Fix spurious
UnknownIssueIdnoise from shared lint configHedvigLintConventionPlugindisabledandroidx.media3.common.util.UnstableApi, which is the opt-in annotation FQN, not a lint issue id (the id isUnsafeOptInUsageError, already handled correctly bylint.xml). Every module's baseline collectedUnknownIssueIdentries as a result. Sincelint.xmlis shared across all modules, it also referencesUnsafeOptInUsageError, which is only registered where a dependency bundles that check, producing moreUnknownIssueIdin other modules. Fixed by removing the baddisableentry and ignoringUnknownIssueIdin the shared config.2. Fix the 18 findings surfaced by lint 9.3.1
Pre-existing issues newly detected by newer lint checks (the stale baselines were built on lint 8.8.0). Fixed in code rather than baselined:
Uri.parse->String.toUri;Bitmap.createBitmap/setPixel-> KTXcreateBitmap/Bitmap.set(app, feature-chat, feature-login)modifieris now the first optional parameter inReminderCardEnableNotificationsandroid:permission="@null"is deliberate (false positive)Verified:
:app,:feature-chat,:feature-login,:member-reminders-ui,:design-showcaseall report "Lint found no errors or warnings".