Modernize to Kotlin Multiplatform with Compose Multiplatform sample#1
Open
rubixhacker wants to merge 2 commits into
Open
Modernize to Kotlin Multiplatform with Compose Multiplatform sample#1rubixhacker wants to merge 2 commits into
rubixhacker wants to merge 2 commits into
Conversation
Rewrite the Android-only contacts library as a KMP library targeting Android, iOS, JVM Desktop, and WasmJs. Replace AutoValue Java models with Kotlin data classes, swap RxJava for coroutines/Flow, and migrate from Groovy build scripts to Kotlin DSL with a version catalog. Key changes: - Kotlin 2.1.10 + KMP project structure (commonMain/androidMain/iosMain/desktopMain/wasmJsMain) - Data classes replace AutoValue, KontactRepository interface with suspend + Flow API - Android: full ContentProvider implementation, iOS: CNContacts implementation - Desktop and WasmJs: stub repositories (no standard contacts API) - Compose Multiplatform sample app replacing the old Android-only sample - Removed: RxJava modules, column adapters, support libraries, Bintray publishing https://claude.ai/code/session_01JnLE37sFhikvXkDVRVek7f
…ndling - Add macosX64/macosArm64 targets to both library and sample modules - Move CNContacts implementation from iosMain to appleMain (shared by iOS + macOS) - Rename IosKontactRepository → AppleKontactRepository - Integrate moko-permissions-compose for cross-platform contacts permission - Shared permission request/grant flow in App.kt replaces platform-specific handling - Add macOS sample entry point https://claude.ai/code/session_01JnLE37sFhikvXkDVRVek7f
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.
Rewrite the Android-only contacts library as a KMP library targeting
Android, iOS, JVM Desktop, and WasmJs. Replace AutoValue Java models
with Kotlin data classes, swap RxJava for coroutines/Flow, and migrate
from Groovy build scripts to Kotlin DSL with a version catalog.
Key changes:
https://claude.ai/code/session_01JnLE37sFhikvXkDVRVek7f