Repository navigation
Conversation
…eenshots and immersive mode - Align `codelab/starter` and `codelab/solution` sequentially from Step 1 to Step 12 so `diff(starter, solution)` is clean and predictable - Expand `codelab/codelab.md` with complete code blocks for `flyToHonolulu`, `addPolygon`, `setupPolylines`, `setupBalloon`, `flyTour` (with 5-step hints and a collapsible `<details>` solution), and `Map3DComposeActivity` - Convert `starter/.../Map3DComposeActivity.kt` into a compiling skeleton with step-by-step `TODO` hints - Fix `NoSuchMethodError: copy$default` crash in `Map3DComposeActivity.kt` by calling `Map3DInitConfig.create(...)` directly instead of `.create().copy(...)` - Configure full-bleed Sticky Immersive Mode (`BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE`) in `MainActivity.kt` and `Map3DComposeActivity.kt` with opt-out explanation in `codelab.md` - Add `POLYLINE_CAMERA` and fix `PEARL_HARBOR` coordinates in `HonoluluData.kt` - Capture and frame all 10 visual codelab screenshots (`codelab/images/*.png`) in System UI Demo Mode - Replace corrupted JPEG `hibiscus.png` in `starter` with valid PNG, remove unused `controls_background.xml`, deduplicate `strings.xml`, and add `extrudePolygon` unit tests
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.
Summary
This PR resolves findings from a comprehensive audit of the Aloha Explorer 3D Maps Codelab (
codelab/codelab.md,codelab/starter, andcodelab/solution) introduced in #36:1. Codelab Text (
codelab/codelab.md) & Screenshots (codelab/images/)<!-- TODO: Add screenshot here -->placeholders and captured/framed screenshots in the repo's608x1281Pixel 6 device frame (in System UI Demo Mode + Sticky Immersive Mode) across all 10 visual steps:global_view.png), Step 3 (fly_to_honolulu.png), Step 4 (four_markers.png), Step 5 (custom_markers.png), Step 6 (extruded_palace.png), Step 8 (polylines.png), Step 9 (balloon_model.png), Step 10 (popover_example.png), Step 11 (scenic_tour.png), and Step 12 (compose_integration.png).WindowInsetsControllerCompat.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE) with a> [!TIP]callout and inline comments showing which 3 lines to remove if persistent system bars are preferred.flyToHonolulu): Replaced{ ... }ellipses with the completeflyToOptionsandflyAroundOptionsimplementation.addPolygon): Added the fulladdPolygonmethod (resetMap(),map.addPolygon(polygonOptions { ... }),activePolygons.add(face), and click listener attachment) and fixedextrudePolygonvisibility inUtilities.kt.setupPolylines) & Step 9 (setupBalloon): Added enclosing function signatures,resetMap(), andactiveModels.add(balloon).flyTourChallenge): Fixed the brokenawaitCameraAnimation(map)hint to match the 5-step coroutine sequence (camera,flyCameraToAndWait,awaitMapSteady,flyAroundOptions,delay) and added a collapsible<details>solution block.Map3DComposeActivity): AddedAndroidManifest.xmlinstructions and updatedMap3DInitConfig.create(...).maps3d.googleapis.com, formatted alerts using GitHub Flavored Markdown (> [!NOTE]/> [!TIP]), and added a link tocodelab/in the rootREADME.md.2. Starter & Solution Parity (
codelab/starter&codelab/solution)solution/.../MainActivity.ktsequentially from Step 1 to Step 11 to matchstarter/.../MainActivity.ktandcodelab.md.starter/.../Map3DComposeActivity.ktfrom a commented-out full solution into a compiling skeleton with step-by-stepTODOhints.Map3DInitConfig.create().copy(...)(which threwjava.lang.NoSuchMethodError: No static method copy$defaultat runtime due to R8 obfuscation inplay-services-maps3d:16.0.1) withMap3DInitConfig.create(...).WindowInsetsControllerCompatinMainActivity.ktandMap3DComposeActivity.ktand removed top system-bar padding onmap3dView/Map3DContainerso the 3DTextureViewrenders full-bleed to the top edge (y = 0).HonoluluData.kt):POLYLINE_CAMERA(used bybtn_show_polylines) to frame the full geodesic polyline between Iolani Palace and Waikiki Beach.PEARL_HARBORcoordinates from21.31861, -157.92250(Honolulu Airport runway) to21.3649, -157.9500(Pearl Harbor / USS Arizona Memorial).starter/.../drawable-nodpi/hibiscus.pngwith the valid 38 KB PNG fromsolution.solution/.../drawable/controls_background.xml, deduplicatedstrings.xml, externalized the 7 tour landmark strings, and addedextrudePolygonunit tests tosolution/.../ExampleUnitTest.kt.Test Plan
./gradlew assembleDebug testDebugUnitTestpasses in bothcodelab/starterandcodelab/solution.MainActivityandMap3DComposeActivity) on a physical Pixel 6 device.