Skip to content

chore: clear every compiler, lint and rustdoc warning; current Android dependencies - #85

Merged
deymosh merged 3 commits into
masterfrom
chore/fix-warnings
Oct 1, 2026
Merged

deymosh merged 3 commits into
masterfrom
chore/fix-warnings

Conversation

@deymosh

@deymosh deymosh commented Oct 1, 2026

Copy link
Copy Markdown
Owner

Summary

Before the 1.2.0 prerelease: the workspace now builds with zero warnings across Kotlin (debug, release, tests), Android lint, R8, cargo (release and cargo doc), clippy and the agent host's build and typecheck.

Android fixes that matter beyond the lint noise:

  • MissingPermission: a notification posted after the permission check could hit a permission revoked in between and crash. The SecurityException is now caught.
  • InlinedApi: the sensitive-clipboard flag is set only on Android 13+. The foreground service type is chosen per version, and Android 8–9 now get no type rather than one they don't know.
  • Backup: fullBackupContent="false" says to Android ≤ 11 what the data extraction rules say to 12+, so no backup on any version.
  • Generated UniFFI bindings are excluded from lint, since they're regenerated, drift-checked and can't be fixed by hand. Their one finding (java.lang.ref.Cleaner below API 33) is guarded at runtime with a fallback to JNA's cleaner.
  • Cleanups: KTX helpers; the modifier first among each composable's optional parameters; float state without boxing; test composable naming; the obsolete -v26 mipmap folder; import order; two needless !!; a deprecated icon.

Dependencies (lint NewerVersionAvailable etc.):

  • Gradle 9.8.0, with the wrapper checksum now pinned.
  • AGP 9.4.1, core-ktx 1.19.1, kotlinx-serialization 1.11.0, Robolectric 4.17, Paparazzi alpha05.1, markdown renderer 0.45.0, JNA 5.19.1, Tink 1.23.0.
  • Every dependency is now in the version catalog, with the reasons kept.
  • The markdown renderer spaces paragraphs and list items slightly more, so its parity golden is re-recorded. Tables, task lists and code blocks are unchanged; I reviewed the diff image.

Rust: links from public docs to private items became plain code, and the bridge's --workspace help states its default in words.

Test plan

  • lintDebug: 0 issues
  • compileDebugKotlin compileReleaseKotlin compileDebugUnitTestKotlin: no warnings
  • minifyReleaseWithR8: no warnings
  • testDebugUnitTest verifyPaparazziDebug
  • cargo clippy --workspace --all-targets -D warnings, cargo build --release and cargo doc: 0 warnings
  • bridge-runtime tests

🤖 Generated with Claude Code

deymosh and others added 3 commits October 1, 2026 03:50
- Kotlin: two non-null assertions on values already known non-null, and
  the deprecated DriveFileMove icon (now its auto-mirrored version).
- MissingPermission: a notification posted after the permission check
  may meet a permission revoked in between; that SecurityException is
  now caught instead of crashing.
- InlinedApi: the sensitive-clipboard flag is set only where it exists
  (Android 13+), and the foreground service type is chosen per version
  (none before Android 10).
- Backup: fullBackupContent="false" says to Android 11 and older what
  the data extraction rules say to 12+.
- Cleanups: KTX edit/toUri/scale, the version catalog's own lint, the
  modifier as each composable's first optional parameter, a float state
  without boxing, PascalCase test composables, the v26-only mipmap
  folder merged (minSdk is 26), and imports in order.
- The generated UniFFI bindings are excluded from lint: they cannot be
  fixed by hand, and their one finding (java.lang.ref.Cleaner below API
  33) is guarded at run time with a fallback to JNA's cleaner.

Co-Authored-By: Claude Code <noreply@anthropic.com>
Gradle 9.8.0 (wrapper checksum now pinned), AGP 9.4.1, core-ktx 1.19.1,
kotlinx-serialization 1.11.0, Robolectric 4.17, Paparazzi
2.0.0-alpha05.1, markdown renderer 0.45.0, JNA 5.19.1 and Tink 1.23.0.
JNA, Tink, CameraX, ZXing and the extended icons move from inline
coordinates into gradle/libs.versions.toml, with the reasons for each.

The markdown renderer now spaces paragraphs and list items slightly more;
its parity golden is re-recorded (tables, task lists and code blocks
render as before).

Co-Authored-By: Claude Code <noreply@anthropic.com>
Public docs linked to private items (timeouts, caps, internal types);
they are now named in code style rather than linked. The bridge's
--workspace help wrote its default as a bracketed path, which rustdoc
read as a broken link; it now says the default in words.

Co-Authored-By: Claude Code <noreply@anthropic.com>
@deymosh
deymosh merged commit 4e5b5a1 into master Oct 1, 2026
6 checks passed
@deymosh deymosh mentioned this pull request Oct 1, 2026
@deymosh
deymosh deleted the chore/fix-warnings branch October 2, 2026 10:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant