feat!: rewrite android maps utils by kikoso · Pull Request #1658 · googlemaps/android-maps-utils
and others added 30 commits
October 30, 2025 15:46Previously, the task did not correctly trigger the check, allowing the demo app to attempt building without the necessary API key. This commit refines the logic to: - Enforce presence for all tasks that build the module (e.g., , , , , ). - Allow non-build tasks (e.g., , ) to proceed without the file, printing a warning instead of throwing an error. This ensures that tests can run independently while preventing incomplete demo app builds.
The secrets check in `demo/build.gradle.kts` has been refined to address issues with Android Studio Gradle syncs and to more accurately enforce the presence of `secrets.properties` for build-related tasks. Previously, the script would fail during an Android Studio sync (when no specific tasks are requested) due to an overly broad interpretation of "build task." This commit introduces the following changes: - **Graceful handling of IDE syncs:** If no tasks are explicitly requested (common during IDE sync), a warning is now issued instead of a hard failure. This allows the IDE to sync successfully while still informing the developer about the missing secrets. - **Stricter enforcement for build tasks:** For command-line builds or tasks that are not explicitly exempt (e.g., `clean`, `test`, `lint`), the script will now correctly throw an error if `secrets.properties` is missing. This ensures a better developer experience by preventing unnecessary build failures during IDE operations, while maintaining the necessary security check for actual application builds.
The previous logic prevented any task from running without a file. This change allows the task to run if it's accompanied by a test-related task, such as . This enables running test reports without needing to provide API keys.
Improved and expanded assertions in `GeoJsonParserTest` for: - `earthquakes_with_usa.json` - `south_london_line_geojson.json` - `south_london_square_geojson.json` - `usa.json` - `earthquakes.json` Tests now include detailed verification of feature counts, properties, geometry types, and coordinate values to ensure robust GeoJSON parsing.
Establish the pattern to migrate off GeoData object. Additionally, a minor typo in `testAmuBallonGxPrefix` has been corrected.
- Add `LatLonBoxSubject` to support cleaner, tolerance-based assertions for KML bounds using Google Truth.
- Update `amu_empty_hotspot.kml` to wrap contents in a `<Document>` tag, ensuring valid KML structure for parsing.
- Refactor `KmlParserTest` to use new assertions, remove dead code/comments, and fix a resource filename typo ("ballon" -> "balloon").
- Inline variable in `KmlParser.parseAsKml` for brevity.
Refactor GeoJSON parsing and mapping for type-safe coordinates. This commit refactors GeoJSON parsing to use a new Coordinates data class, simplifying GeoJsonObjects and GeoJsonParser. It also introduces a platform-agnostic renderer model and an initial MapViewRenderer implementation. Test updates are included to reflect these changes and ensure correctness, improving overall code robustness and maintainability.
This commit introduces the `KmlMapper` to transform KML data models into the platform-agnostic renderer model (`Scene` and `Feature` objects). Key changes include: - **`KmlMapper.kt`**: A new mapper that converts existing KML parser model objects into the generic renderer model, handling geometry transformations and nullability. - **`KmlMapperTest.kt`**: Comprehensive unit tests to verify the correct functioning of the `KmlMapper`, ensuring accurate conversion of KML Points, LineStrings, Polygons, and MultiGeometries, as well as handling of nested structures and null-safe coordinate access. This adds support for KML data within the new `onion` rendering architecture, leveraging existing KML parsing capabilities.
* feat(ui): port ui module to Kotlin and refactor visual tests Ported IconGenerator, AnimationUtil, BubbleDrawable, RotationLayout, SquareTextView, and BubbleIconFactory to Kotlin. Refactored visual tests to use a shared BaseVisualTest for better maintainability and robustness. * fix(ui): update copyright to 2026 and fix lint issues * feat(ui): address review feedback and include local visual test improvements * fix: make LatLngInterpolator
kikoso
changed the title
Feat/rewrite android maps utils
feat: rewrite android maps utils
kikoso
changed the title
feat: rewrite android maps utils
feat!: rewrite android maps utils
* docs: add AI integration standards to rewrite branch * chore: add release-please annotation to AI prompts * chore: add AI prompt files to release-please-config.json * docs: bump version in AI prompts to 4.1.1 * docs: remove compose utils reference from AI prompts
* chore: add clustering algorithms benchmark tests * docs: added header * chore: add benchmarks for remaining clustering algorithms * chore: add license header to BenchmarkTest.kt * docs: add clustering benchmark dashboard
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