Repository navigation
[shared_preferences] Updates Pigeon to 30.0.1 to support multi-engine registration and deregistration. - #13617
Conversation
There was a problem hiding this comment.
Code Review
This pull request updates the shared_preferences Android and iOS/macOS implementations to use Pigeon 30.0.0, enabling support for multi-engine registration and deregistration. The changes modify plugin setup and teardown lifecycles to tie registrations to specific Flutter engine bindings, preventing secondary engine detachment from clearing primary engine APIs. Additionally, corresponding unit and integration tests have been added to verify this behavior. Feedback on the changes suggests removing a redundant runBlocking coroutine builder in the Android tests and replacing unimported assertTrue calls with standard JUnit assertions to avoid compilation errors and improve test robustness.
stuartmorgan
left a comment
There was a problem hiding this comment.
Unsolicited review since I saw it go by and thought you might want a quick turnaround on feedback 🙂 Adoption of the new API surface all looks good to me.
| flutterPluginBinding = Mockito.mock(FlutterPluginBinding::class.java) | ||
|
|
||
| Mockito.`when`(flutterPluginBinding.applicationContext).thenReturn(context) | ||
| Mockito.`when`(flutterPluginBinding.binaryMessenger) |
There was a problem hiding this comment.
(There's a library to simplify all the mockito stuff in Kotlin that I've pulled into several of the plugins whose tests I converted; I've made a note to myself follow up and simplify the tests in this plugin later so there's not so much boilerplate and ::class.java and such.)
…er#196381) flutter/packages@08faf64...653628e 2026-11-11 [email protected] Roll Flutter from fffd8c2 to b98afb5 (31 revisions) (flutter/packages#13623) 2026-11-11 [email protected] [material_ui] Document how to programmatically clear DropdownMenu selection (flutter/packages#13266) 2026-11-11 [email protected] [pigeon] Fix basePath resolution when paths share a string prefix with basePath (flutter/packages#13342) 2026-11-11 [email protected] [cupertino_ui] Fix CupertinoSheetRoute throwing when a drag ends during a pending relayout (flutter/packages#13316) 2026-11-11 [email protected] [shared_preferences] Updates Pigeon to 30.0.1 to support multi-engine registration and deregistration. (flutter/packages#13617) 2026-11-11 [email protected] [vector_graphics] Catch any throwable in useHtmlRenderObject() and cache HTML fallback (flutter/packages#13545) 2026-11-11 [email protected] [cupertino_ui] Include selectionHandleColor in NoDefaultCupertinoThemeData equality (flutter/packages#13450) 2026-11-11 [email protected] [flutter_svg] Remove failed async loads from Cache._pending (flutter/packages#13604) 2026-11-11 [email protected] [pigeon] Adds Native Interop FFI codec serialization for NS types (flutter/packages#13616) 2026-11-10 [email protected] [pigeon] Support multi-engine Native Interop registration and instance-aware unregistration (flutter/packages#13576) 2026-11-10 [email protected] [image_picker_ios] Convert the iOS example app and UI tests to Swift (flutter/packages#13570) 2026-11-10 [email protected] [cupertino_ui] Localize CupertinoActionSheet semantics label (flutter/packages#13377) 2026-11-10 [email protected] [camera_android] Fix stopVideoRecording returning JPEG when takePicture runs during recording (flutter/packages#13070) 2026-11-10 [email protected] [google_sign_in_android] Rename keep.xml to google_sign_in_keep.xml (flutter/packages#13475) 2026-11-10 [email protected] [web_benchmarks] Fix benchmark stalling when only repainting views that are dirty (flutter/packages#13089) 2026-11-10 [email protected] Roll Flutter from d463821 to fffd8c2 (21 revisions) (flutter/packages#13614) 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 [email protected] 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
Updates
shared_preferences_androidandshared_preferences_foundationto Pigeon 30.0.1 andjni^1.1.1.fixes flutter/flutter#194920