Skip to content
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

feat: add carplay and android auto support #255

Merged
merged 29 commits into from
Oct 15, 2024

Conversation

illuminati1911
Copy link
Contributor

@illuminati1911 illuminati1911 commented Sep 10, 2024

Adds support for Apple CarPlay and Android Auto.

  • Added BaseAutoSceneDelegate for iOS and AndroidAutoBaseScreen for Android on a plugin level to manage setting up the base functionality for each platform.
  • Added example of setting up each platform in the SampleApp. iOS SampleApp has a new separate target for CarPlay support SampleAppCarPlay.
  • Added separate native module NavAutoModule to manage communication between RN code and the map instance.
  • Added a generic event channel so that user actions can be sent from native code to RN. e.g. user presses a button in CarPlay window and this event is sent to RN code.
  • Added a function to NavAutoModule to check whether CarPlay or Android Auto screen has been initialized and is available.

Resolves #177

  • Tests pass
  • Appropriate changes to documentation are included in the PR

@jokerttu jokerttu mentioned this pull request Sep 12, 2024
2 tasks
@ArturoSalazarB16
Copy link
Contributor

ArturoSalazarB16 commented Sep 20, 2024

Hi! Thanks a lot for working on this Ville/Joonas. Moving forward, is it possible to create unitary PRs to make reviewing easier? and would also be easier to debug/investigate any possible issues.

Example: for this particular case, would it have been possible to split out Android Auto Vs CarPlay changes? we'd have different folks reviewing each platform, so that would also make it easier for them to track.

To not delay the feature, please don't block on this comment. It's more feedback for future changes.

@ArturoSalazarB16
Copy link
Contributor

Hi @ShirwaM! If you get some bandwidth, can you please take a look at the iOS portion of the PR? (And also if you have any feedback around Android Auto implementation that would be amazing).

thanks!
Arturo

Copy link
Contributor

@ArturoSalazarB16 ArturoSalazarB16 left a comment

Choose a reason for hiding this comment

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

Hi! Sharing some initial comments, will take another pass today

Copy link
Contributor

@ArturoSalazarB16 ArturoSalazarB16 left a comment

Choose a reason for hiding this comment

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

LGTM - to unblock the change. But please let's await for @ShirwaM to provide feedback before merging.

return eventEmitterRef.current;
}, [dispatcher]);

const updateListeners = useCallback(() => {
Copy link
Contributor

Choose a reason for hiding this comment

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

For some of these new files, let's please start building our unit test coverage.

src/auto/useNavigationAuto.ts Show resolved Hide resolved
Copy link
Member

@ShirwaM ShirwaM left a comment

Choose a reason for hiding this comment

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

LGTM pending a few minor change requests. Thank you!

@jokerttu jokerttu requested a review from ShirwaM October 7, 2024 10:53
Copy link

@zioncalvo zioncalvo left a comment

Choose a reason for hiding this comment

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

LGTM for iOS specific changes

@jokerttu jokerttu merged commit 933209a into googlemaps:main Oct 15, 2024
13 checks passed
@jokerttu jokerttu deleted the feat/navigation-for-auto branch October 15, 2024 09:20
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.

Apple CarPlay support
5 participants