Skip to content

feat(#915): upgrade to AGP 9.0.1, Gradle 9.1.0, Kotlin 2.3.21#1082

Open
lokhor wants to merge 5 commits into
mainfrom
feature/agp9-gradle9-kotlin2321
Open

feat(#915): upgrade to AGP 9.0.1, Gradle 9.1.0, Kotlin 2.3.21#1082
lokhor wants to merge 5 commits into
mainfrom
feature/agp9-gradle9-kotlin2321

Conversation

@lokhor
Copy link
Copy Markdown
Collaborator

@lokhor lokhor commented Jun 4, 2026

Closes #915

Summary

Upgrade build infrastructure: AGP 8.7.3 → 9.0.1, Gradle 8.11.1 → 9.1.0, Kotlin 2.2.21 → 2.3.21, KSP 2.2.21-2.0.5 → 2.3.9, Hilt 2.58 → 2.59.2.

Key changes

Plugin & compiler

  • Remove kotlin-android plugin — AGP 9 Path A (built-in Kotlin)
  • Add root buildscript {} KGP classpath pin removed after CR (AGP 9 resolves from kotlin-compose)
  • Remove all kotlinOptions {} blocks
  • Remove android.suppressUnsupportedCompileSdk=36

Dependencies

  • Add junit-platform-launcher to version catalog (BOM-managed, no explicit version)
  • Add missing activity-compose to :feature:chat
  • Add missing work-runtime-ktx to :app

Compatibility fixes

  • app/build.gradle.kts: git SHA via providers.exec (Gradle 9 compat)
  • ChatViewModel.kt: explicit Array<Any?> type for Kotlin 2.3.x combine reification
  • LatexConversionTest.kt: update nested fraction expectation (Kotlin 2.3.x regex change)
  • Lint suppressions for pre-existing issues; app/lint-baseline.xml

Modules excluded

  • core/model-availability — no git-tracked source files
  • feature/onboarding — only build.gradle.kts tracked, no src/

Verification

  • assembleDebug
  • test (433+ tests) ✓
  • lint ✓ (no new issues; 8 errors + 33 warnings baselined)

lokhor added 5 commits June 2, 2026 22:37
…roller

When Android TTS drops an onDone/onError callback (audio routing
interference, engine glitch), completePlaybackIfDrained waits forever
with non-empty utteranceIds and never emits SpeakingStopped, leaving
the UI stuck on 'Speaking response...'.

Add a 30-second safety-net timeout that fires after the final chunk is
queued. If TTS callbacks haven't drained all utterances by then, the
timeout force-cleans the playback state and emits SpeakingStopped.

Cancels automatically on natural completion or explicit stop().
…3.9, Hilt 2.59.2

- Remove kotlin-android plugin (AGP 9 built-in Kotlin via Path A)
- Add root buildscript KGP classpath pin (2.3.21)
- Remove kotlinOptions {} blocks from all 13 modules
- Remove android.suppressUnsupportedCompileSdk=36
- Add junit-platform-launcher to all test modules (Gradle 9 requirement)
- Fix exec/scoping issues for Gradle 9 Kotlin DSL
- Add missing activity-compose dependency to feature:chat
- Fix Kotlin 2.3.x combine intersection type reification
- Fix Kotlin 2.3.x nested fraction regex behavior change
- Suppress pre-existing lint errors; add lint baseline for :app
…atalog, KGP cleanup

- Move lint {} to android {} sibling (was nested inside compileOptions {})
- Restore gitSha via providers.exec (lazy, fallback 'unknown')
- Add junit-platform-launcher to version catalog (BOM-managed, no version)
- Replace hardcoded strings with libs.junit.platform.launcher in 11 modules
- Remove buildscript {} KGP classpath (AGP 9 resolves from kotlin-compose plugin)
- Fix double blank lines in core/inference and feature/chat build files
- Remove kotlin-android plugin (resolved by kotlin-compose via AGP 9 Path A)
- Remove kotlinOptions {} block
- Add testRuntimeOnly(libs.junit.platform.launcher)
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 4, 2026

Debug APK ready

Download app-debug.apk

Commit: 25b0d1f - Build #2105

Updated on each push. Removed when PR is merged or closed.

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.

chore: upgrade to AGP 9 + Gradle 9 + Kotlin 2.3.x + Hilt 2.59

1 participant