Skip to content

feat(samples): implement easter eggs#29

Open
dkhawk wants to merge 14 commits intomainfrom
feat/monster-tour
Open

feat(samples): implement easter eggs#29
dkhawk wants to merge 14 commits intomainfrom
feat/monster-tour

Conversation

@dkhawk
Copy link
Collaborator

@dkhawk dkhawk commented Mar 10, 2026

  • Replaced hardcoded markers with dynamic parsing from monsters.json
  • Implemented automated sequential tour of all markers in Kotlin and Java
  • Added a long-press PopupMenu to the Random Monster button for quick selection
  • Configured individual AltitudeModes for markers via JSON

- Replaced hardcoded markers with dynamic parsing from monsters.json

- Implemented automated sequential tour of all markers in Kotlin and Java

- Added a long-press PopupMenu to the Random Monster button for quick selection

- Configured individual AltitudeModes for markers via JSON
@dkhawk dkhawk changed the title feat(samples): implement monster tour, long-press, and altitude modes feat(samples): implement easter eggs Mar 10, 2026
@dkhawk dkhawk force-pushed the feat/monster-tour branch from a7fe7bd to 0297b97 Compare March 10, 2026 19:59
dkhawk added 12 commits March 10, 2026 15:03
… suite

- Extracted JSON parsing logic into dedicated `Monster` and `MonsterParser` classes for both Kotlin and Java apps to clean up activity bloat.
- Refactored `MarkersActivity` in both languages to utilize the new abstractions.
- Fixed a timing bug in the Java `MarkersActivity` by ensuring `setMapMode` and marker placements await `setOnMapReadyListener`, aligning its behavior with the Kotlin implementation.
- Added comprehensive unit tests for the parsing logic.
- Added Robolectric integration tests to validate complex asset parsing in an emulated environment.
- Migrated all test assertions to Google Truth (`com.google.truth:truth`) for better readability.
- Added necessary test dependencies (Robolectric, Truth, JSON) to the relevant Version Catalogs.
…cellation

- Implement double-wait pattern utilizing OnMapSteadyListener to prevent tour animations from skipping past unrendered terrain.

- Added stopMonsterTour calls to all other navigation buttons.
android:insetBottom="0dp"
android:insetTop="0dp"
android:alpha="0.4"
android:text="🗺️"

Check warning

Code scanning / Android Lint

Hardcoded text Warning

Hardcoded string "🗺️", should use @string resource
android:insetBottom="0dp"
android:insetTop="0dp"
android:alpha="0.4"
android:text="🎲"

Check warning

Code scanning / Android Lint

Hardcoded text Warning

Hardcoded string "🎲", should use @string resource
android:alpha="0.4"
android:text="🎲"
android:textSize="20sp"
android:contentDescription="Fly to Random Monster"

Check warning

Code scanning / Android Lint

Hardcoded text Warning

Hardcoded string "Fly to Random Monster", should use @string resource
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
app:icon="@drawable/public_24px"
android:contentDescription="Fly to Berlin"

Check warning

Code scanning / Android Lint

Hardcoded text Warning

Hardcoded string "Fly to Berlin", should use @string resource
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
app:icon="@drawable/location_city_24px"
android:contentDescription="Fly to NYC"

Check warning

Code scanning / Android Lint

Hardcoded text Warning

Hardcoded string "Fly to NYC", should use @string resource
@dkhawk dkhawk requested a review from kikoso March 11, 2026 00:40
@dkhawk dkhawk marked this pull request as ready for review March 11, 2026 00:40
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