Skip to content

Conversation

@stuartmorgan-g
Copy link
Collaborator

Updates shared_preferences_foundation's legacy implementation to use DI to inject the fake Pigeon API implementation, instead of the Dart test generator, matching the newer async code.

Also updates shared_preferences_android to remove dartHostTestHandler entries that were unused.

Part of flutter/flutter#159886

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

@stuartmorgan-g stuartmorgan-g added override: no versioning needed Override the check requiring version bumps for most changes override: no changelog needed Override the check requiring CHANGELOG updates for most changes labels Oct 29, 2025
@stuartmorgan-g
Copy link
Collaborator Author

CHANGELOG/version overrides: While technically there is production code change here, it's just adding an optional, visibible-only-for-tests parameter, and moving one ivar initialization from the declaration to the constructor, so it's pretty clearly a no-op.

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 refactors the testing approach for shared_preferences_foundation by removing the dependency on Pigeon's Dart test generator. Instead, it introduces dependency injection (DI) to provide a mock implementation of the Pigeon API for tests. This aligns the legacy code with the newer async implementation and improves test isolation. The changes also include removing unused dartHostTestHandler configurations from the Android implementation's Pigeon files. My review focuses on improving the test code's maintainability and efficiency.

@tarrinneal tarrinneal added the autosubmit Merge PR when tree becomes green via auto submit App label Nov 11, 2025
@auto-submit auto-submit bot merged commit 2f25693 into flutter:main Nov 11, 2025
80 checks passed
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Nov 11, 2025
github-merge-queue bot pushed a commit to flutter/flutter that referenced this pull request Nov 11, 2025
flutter/packages@4cec230...7063d75

2025-11-11 [email protected]
[video_player_avfoundation] removes unnecessary duration and size check
before sending the initialized event (flutter/packages#9534)
2025-11-11 [email protected] Update Android package CODEOWNERS
(flutter/packages#10386)
2025-11-11 [email protected] [url_launcher] Remove unused
dartHostTestHandler (flutter/packages#10324)
2025-11-11 [email protected] [path_provider] Remove use of
Pigeon's Dart test generator (flutter/packages#10323)
2025-11-11 [email protected] [image_picker] Remove use of Pigeon's
Dart test generator (flutter/packages#10320)
2025-11-11 [email protected] [shared_preferences] Remove use of
Pigeon's Dart test generator (flutter/packages#10325)
2025-11-10 [email protected]
[camera_android_camerax] Fixes crash with unsupported operation
exception (flutter/packages#10342)
2025-11-10 [email protected] [file_selector] Remove unused web
code (flutter/packages#10376)
2025-11-10 [email protected] Manual roll Flutter from
c5e809a to 31a8481 (9 revisions) (flutter/packages#10392)
2025-11-10 [email protected] [file_selector] Add
canCreateDirectories to FileDialogOptions (flutter/packages#10317)

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 [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
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 override: no changelog needed Override the check requiring CHANGELOG updates for most changes override: no versioning needed Override the check requiring version bumps for most changes p: shared_preferences platform-android platform-ios platform-macos

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants