Repository navigation
[google_sign_in] Convert implementation to Kotlin - #13005
Conversation
|
It looks like this pull request may not have tests. Please make sure to add tests or get an explicit test exemption before merging. If you are not sure if you need tests, consider this rule of thumb: the purpose of a test is to make sure someone doesn't accidentally revert the fix. Ask yourself, is there anything in your PR that you feel it is important we not accidentally revert back to how it was before your fix? Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing. If you believe this PR qualifies for a test exemption, contact "@test-exemption-reviewer" in the #hackers channel in Discord (don't just cc them here, they won't see it!). The test exemption team is a small volunteer group, so all reviewers should feel empowered to ask for tests, without delegating that responsibility entirely to the test exemption group. |
There was a problem hiding this comment.
Code Review
This pull request converts the Android implementation of the google_sign_in plugin from Java to Kotlin, removing the legacy Java files and updating the package version to 7.2.18. Feedback on the changes recommends executing getCredentialAsync and clearCredentialStateAsync callbacks on the main thread using ContextCompat.getMainExecutor(context) to ensure thread safety with Flutter's BinaryMessenger. Additionally, it is recommended to replace the double-bang operator (!!) with a safe-call operator (?.) on activityPluginBinding in disposeActivity() to prevent potential null pointer exceptions.
Roll Packages from a1ed23c to da40eaf (33 revisions) flutter/packages@a1ed23c...da40eaf 2026-10-15 tarrinneal@gmail.com [pigeon]add support for sealed classes in native interop (flutter/packages#13175) 2026-10-15 tarrinneal@gmail.com [pigeon] Replace full JNI bindings with stubs for API classes that aren't needed (flutter/packages#13173) 2026-10-14 ksanaullah383.khan@gmail.com [material_ui] Fix self-comparison and assert bugs in semantics_tester (flutter/packages#12722) 2026-10-14 magder@google.com [camera_avfoundation] Replace the deprecated 'videoOrientation' with 'videoRotationAngle' on iOS 17+ (flutter/packages#13247) 2026-10-14 zengyan@88.com [material_ui] Fix GridTile crash when the incoming constraints are unbounded (flutter/packages#12586) 2026-10-14 magder@google.com [in_app_purchase_storekit] Remove unused and deprecated "SKDownload" hosted content (flutter/packages#13222) 2026-10-14 55765052+MohanadAbdallah-mv@users.noreply.github.com [material_ui] Add supportingTextPadding to InputDecorator (flutter/packages#12769) 2026-10-14 37883572+edwin-hollen@users.noreply.github.com [vector_graphics_codec] Add support for encoding and decoding paint blur commands (flutter/packages#13148) 2026-10-14 ketulm8@gmail.com [go_router] Fix redirect zone async error handling (flutter/packages#12836) 2026-10-14 fluttergithubbot@gmail.com Sync release-go_router-18.1.0 to main (flutter/packages#13260) 2026-10-14 fluttergithubbot@gmail.com Sync release-cupertino_ui-1.1.3 to main (flutter/packages#13258) 2026-10-14 lsaudon@gmail.com [material_ui] add enableInlinePrediction parameter to TextFormField (flutter/packages#12793) 2026-10-14 fluttergithubbot@gmail.com Sync release-material_ui-1.7.0 to main (flutter/packages#13259) 2026-10-14 sokolovskyi.konstantin@gmail.com [material_ui] Add the Material shapes. (flutter/packages#12771) 2026-10-14 64028623+Ahtsham0715@users.noreply.github.com [material_ui] Add tertiary tap callbacks to InkResponse and InkWell (flutter/packages#12676) 2026-10-14 engine-flutter-autoroll@skia.org Roll Flutter from 4249ccb to 426be96 (44 revisions) (flutter/packages#13256) 2026-10-14 47866232+chunhtai@users.noreply.github.com [material_ui] fixes expanded state in the a11y_assessment home page dropdown (flutter/packages#13219) 2026-10-14 zhongliu88889@gmail.com [VPAT] Fix semantics in a11y_assessments drawer, radio, and rail demos (flutter/packages#13159) 2026-10-14 5684363+tenninebt@users.noreply.github.com [google_maps_flutter] Add onPointOfInterestTap (flutter/packages#11872) 2026-10-14 Gornivv@gmail.com [go_router] Fix shell route key collisions and dynamic branch updates (flutter/packages#12549) 2026-10-14 engine-flutter-autoroll@skia.org Manual roll Flutter from d03768e to 4249ccb (158 revisions) (flutter/packages#13220) 2026-10-14 okorohelijah@google.com [image_picker_ios] Require Flutter 3.47 / iOS 15 and drop deprecated kUTType code paths (flutter/packages#13224) 2026-10-13 louisehsu@google.com [in_app_purchase_storekit] Fixes Storekit 2 flaky tests (flutter/packages#13213) 2026-10-13 stuartmorgan@google.com [local_auth] Convert Android to new Pigeon suspend support (flutter/packages#12894) 2026-10-13 50643541+Mairramer@users.noreply.github.com [material_ui] Add enabled parameter to DropdownButtonFormField (flutter/packages#12610) 2026-10-13 molchanovia.dev@gmail.com [go_router] Link ShellRoute docs to StatefulShellRoute (flutter/packages#13120) 2026-10-13 jmccandless@google.com FadeForwards page transition performance (flutter/packages#13161) 2026-10-13 101952451+eszter-varga@users.noreply.github.com [in_app_purchase_android] Guard async billing callbacks against duplicate listener responses (flutter/packages#12640) 2026-10-13 victor.orozco@cloudsufi.com [google_sign_in] Remove the Objective-C exception catcher (flutter/packages#13156) 2026-10-13 magder@google.com [camera_avfoundation] Remove availability checks below the package minimum iOS 13 (flutter/packages#13214) 2026-10-13 magder@google.com [google_maps_flutter_ios] Remove iOS 14 availability check from example UI tests (flutter/packages#13218) 2026-10-13 stuartmorgan@google.com [google_sign_in] Convert implementation to Kotlin (flutter/packages#13005) 2026-10-13 victor.orozco@cloudsufi.com [image_picker_ios] PR 2/5 Add a PHImageManager image-data seam and migrate plugin native tests to Swift Testing (flutter/packages#13079) If this roll has caused a breakage, revert this CL and set the roller to dry run mode 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: ...
Roll Packages from a1ed23c to da40eaf (33 revisions) flutter/packages@a1ed23c...da40eaf 2026-10-15 tarrinneal@gmail.com [pigeon]add support for sealed classes in native interop (flutter/packages#13175) 2026-10-15 tarrinneal@gmail.com [pigeon] Replace full JNI bindings with stubs for API classes that aren't needed (flutter/packages#13173) 2026-10-14 ksanaullah383.khan@gmail.com [material_ui] Fix self-comparison and assert bugs in semantics_tester (flutter/packages#12722) 2026-10-14 magder@google.com [camera_avfoundation] Replace the deprecated 'videoOrientation' with 'videoRotationAngle' on iOS 17+ (flutter/packages#13247) 2026-10-14 zengyan@88.com [material_ui] Fix GridTile crash when the incoming constraints are unbounded (flutter/packages#12586) 2026-10-14 magder@google.com [in_app_purchase_storekit] Remove unused and deprecated "SKDownload" hosted content (flutter/packages#13222) 2026-10-14 55765052+MohanadAbdallah-mv@users.noreply.github.com [material_ui] Add supportingTextPadding to InputDecorator (flutter/packages#12769) 2026-10-14 37883572+edwin-hollen@users.noreply.github.com [vector_graphics_codec] Add support for encoding and decoding paint blur commands (flutter/packages#13148) 2026-10-14 ketulm8@gmail.com [go_router] Fix redirect zone async error handling (flutter/packages#12836) 2026-10-14 fluttergithubbot@gmail.com Sync release-go_router-18.1.0 to main (flutter/packages#13260) 2026-10-14 fluttergithubbot@gmail.com Sync release-cupertino_ui-1.1.3 to main (flutter/packages#13258) 2026-10-14 lsaudon@gmail.com [material_ui] add enableInlinePrediction parameter to TextFormField (flutter/packages#12793) 2026-10-14 fluttergithubbot@gmail.com Sync release-material_ui-1.7.0 to main (flutter/packages#13259) 2026-10-14 sokolovskyi.konstantin@gmail.com [material_ui] Add the Material shapes. (flutter/packages#12771) 2026-10-14 64028623+Ahtsham0715@users.noreply.github.com [material_ui] Add tertiary tap callbacks to InkResponse and InkWell (flutter/packages#12676) 2026-10-14 engine-flutter-autoroll@skia.org Roll Flutter from 4249ccb to 426be96 (44 revisions) (flutter/packages#13256) 2026-10-14 47866232+chunhtai@users.noreply.github.com [material_ui] fixes expanded state in the a11y_assessment home page dropdown (flutter/packages#13219) 2026-10-14 zhongliu88889@gmail.com [VPAT] Fix semantics in a11y_assessments drawer, radio, and rail demos (flutter/packages#13159) 2026-10-14 5684363+tenninebt@users.noreply.github.com [google_maps_flutter] Add onPointOfInterestTap (flutter/packages#11872) 2026-10-14 Gornivv@gmail.com [go_router] Fix shell route key collisions and dynamic branch updates (flutter/packages#12549) 2026-10-14 engine-flutter-autoroll@skia.org Manual roll Flutter from d03768e to 4249ccb (158 revisions) (flutter/packages#13220) 2026-10-14 okorohelijah@google.com [image_picker_ios] Require Flutter 3.47 / iOS 15 and drop deprecated kUTType code paths (flutter/packages#13224) 2026-10-13 louisehsu@google.com [in_app_purchase_storekit] Fixes Storekit 2 flaky tests (flutter/packages#13213) 2026-10-13 stuartmorgan@google.com [local_auth] Convert Android to new Pigeon suspend support (flutter/packages#12894) 2026-10-13 50643541+Mairramer@users.noreply.github.com [material_ui] Add enabled parameter to DropdownButtonFormField (flutter/packages#12610) 2026-10-13 molchanovia.dev@gmail.com [go_router] Link ShellRoute docs to StatefulShellRoute (flutter/packages#13120) 2026-10-13 jmccandless@google.com FadeForwards page transition performance (flutter/packages#13161) 2026-10-13 101952451+eszter-varga@users.noreply.github.com [in_app_purchase_android] Guard async billing callbacks against duplicate listener responses (flutter/packages#12640) 2026-10-13 victor.orozco@cloudsufi.com [google_sign_in] Remove the Objective-C exception catcher (flutter/packages#13156) 2026-10-13 magder@google.com [camera_avfoundation] Remove availability checks below the package minimum iOS 13 (flutter/packages#13214) 2026-10-13 magder@google.com [google_maps_flutter_ios] Remove iOS 14 availability check from example UI tests (flutter/packages#13218) 2026-10-13 stuartmorgan@google.com [google_sign_in] Convert implementation to Kotlin (flutter/packages#13005) 2026-10-13 victor.orozco@cloudsufi.com [image_picker_ios] PR 2/5 Add a PHImageManager image-data seam and migrate plugin native tests to Swift Testing (flutter/packages#13079) If this roll has caused a breakage, revert this CL and set the roller to dry run mode 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: ...
Converts
google_sign_in_androidimplementation code from Java to Kotlin.Similar to my other conversions, the process was:
This also removes the bridge code that allowed using Result from Java, now that it is no longer necessary.
Part of flutter/flutter#188630
Fixes flutter/flutter#193432
Pre-Review Checklist
[shared_preferences]///).Footnotes
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