Skip to content

Conversation

@stuartmorgan-g
Copy link
Collaborator

Replaces the deprecated Color.value with the replacement toARGB(). Since this is for legacy JSON representations, it continues it must remain compatible, so uses the same representation (unlike #10474 where it's replaced with structured representations).

Part of flutter/flutter#159739

Pre-Review Checklist

Footnotes

  1. Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling. 2 3

This fixes two sets of API deprecations:
- Within the package, cloudMapId was deprecated in the platform
  interface, and replaced with mapId. This updates everything that's not
  client-facing to use the mapId name instead (except for local
  variables in native code, where it ensure there's no potential
  confusion with the plugin-level map ID that tracks map instances in
  the plugin).
- `Color.value` is deprecated. Rather than just replace it with
  `toARGB()`, this adds structured data to the Pigeon interface, so that
  it's not relying on magic knowledge on both sides of the interface
  that the ints are ARGB:
  - On Android, where the native SDK color representation is just a
    32-bit ARGB, this adds a wrapper class to make that explicit in the
    Pigeon API surface.
  - On iOS, where `UIColor` uses four doubles, this passes the
    underlying `Color` doubles directly via the wrapper class, so that
    it's not lossy.
  - For legacy JSON representations, it continues to use the equivalent
    `toARGB()` directly, since it must remain compatible.

This also annotates a couple of intentional internal uses of the
deprecated `legacy` renderer type so that it won't show up in future
repository deprecation audits.

Also pays down some tech debt by renaming the now-very-poorly-named
FLTGoogleMapJSONConversions.* file to FGMConversionUtils, since it is
now mostly Pigeon type conversions. It also renames the legacy
FLTGoogleMapJSONConversions bag-of-class-methods class to reflect that
it is now only used for heatmaps, the last type that still uses JSON
serialization in the Pigeon interface
(flutter/flutter#117907).

Part of flutter/flutter#159739
Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request correctly replaces the deprecated Color.value API with its recommended replacement, Color.toARGB32(), across the google_maps_flutter_platform_interface package. The changes are applied consistently for serialization logic in both the main codebase and the associated tests. The package version and changelog have been updated to reflect these changes. The code is clean and the changes are well-executed.

Copy link
Contributor

@bparrishMines bparrishMines left a comment

Choose a reason for hiding this comment

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

LGTM

@stuartmorgan-g stuartmorgan-g added the autosubmit Merge PR when tree becomes green via auto submit App label Nov 20, 2025
@auto-submit auto-submit bot merged commit 631e97a into flutter:main Nov 20, 2025
80 checks passed
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Nov 21, 2025
github-merge-queue bot pushed a commit to flutter/flutter that referenced this pull request Nov 21, 2025
flutter/packages@b1e2fb0...e67b6be

2025-11-21 danferreiradev@gmail.com [file_selector] Implement
canCreateDirectories on macos and linux (flutter/packages#10443)
2025-11-21 stuartmorgan@google.com [various] Replace deprecated
Color.value in SVG packages (flutter/packages#10482)
2025-11-20 10687576+bparrishMines@users.noreply.github.com [pigeon]
Fixes compilation error with unbounded type parameter for
InstanceManager (flutter/packages#10483)
2025-11-20 stuartmorgan@google.com [webview_flutter] Replace deprecated
Color.value (flutter/packages#10480)
2025-11-20 stuartmorgan@google.com [google_maps_flutter] Replace
deprecated color APIs in platform interface (flutter/packages#10477)
2025-11-20 engine-flutter-autoroll@skia.org Roll Flutter (stable) from
b45fa18 to f5a8537 (12 revisions) (flutter/packages#10478)
2025-11-20 engine-flutter-autoroll@skia.org Roll Flutter from
de4be4f to 9f383e0 (21 revisions) (flutter/packages#10481)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages-flutter-autoroll
Please CC flutter-ecosystem@google.com on the revert to ensure that a
human
is aware of the problem.

To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
okorohelijah pushed a commit to okorohelijah/flutter that referenced this pull request Nov 21, 2025
…r#178927)

flutter/packages@b1e2fb0...e67b6be

2025-11-21 danferreiradev@gmail.com [file_selector] Implement
canCreateDirectories on macos and linux (flutter/packages#10443)
2025-11-21 stuartmorgan@google.com [various] Replace deprecated
Color.value in SVG packages (flutter/packages#10482)
2025-11-20 10687576+bparrishMines@users.noreply.github.com [pigeon]
Fixes compilation error with unbounded type parameter for
InstanceManager (flutter/packages#10483)
2025-11-20 stuartmorgan@google.com [webview_flutter] Replace deprecated
Color.value (flutter/packages#10480)
2025-11-20 stuartmorgan@google.com [google_maps_flutter] Replace
deprecated color APIs in platform interface (flutter/packages#10477)
2025-11-20 engine-flutter-autoroll@skia.org Roll Flutter (stable) from
b45fa18 to f5a8537 (12 revisions) (flutter/packages#10478)
2025-11-20 engine-flutter-autoroll@skia.org Roll Flutter from
de4be4f to 9f383e0 (21 revisions) (flutter/packages#10481)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages-flutter-autoroll
Please CC flutter-ecosystem@google.com on the revert to ensure that a
human
is aware of the problem.

To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

autosubmit Merge PR when tree becomes green via auto submit App p: google_maps_flutter

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants