Skip to content

Refactor/migrate agp9#4

Merged
DeveloprOfThings merged 8 commits into
mainfrom
refactor/migrate-agp9
Jun 21, 2026
Merged

Refactor/migrate agp9#4
DeveloprOfThings merged 8 commits into
mainfrom
refactor/migrate-agp9

Conversation

@DeveloprOfThings

Copy link
Copy Markdown
Owner
  • Migrated project to use AGP 9.0.
  • Refactored iosMain/../Util.kt

….kespl.bluetooth`) and updated imports across the `iosMain` source-set to reflect this change.

- Optimized `ByteArray.toNSData()` by using `usePinned` to access memory directly instead of allocating a new array in a `memScoped` block.
- Added an empty check to `ByteArray.toNSData()` that returns an empty `NSData` instance if the array is empty.
- Removed redundant internal imports in `IOSLeCharacteristicWrapper.kt` and `PlatformLeClient.ios.kt`.
- Cleaned up `build.gradle.kts` by removing a trailing newline.
…ultiplatform library using the `com.android.kotlin.multiplatform.library` plugin.

- Included a new `:androidApp` module in `settings.gradle.kts`.
- Updated Gradle wrapper to version `9.1.0`.
- Bumped several library and plugin versions in `libs.versions.toml`, including:
    - Kotlin to `2.3.21`
    - Android Gradle Plugin to `9.0.1`
    - Compose Multiplatform to `1.11.0`
    - Koin to `4.2.1`
    - Coroutines to `1.11.0`
- Removed `iosX64` target support across all modules.
- Migrated `@Preview` imports from `org.jetbrains.compose.ui.tooling.preview` to `androidx.compose.ui.tooling.preview`.
- Removed Android application components from `composeApp`, including `MainActivity`, `MainApplication`, launcher icons, and application-level resources.
- Updated `build.gradle.kts` files to use the modern `android` target configuration block instead of `androidLibrary`.
- Cleaned up `AndroidManifest.xml` in `composeApp` to reflect its transition to a library module.
- Added the `androidApp` module with initial configuration for Compose and Koin.
- Implemented `MainActivity` with `installSplashScreen` and `enableEdgeToEdge` support.
- Configured `MainApplication` to initialize Koin with `ESPContext`.
- Added Bluetooth (scan and connect) and location permissions to `AndroidManifest.xml`.
- Added standard application resources including themes, colors, strings, and adaptive launcher icons.
- Defined backup and data extraction rules in `res/xml`.
@DeveloprOfThings DeveloprOfThings self-assigned this Jun 19, 2026
@github-actions

This comment was marked as low quality.

…m prompt to improve AI code review quality for KMP and CMP projects, focusing on platform boundaries, `expect`/`actual` patterns, and state management.

- Removed unused `kotlin.cinterop` imports in `iosMain/Util.kt`.
@github-actions

Copy link
Copy Markdown

Code Review by Gemini

Here is a quick review of the changes:

1. Typo in Android Manifest Namespace

In composeApp/src/androidMain/AndroidManifest.xml:

+<manifest xmlns:android="http://schemas.github.com/apk/res/android" />
  • Issue: The namespace URI is incorrectly written as schemas.github.com instead of schemas.android.com. This will cause XML validation and manifest merger failures.
  • Fix: Change it back to the correct Android schema:
    <manifest xmlns:android="http://schemas.android.com/apk/res/android" />

2. Dropped Intel iOS Simulator Support (iosX64)

In callbacks/build.gradle.kts, composeApp/build.gradle.kts, and library/build.gradle.kts:

  • Observation: The iosX64() target has been removed.
  • Impact: This drops support for running/testing the iOS application on Intel-based Macs (using the simulator). Ensure this was an intentional decision for your team's development environment.

@DeveloprOfThings DeveloprOfThings left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks Good!

@DeveloprOfThings DeveloprOfThings merged commit 60f4bec into main Jun 21, 2026
@github-actions

Copy link
Copy Markdown

Code Review by Gemini

Here is a quick review of the changes:

callbacks/build.gradle.kts

Inconsistent SDK versions:

-        compileSdk = 36
-        minSdk = 24
+        compileSdk = libs.versions.compileSDK.get().toInt()
+        minSdk = libs.versions.minSDK.get().toInt()
  • Reason: You updated the project-wide SDK versions in libs.versions.toml (to 37 and 26), but this module still uses hardcoded older versions (36 and 24). Use the version catalog accessor for consistency.

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