Skip to content

feat: navigation compose and delegation pattern #670

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 17 commits into from
Mar 3, 2025
Merged

Conversation

dkhawk
Copy link
Collaborator

@dkhawk dkhawk commented Jan 9, 2025

Thank you for opening a Pull Request!


Before submitting your PR, there are a few things you can do to make sure it goes smoothly:

  • Make sure to open a GitHub issue as a bug/feature request before writing your code! That way we can discuss the change, evaluate designs, and agree on the general idea
  • Ensure the tests and linter pass
  • Code coverage does not decrease (if any source code was changed)
  • Appropriate docs were updated (if necessary)

Fixes #<issue_number_goes_here> 🦕

dkhawk added 4 commits January 6, 2025 16:47
Adds support for the Navigation SDK to Maps Compose. It just allows the user to replace a standard MapView with a NavigationView within a GoogleMap composable.

The following changes were made:

Added a new NavigationViewDelegate class to handle the integration between NavigationView and Maps Compose.
Added a new NavigationScreen composable function to display the navigation view.
Added a new MovableMarker composable function to display a draggable marker on the map.
Updated the GoogleMap composable function to support the use of NavigationView.
Added a new NavigationApplication class to initialize the Places SDK.
Added a new ApiKeyProvider class to provide API keys for the Maps and Places SDKs.
Added a new LocationProvider class to provide location data.
Added a new PermissionChecker class to check for location permissions.
Updated the build.gradle.kts files to include the necessary dependencies.
Updated the local.defaults.properties file to include the Places API key.
Adds NavigationViewDelegate to support NavigationView in the navigation sample app.

This change allows the navigation sample app to use NavigationView, which provides turn-by-turn navigation functionality.

The NavigationViewDelegate handles the lifecycle and rendering of the NavigationView, ensuring that it is properly integrated into the Jetpack Compose UI.

Uses a MarkerComposable to demonstrate the map really is a composable
@dkhawk dkhawk marked this pull request as draft January 9, 2025 00:51
@googlemaps-bot
Copy link
Contributor

googlemaps-bot commented Jan 9, 2025

Code Coverage

There is no coverage information present for the Files changed

@kikoso kikoso force-pushed the navigation-compose branch from d3c6162 to 934fee6 Compare January 13, 2025 17:26
Adds support for the Navigation SDK to Maps Compose. It just allows the user to replace a standard MapView with a NavigationView within a GoogleMap composable.

The following changes were made:

Added a new NavigationViewDelegate class to handle the integration between NavigationView and Maps Compose.
Added a new NavigationScreen composable function to display the navigation view.
Added a new MovableMarker composable function to display a draggable marker on the map.
Updated the GoogleMap composable function to support the use of NavigationView.
Added a new NavigationApplication class to initialize the Places SDK.
Added a new ApiKeyProvider class to provide API keys for the Maps and Places SDKs.
Added a new LocationProvider class to provide location data.
Added a new PermissionChecker class to check for location permissions.
Updated the build.gradle.kts files to include the necessary dependencies.
Updated the local.defaults.properties file to include the Places API key.
Adds NavigationViewDelegate to support NavigationView in the navigation sample app.

This change allows the navigation sample app to use NavigationView, which provides turn-by-turn navigation functionality.

The NavigationViewDelegate handles the lifecycle and rendering of the NavigationView, ensuring that it is properly integrated into the Jetpack Compose UI.

Uses a MarkerComposable to demonstrate the map really is a composable
@kikoso kikoso changed the title Navigation compose feat: navigation compose and delegation pattern Feb 18, 2025
@kikoso
Copy link
Collaborator

kikoso commented Feb 25, 2025

Just some random thoughts, but: since now we have two app modules, maybe we should remove the app one into maps-app, to keep it in line with navigation-app.

@dkhawk dkhawk marked this pull request as ready for review February 25, 2025 20:34
dkhawk and others added 3 commits February 25, 2025 13:38
Updates the navigation library dependency from v6.0.1 to v6.1.0.

This commit also the wording of the comment in `navigation-app/build.gradle.kts` to
clarify the reason for excluding `play-services-maps`.
@kikoso kikoso requested a review from a team as a code owner March 3, 2025 04:05
@kikoso kikoso requested a review from wescpy March 3, 2025 04:05
@kikoso
Copy link
Collaborator

kikoso commented Mar 3, 2025

Updated Lint configuration and dismissed some Lint alerts.

Copy link
Collaborator

@kikoso kikoso left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@dkhawk dkhawk merged commit 98fbd39 into main Mar 3, 2025
13 checks passed
@dkhawk dkhawk deleted the navigation-compose branch March 3, 2025 17:10
googlemaps-bot pushed a commit that referenced this pull request Mar 3, 2025
# [6.5.0](v6.4.4...v6.5.0) (2025-03-03)

### Features

* navigation compose and delegation pattern ([#670](#670)) ([98fbd39](98fbd39))
@googlemaps-bot
Copy link
Contributor

🎉 This PR is included in version 6.5.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants