From 7345feea4f5c69d169b0a9491a7c88e968f3175d Mon Sep 17 00:00:00 2001 From: Jenn Magder Date: Thu, 31 Jul 2025 22:13:06 -0700 Subject: [PATCH 1/3] [google_maps_flutter_ios] Fix kCGImageAlphaPremultipliedLast deprecation with kCGBitmapAlphaInfoMask --- .../google_maps_flutter/google_maps_flutter_ios/CHANGELOG.md | 4 ++++ .../ios/Classes/FLTGoogleMapTileOverlayController.m | 2 +- .../google_maps_flutter/google_maps_flutter_ios/pubspec.yaml | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/google_maps_flutter/google_maps_flutter_ios/CHANGELOG.md b/packages/google_maps_flutter/google_maps_flutter_ios/CHANGELOG.md index 5f48d675c98..457136cbe56 100644 --- a/packages/google_maps_flutter/google_maps_flutter_ios/CHANGELOG.md +++ b/packages/google_maps_flutter/google_maps_flutter_ios/CHANGELOG.md @@ -1,3 +1,7 @@ +## 2.15.5 + +* Fixes `kCGImageAlphaPremultipliedLast` implicit conversion from enumeration type warning. + ## 2.15.4 * Deprecates `zIndex` parameter in Marker in favor of `zIndexInt`. diff --git a/packages/google_maps_flutter/google_maps_flutter_ios/ios/Classes/FLTGoogleMapTileOverlayController.m b/packages/google_maps_flutter/google_maps_flutter_ios/ios/Classes/FLTGoogleMapTileOverlayController.m index 37b2f8b6311..4d0ab04f950 100644 --- a/packages/google_maps_flutter/google_maps_flutter_ios/ios/Classes/FLTGoogleMapTileOverlayController.m +++ b/packages/google_maps_flutter/google_maps_flutter_ios/ios/Classes/FLTGoogleMapTileOverlayController.m @@ -97,7 +97,7 @@ - (UIImage *)handleResultTile:(nullable UIImage *)tile { if (isFloat & (bitsPerComponent == 16)) { CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB(); CGContextRef context = CGBitmapContextCreate(nil, tile.size.width, tile.size.height, 8, 0, - colorSpace, kCGImageAlphaPremultipliedLast); + colorSpace, (kCGBitmapAlphaInfoMask & kCGImageAlphaPremultipliedLast)); CGContextDrawImage(context, CGRectMake(0, 0, tile.size.width, tile.size.height), tile.CGImage); CGImageRef image = CGBitmapContextCreateImage(context); tile = [UIImage imageWithCGImage:image]; diff --git a/packages/google_maps_flutter/google_maps_flutter_ios/pubspec.yaml b/packages/google_maps_flutter/google_maps_flutter_ios/pubspec.yaml index 519276f1101..334bd86c020 100644 --- a/packages/google_maps_flutter/google_maps_flutter_ios/pubspec.yaml +++ b/packages/google_maps_flutter/google_maps_flutter_ios/pubspec.yaml @@ -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.15.4 +version: 2.15.5 environment: sdk: ^3.6.0 From fda4e7f47f428580d09d9e1514a4255d3efe826c Mon Sep 17 00:00:00 2001 From: Jenn Magder Date: Thu, 31 Jul 2025 22:37:02 -0700 Subject: [PATCH 2/3] Format --- .../ios/Classes/FLTGoogleMapTileOverlayController.m | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/google_maps_flutter/google_maps_flutter_ios/ios/Classes/FLTGoogleMapTileOverlayController.m b/packages/google_maps_flutter/google_maps_flutter_ios/ios/Classes/FLTGoogleMapTileOverlayController.m index 4d0ab04f950..3e1773719c0 100644 --- a/packages/google_maps_flutter/google_maps_flutter_ios/ios/Classes/FLTGoogleMapTileOverlayController.m +++ b/packages/google_maps_flutter/google_maps_flutter_ios/ios/Classes/FLTGoogleMapTileOverlayController.m @@ -96,8 +96,9 @@ - (UIImage *)handleResultTile:(nullable UIImage *)tile { // If it is wide gamut, we want to downsample it if (isFloat & (bitsPerComponent == 16)) { CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB(); - CGContextRef context = CGBitmapContextCreate(nil, tile.size.width, tile.size.height, 8, 0, - colorSpace, (kCGBitmapAlphaInfoMask & kCGImageAlphaPremultipliedLast)); + CGContextRef context = + CGBitmapContextCreate(nil, tile.size.width, tile.size.height, 8, 0, colorSpace, + (kCGBitmapAlphaInfoMask & kCGImageAlphaPremultipliedLast)); CGContextDrawImage(context, CGRectMake(0, 0, tile.size.width, tile.size.height), tile.CGImage); CGImageRef image = CGBitmapContextCreateImage(context); tile = [UIImage imageWithCGImage:image]; From af1cf5cb1f577572c1d8ff19a1a2bd4431a1b69f Mon Sep 17 00:00:00 2001 From: Jenn Magder Date: Thu, 31 Jul 2025 23:36:59 -0700 Subject: [PATCH 3/3] test --- .../example/ios14/ios/RunnerTests/GoogleMapsTests.m | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/google_maps_flutter/google_maps_flutter_ios/example/ios14/ios/RunnerTests/GoogleMapsTests.m b/packages/google_maps_flutter/google_maps_flutter_ios/example/ios14/ios/RunnerTests/GoogleMapsTests.m index 4982d4a59ce..a0e87d553be 100644 --- a/packages/google_maps_flutter/google_maps_flutter_ios/example/ios14/ios/RunnerTests/GoogleMapsTests.m +++ b/packages/google_maps_flutter/google_maps_flutter_ios/example/ios14/ios/RunnerTests/GoogleMapsTests.m @@ -84,7 +84,8 @@ - (void)testHandleResultTileDownsamplesWideGamutImages { size_t bitsPerComponent = CGImageGetBitsPerComponent(imageRef); // non wide gamut images use 8 bit format - XCTAssert(bitsPerComponent == 8); + XCTAssertEqual(bitsPerComponent, 8); + XCTAssertEqual(CGImageGetAlphaInfo(imageRef), kCGImageAlphaPremultipliedLast); } - (void)testAnimateCameraWithUpdate {