Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
## 2.17.2

* Fixes a regression in custom marker icon handling.

## 2.17.1

* Refactors code for improved testability.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@

#import "PartiallyMockedMapView.h"
#import "TestAssetProvider.h"
#import "TestMapEventHandler.h"

/// A GMSGroundOverlay that ensures that property updates are made before the map is set.
@interface PropertyOrderValidatingGroundOverlay : GMSGroundOverlay {
Expand Down Expand Up @@ -211,6 +212,21 @@ - (void)testUpdateGroundOverlaySetsVisibilityLast {
XCTAssertTrue(groundOverlay.hasSetMap);
}

- (void)testAssetProviderIsRetained {
FLTGroundOverlaysController *groundOverlayController;
__weak TestAssetProvider *weakAssetProvider;
@autoreleasepool {
TestAssetProvider *assetProvider = [[TestAssetProvider alloc] init];
weakAssetProvider = assetProvider;
groundOverlayController = [[FLTGroundOverlaysController alloc]
initWithMapView:[GoogleMapsGroundOverlayControllerTests mapView]
eventDelegate:[[TestMapEventHandler alloc] init]
assetProvider:assetProvider];
}
XCTAssertNotNil(groundOverlayController);
XCTAssertNotNil(weakAssetProvider);
}

/// Returns a simple map view to add map objects to.
+ (GMSMapView *)mapView {
GMSMapViewOptions *mapViewOptions = [[GMSMapViewOptions alloc] init];
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -268,6 +268,23 @@ - (void)testUpdateMarkerSetsVisibilityLast {
XCTAssertTrue(marker.hasSetMap);
}

- (void)testAssetProviderIsRetained {
FLTMarkersController *markerController;
__weak TestAssetProvider *weakAssetProvider;
@autoreleasepool {
TestAssetProvider *assetProvider = [[TestAssetProvider alloc] init];
weakAssetProvider = assetProvider;

markerController =
[[FLTMarkersController alloc] initWithMapView:[GoogleMapsMarkerControllerTests mapView]
eventDelegate:[[TestMapEventHandler alloc] init]
clusterManagersController:nil
assetProvider:assetProvider];
}
XCTAssertNotNil(markerController);
XCTAssertNotNil(weakAssetProvider, @"AssetProvider should be retained by the marker controller");
}

@end

@implementation PropertyOrderValidatingMarker
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ @interface FLTGroundOverlaysController ()
@property(weak, nonatomic) NSObject<FGMMapEventDelegate> *eventDelegate;

/// Asset provider used to load images.
@property(weak, nonatomic) NSObject<FGMAssetProvider> *assetProvider;
@property(strong, nonatomic) NSObject<FGMAssetProvider> *assetProvider;

/// The map view used to generate the controllers.
@property(weak, nonatomic) GMSMapView *mapView;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ @interface FLTMarkersController ()
@property(weak, nonatomic) NSObject<FGMMapEventDelegate> *eventDelegate;
/// Controller for adding/removing/fetching cluster managers
@property(weak, nonatomic, nullable) FGMClusterManagersController *clusterManagersController;
@property(weak, nonatomic) NSObject<FGMAssetProvider> *assetProvider;
@property(strong, nonatomic) NSObject<FGMAssetProvider> *assetProvider;
@property(weak, nonatomic) GMSMapView *mapView;

@end
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: google_maps_flutter_ios
description: iOS implementation of the google_maps_flutter plugin.
repository: https://github.com/flutter/packages/tree/main/packages/google_maps_flutter/google_maps_flutter_ios
issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+maps%22
version: 2.17.1
version: 2.17.2

environment:
sdk: ^3.9.0
Expand Down
Loading