Skip to content

Commit 4594310

Browse files
jokerttuTimoPietiilluminati1911Juggelijpetrell
authored
feat: 0.2.0-beta (#3)
This pull request includes new features and some design changes that affects some methods. Please look at the release notes. Navigation SDK versions supported: - Navigation SDK for Android: 5.1.1 - Navigation SDK for iOS: 5.3.1 --------- * chore: beta 2 base initial commit --------- Co-authored-by: Ville Välimaa <[email protected]> Co-authored-by: Jukka Alavesa <[email protected]> Co-authored-by: Joona Petrell <[email protected]> Co-authored-by: Joonas Kerttula <[email protected]> Co-authored-by: Timo Pieti <[email protected]> * tests: Integration tests improvements * rename tests --------- Co-authored-by: Mikko Katajaharju <[email protected]> * feature: marker image registry Adds support to register custom bitmap images to be used with google maps markers. --------- Co-authored-by: Vesse Saastamoinen <[email protected]> Co-authored-by: Joonas Kerttula <[email protected]> * chore: Hide generated method channel message types from app facing api * Hide generated method channel message types from app facing api * Remove deprecated analysis rules * chore: Align enable setter method naming with the native SDK side * feature: Add API to query Navigation SDK version * feature: Add API to query Navigation SDK version * refactor: Move SDK version number to example app main page * chore: Flutter analyze fixes * chore: Drop example tests --------- Co-authored-by: Joona Petrell <[email protected]> * feature: Enable abnormal reporting API * feature: Send Navigation UI enabled change events Co-authored-by: Joona Petrell <[email protected]> * chore: fix warnings from Android side * chore: fix warnings from Android code * fix null check and formatting * feature: add listeners for my location * feature: add listeners for my location and my location button * rename consume setter and update doc * shorten snackbar duration, hide previous * feature: Add route token support to set destinations Adds route token support to set destinations. Also update example app to get route token via Routes API for testing purposes. Co-authored-by: Joonas Kerttula <[email protected]> * example: Add support to read dart maps api key from dart defines on android * Add support to read dart maps api key from dart defines on android * feature: Rename initialNavigationUIEnabled to initialNavigationUIEnabledPreference * Rename initialNavigationUIEnabled to initialNavigationUIEnabledPreference - Setting initialNavigationUIEnabled to true only succeeds if the navigation session has been initialized, rename to preference enumeration to indicate this - Added integration tests for the widget initialization options - Initial camera position now defaults to zoom level 3.0 instead of 0.0 (iOS defaults to 4.0, Android to 3.0), which fixes widget initialization example opening in broken view on iOS * Start Maps API examples in classic map mode * Make NavigationViewOptions's UI preference default to automatic * feature: min/max zoom apis * feature: min/max zoom apis * fix: correct check for default zoom levels * fix: remove hard zoom limits * fix: set stored zoom values from initial map options * fix: change min zoom constant to 2 * fix: flutter analyze issues * fix: add reset button, change functions and variables to private * changing tests again and again * move zoom controls to camera page * move zoom constants from public api to example app * rename exception, add string description, remove zoom limits * fix analyze * feature: add camera changed listener * feature: add camera changed listener * some camera update ui changes * update docs * tests: Add simulator, routingOptions, simulationOptions and displayOptions integration tests * integration tests for routing options, clear destinations and get current time and distance * integration tests for displayOptions and guidanceRunning check to routingOptions test * adding pause and resume simulation tests * removing unnecessary enableMyLocation settings * refactor navigation set up so it can be done with shared function * improved comment clarity * move displayOption tests to already existing tests * declare start location coordinates before the tests * shorten the distance to destination on some runs * test naming update * tests: Add test for initialMin/MaxZoomPreference * Add test for initialMin/MaxZoomPreference * add numbering to test cases to run them in correct order --------- Co-authored-by: vessaas <[email protected]> * fix: fix roadsnapping listeners stopping listening after re-initialization. * tests: Use real implementation of navigation plugins instead of mocked version * Use real implementation of navigation plugins instead of mocked version * chore: Simplify session event API * Remove unused NavigationSessionEvent and rename setDestinations params * Simplify navigation session api * Remove legacy conversion tests * feature: add camera follow location listener * tests: Clean up old patrol helper script and update instructions. * chore: rename incidentCards to trafficIncidentCards * chore: Mention traffic incidents API rename in the change log * feature: add gps availability listener * feature: add gps availability listener * fix typos, show event counter on android only * add gps availability event to the listener, update doc * docs: Document followMyLocation() API in more detail * feature: Throw exception if cleanup() is called before initialization on iOS * docs: update dart docs Co-authored-by: Joonas Kerttula <[email protected]> * tests: Add camera event integration tests * refactor camera test with function that waits for camera movement to finish * increased simulation speed and animation wait function retries to make tests more reliable * add camera event tests * add followMyLocation event tests * add startedFollowingMyLocation position test * make camera event tests more reliable * cameraUpdate, moveCamera and animateCamera tests * remove setting default tilt, since the core issue is now fixed * chore: format and script fixes * docs: update changelog and contributing documentation * chore: clean up todos * docs: Update changelog to include new features * docs: Improve documentation quality * chore: Update pubspec - Include proper version and repository information * docs: Added few API omissions in the changelog * docs: fix dart define usage instructions * tests: Stabilize camera integration tests and standardize location simulation * fix camera test flakiness, remove unnecessary zoom tests and refactor followMyLocation checks and some sometimes failing test with the animation wait function --------- Co-authored-by: Joonas Kerttula <[email protected]> * chore: Remove unnecessary throw (#5) --------- Co-authored-by: Timo Pieti <[email protected]> Co-authored-by: Ville Välimaa <[email protected]> Co-authored-by: Jukka Alavesa <[email protected]> Co-authored-by: Joona Petrell <[email protected]> Co-authored-by: Vesse Saastamoinen <[email protected]> Co-authored-by: Mikko Katajaharju <[email protected]> Co-authored-by: Vesse Saastamoinen <[email protected]>
1 parent 6d9eea5 commit 4594310

File tree

136 files changed

+12001
-7678
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

136 files changed

+12001
-7678
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,11 @@
1313
.idea/
1414

1515
# vscode related
16+
.vscode
1617
.vscode/*
1718
!.vscode/tasks.json
1819
!.vscode/settings.json
20+
devtools_options.yaml
1921

2022
# Flutter/Dart/Pub related
2123
# Libraries should not include pubspec.lock, per https://dart.dev/guides/libraries/private-files#pubspeclock.

.metadata

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# This file tracks properties of this Flutter project.
2+
# Used by Flutter tool to assess capabilities and perform upgrades etc.
3+
#
4+
# This file should be version controlled and should not be manually edited.
5+
6+
version:
7+
revision: "efbf63d9c66b9f6ec30e9ad4611189aa80003d31"
8+
channel: "stable"
9+
10+
project_type: plugin
11+
12+
# Tracks metadata for the flutter migrate command
13+
migration:
14+
platforms:
15+
- platform: root
16+
create_revision: efbf63d9c66b9f6ec30e9ad4611189aa80003d31
17+
base_revision: efbf63d9c66b9f6ec30e9ad4611189aa80003d31
18+
- platform: android
19+
create_revision: efbf63d9c66b9f6ec30e9ad4611189aa80003d31
20+
base_revision: efbf63d9c66b9f6ec30e9ad4611189aa80003d31
21+
- platform: ios
22+
create_revision: efbf63d9c66b9f6ec30e9ad4611189aa80003d31
23+
base_revision: efbf63d9c66b9f6ec30e9ad4611189aa80003d31
24+
25+
# User provided section
26+
27+
# List of Local paths (relative to this file) that should be
28+
# ignored by the migrate tool.
29+
#
30+
# Files that are not part of the templates will be ignored by default.
31+
unmanaged_files:
32+
- 'lib/main.dart'
33+
- 'ios/Runner.xcodeproj/project.pbxproj'

AUTHORS

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# Below is a list of people and organizations that have contributed
2+
# to the Flutter project. Names should be added to the list like so:
3+
#
4+
# Name/Organization <email address>
5+
6+
Google Inc.
7+
Codemate Ltd.
8+
Joonas Kerttula <[email protected]>
9+
Joona Petrell <[email protected]>
10+
Jukka Alavesa <[email protected]>
11+
Ville Välimaa <[email protected]>
12+
Vesse Saastamoinen <[email protected]>
13+
Mikko Katajaharju <[email protected]>
14+
Timo Pieti <[email protected]>

CHANGELOG.md

Lines changed: 55 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,59 @@
1-
## 0.1.0-pre1
1+
## 0.2.0-beta
22

3-
This is the first pre-release of the Google Maps Navigation package for Flutter. It is an early look at the package and is intended for testing and feedback collection. The functionalities and APIs in this version are subject to change.
3+
This is the beta release of the Google Maps Navigation package for Flutter. It is an early look at the package and is intended for testing and feedback collection. The functionalities and APIs in this version are subject to change.
4+
5+
**Key Features:**
6+
- `setDestinations` now supports a `RouteTokenOptions` parameter.
7+
- Added support for custom marker icons:
8+
- `registerBitmapImage` to register `ImageDescriptor`.
9+
- `unregisterImage` to unregister `ImageDescriptor`.
10+
- Registered `ImageDescriptor` can be used as icon for `MarkerOptions`.
11+
- Added following event listeners:
12+
- `onNavigationUIEnabledChanged`
13+
- `onMyLocationClicked`
14+
- `onMyLocationButtonClicked`
15+
- `onCameraMoveStarted`
16+
- `onCameraMove`
17+
- `onCameraIdle`
18+
- `onCameraStartedFollowingLocation`
19+
- `onCameraStoppedFollowingLocation`
20+
- Added `setConsumeMyLocationButtonClickEventsEnabled` method to control if the default my location button click event should be consumed by the plugin or not.
21+
- Added the following methods to control zoom level preferences of the map: `setMinZoomPreference`, `setMaxZoomPreference`,
22+
`getMinZoomPreference`, `getMaxZoomPreference` and `resetMinMaxZoomPreference`.
23+
- Added `GoogleMapsNavigator.getNavSDKVersion()` method to fetch the Navigation SDK version
24+
- `GoogleMapsNavigator.initializeNavigationSession()` now accepts optional parameter `abnormalTerminationReportingEnabled` to enable/disable reporting abnormal SDK terminations such as app crashes
25+
- Improved error handling and reporting.
26+
27+
**BREAKING CHANGES:**
28+
- **GoogleNavigationViewController** Following gesture and UI option setters have been renamed:
29+
- `enableNavigationUI({required bool})` to `setNavigationUIEnabled(bool)`
30+
- `enableNavigationHeader({required bool})` to `setNavigationHeaderEnabled(bool)`
31+
- `enableNavigationFooter({required bool})` to `setNavigationFooterEnabled(bool)`
32+
- `enableNavigationTripProgressBar({required bool})` to `setNavigationTripProgressBarEnabled(bool)`
33+
- `enableSpeedLimitIcon({required bool})` to `setSpeedLimitIconEnabled(bool)`
34+
- `enableSpeedometer({required bool})` to `setSpeedometerEnabled(bool)`
35+
- `enableMyLocation({required bool})` to `setMyLocationEnabled(bool)`
36+
- `enableMyLocationButton({required bool})` to `setMyLocationButtonEnabled(bool)`
37+
- `enableRecenterButton({required bool})` to `setRecenterButtonEnabled(bool)`
38+
- `enableZoomGestures({required bool}) setZoomGesturesEnabled(bool)`
39+
- `enableZoomControls({required bool})` to `setZoomControlsEnabled(bool)`
40+
- `enableCompass({required bool})` to `setCompassEnabled(bool)`
41+
- `enableRotateGestures({required bool})` to `setRotateGesturesEnabled(bool)`
42+
- `enableScrollGestures({required bool})` to `setScrollGesturesEnabled(bool)`
43+
- `enableScrollGesturesDuringRotateOrZoom({required bool})` to `setScrollGesturesDuringRotateOrZoomEnabled(bool)`
44+
- `enableTiltGestures({required bool})` to `setTiltGesturesEnabled(bool)`
45+
- `enableTraffic({required bool})` to `setTrafficEnabled(bool)`
46+
- `enableMapToolbar({required bool})` to `setMapToolbarEnabled(bool)`
47+
- `enableIncidentCards({required bool})` to `setTrafficIncidentCardsEnabled(bool)`
48+
- `isIncidentCardsEnabled()` to `isTrafficIncidentCardsEnabled`
49+
50+
- **GoogleMapsNavigationView:**
51+
- `initialNavigationUiEnabled` boolean has been renamed to `initialNavigationUIEnabledPreference` enumeration
52+
- Initial camera position defaults to zoom level 3.0 instead of 0.0
53+
54+
## 0.1.0-beta
55+
56+
This is the beta release of the Google Maps Navigation package for Flutter. It is an early look at the package and is intended for testing and feedback collection. The functionalities and APIs in this version are subject to change.
457

558
**Key Features:**
659
- Integration of Google Maps Navigation with Flutter.

0 commit comments

Comments
 (0)