Skip to content

feat(settings): add 3D map quick settings widget with camera controls toggle - #78

Draft
dkhawk wants to merge 1 commit into
feat/upgrade_to_16.0.0from
feat/quick-settings-widget
Draft

dkhawk wants to merge 1 commit into
feat/upgrade_to_16.0.0from
feat/quick-settings-widget

Conversation

@dkhawk

@dkhawk dkhawk commented Oct 8, 2026 •

Copy link
Copy Markdown
Collaborator

Summary of Changes

Based on @LoyalAbbas's PR #67 (feat/upgrade_to_16.0.0).

  • Map3DQuickSettingsButton (Kotlin & Java Views): Compact mini-FAB that attaches to GoogleMap3D and launches the quick settings modal dialog.
  • Map3DQuickSettingsWidget (Jetpack Compose): Compose overlay widget with statusBarsPadding() supporting live reactive settings changes.
  • Map Mode & Color Scheme Switching: Live runtime switching of Map Mode (Satellite, Hybrid, Roadmap) and Color Scheme (Follow System, Light, Dark).
  • Camera UI Controls Toggle: Master switch and granular checkboxes to toggle Maps 3D camera controls (Zoom, Tilt, Rotate, Compass, Pan Vertical, Pan Horizontal).
  • Status Bar Inset Protection: Extends edge-to-edge window insets to automatically offset trailing camera controls and dock the settings FAB safely below the device status bar.
  • 100% 3-Way Parity: Full feature parity across Kotlin Views, Java Views, and Jetpack Compose.
  • Unit Testing: Pure state controller (Map3DSettingsControllerTest) with 100% test coverage.

… toggle

- Introduce Map3DQuickSettingsButton for Kotlin and Java Views
- Introduce Map3DQuickSettingsWidget for Jetpack Compose
- Support live switching of Map Mode (Satellite, Hybrid, Roadmap)
- Support live switching of Color Scheme (System, Light, Dark)
- Support master and granular toggling of Maps 3D camera UI controls
- Protect top camera controls and settings FAB from status bar insets
- Add Map3DSettingsControllerTest with 100% passing JVM unit tests
@dkhawk
dkhawk requested a review from LoyalAbbas October 8, 2026 20:34
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