Skip to content

chore(maintenance): upgrade dependencies, migrate to Material 3, and resolve lint issues#922

Draft
dkhawk wants to merge 1 commit into
mainfrom
maintenance/dep-lint-fixes
Draft

chore(maintenance): upgrade dependencies, migrate to Material 3, and resolve lint issues#922
dkhawk wants to merge 1 commit into
mainfrom
maintenance/dep-lint-fixes

Conversation

@dkhawk
Copy link
Copy Markdown
Collaborator

@dkhawk dkhawk commented May 27, 2026

This PR performs essential maintenance by upgrading dependencies to their latest stable versions, completely migrating the demo application (maps-app) to Jetpack Compose Material 3 (resolving 24 lint warnings), fixing other static analysis issues, and validating visual rendering.

This PR is created in DRAFT state as we are waiting for the maps-ktx version update to finalize.

1. Dependency Upgrades 📦

Upgraded key dependencies in gradle/libs.versions.toml:

  • androidx.compose:compose-bom: 2026.03.00 ➡️ 2026.05.01 (stable Compose update)
  • com.google.android.material:material: 1.13.0 ➡️ 1.14.0 (stable)
  • org.jetbrains.kotlinx:kotlinx-coroutines-android & -test: 1.10.2 ➡️ 1.11.0 (stable)
  • com.android.compose.screenshot & screenshot-validation-api: 0.0.1-alpha14 ➡️ 0.0.1-alpha15 (minor alpha update)
  • Refactored root build.gradle.kts to declare the Dokka plugin via its catalog alias libs.plugins.dokka instead of a hardcoded version string.
  • Enabled project-wide parallel builds in gradle.properties.

2. Material 3 Migration (UsingMaterialAndMaterial3Libraries - 24 warnings resolved)

Migrated 8 demo activities/fragments inside the maps-app module from Material 2 (androidx.compose.material.*) to Material 3 (androidx.compose.material3.*) to ensure a unified, modern design system:

  • CustomControlsActivity.kt, GoogleMapComposeFragment.kt, LocationTrackingActivity.kt, MapInColumnActivity.kt, MapsInLazyColumnActivity.kt, RecompositionActivity.kt, ScaleBarActivity.kt, and StreetViewActivity.kt.
  • Note: Fully qualified the AnimatedVisibility call in MapsInLazyColumnActivity.kt to resolve a ColumnScope resolution conflict introduced by the Material 3 Card's implicit ColumnScope receiver lambda.

3. Other Lint Warnings Resolved 🛠️

  • ConfigurationScreenWidthHeight: Replaced the legacy LocalConfiguration.current and screen DP property calculations with the modern LocalWindowInfo.current.containerSize to pass exact pixel width/height dimensions directly to NonHierarchicalViewBasedAlgorithm.
  • HardcodedText: Replaced a hardcoded string with a localized string resource (swipe_to_switch) in activity_fragment_demo.xml.

Verification & Visual Testing Status

  • Visual Verification: Executed the automated Compose screenshot tests (validateDebugScreenshotTest). 100% of the screenshot tests passed successfully against baseline rendering!
  • Unit Tests: Executed ./gradlew test concurrently via parallel builds, passing cleanly with zero errors.

…resolve lint issues

- Upgraded outdated dependencies in gradle/libs.versions.toml:
  - compose-bom: 2026.03.00 -> 2026.05.01
  - material: 1.13.0 -> 1.14.0
  - kotlinxCoroutines: 1.10.2 -> 1.11.0
  - screenshot & validation-api: 0.0.1-alpha14 -> 0.0.1-alpha15
- Refactored root build.gradle.kts to declare the Dokka plugin via its catalog alias (libs.plugins.dokka).
- Enabled project-wide parallel builds (org.gradle.parallel=true) in gradle.properties.
- Migrated 8 demo activities and fragments in maps-app from Material 2 to Material 3, resolving 24 UsingMaterialAndMaterial3Libraries lint warnings.
- Fully qualified AnimatedVisibility call in MapsInLazyColumnActivity.kt to resolve ColumnScope resolution conflict inside the Material 3 Card.
- Resolved ConfigurationScreenWidthHeight warning in MarkerClusteringActivity.kt by calculating screen dimensions in pixels using LocalWindowInfo containerSize instead of legacy LocalConfiguration screen Dp.
- Resolved HardcodedText warning in activity_fragment_demo.xml by defining and using a string resource (swipe_to_switch).
@googlemaps-bot
Copy link
Copy Markdown
Contributor

Code Coverage

Overall Project 24.83% -0.66%
Files changed 32.75%

File Coverage
MapInColumnActivity.kt 69.93% 🍏
MapsInLazyColumnActivity.kt 65.19% 🍏
LocationTrackingActivity.kt 0% -1.39%
ScaleBarActivity.kt 0% -4.92%
CustomControlsActivity.kt 0% -8.79%
StreetViewActivity.kt 0% 🍏
GoogleMapComposeFragment.kt 0% 🍏
RecompositionActivity.kt 0% 🍏
MarkerClusteringActivity.kt 0% -1.92%

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.

2 participants