-
Notifications
You must be signed in to change notification settings - Fork 9.8k
[local_auth] Convert Windows to Pigeon #7012
[local_auth] Convert Windows to Pigeon #7012
Conversation
@azchohfi If you could test this on supported hardware to make sure I didn't accidentally break anything there, that would be great; I don't have any so the only end-to-end manual test I could do was of no support. |
@stuartmorgan absolutely! Any Surface device should support Windows Hello, so I can test this quite easily, as I have one. Also, I've checked the source changes and LGTM. I'll just test it and approve. |
Working perfectly fine on my Windows 11 Lenovo with Windows Hello (PIN only). Call paths are exactly the same for biometric/non-biometric, so LGTM. |
Also, I'm assuming this is not a breaking change, since API surface and behavior is the same, right? |
Great, thanks for testing!
It's a grey area, because I changed |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm!
Landing manually to re-open the tree, which is stuck red due to flutter/flutter#116226 |
Updates `local_auth_windows` to use Pigeon, and moves to a more platform-tailored and Dart-centric implementation (rather than keeping the previous cross-platform method channel interface that the current implementation was duplicated from): - Eliminates `deviceSupportsBiometrics` from the platform interface, since it's always the same as `isDeviceSupported`, in favor of doing that mapping in Dart. - Eliminates `getEnrolledBiometrics` from the platform interface, since it was the same implementation as `isDeviceSupported` just with a different return value, in favor of doing that logic in Dart. - Moves throwing for the `biometricOnly` option to the Dart side, simplifying the native logic. Related changes: - Adds a significant amount of previously-missing Dart unit test coverage. - Removes the `biometricOnly` UI from the example app, since it will always fail. Part of flutter/flutter#117912
Updates
local_auth_windows
to use Pigeon, and moves to a more platform-tailored and Dart-centric implementation (rather than keeping the previous cross-platform method channel interface that the current implementation was duplicated from):deviceSupportsBiometrics
from the platform interface, since it's always the same asisDeviceSupported
, in favor of doing that mapping in Dart.getEnrolledBiometrics
from the platform interface, since it was the same implementation asisDeviceSupported
just with a different return value, in favor of doing that logic in Dart.biometricOnly
option to the Dart side, simplifying the native logic.Related changes:
biometricOnly
UI from the example app, since it will always fail.Part of flutter/flutter#117912
Pre-launch Checklist
dart format
.)[shared_preferences]
pubspec.yaml
with an appropriate new version according to the pub versioning philosophy, or this PR is exempt from version changes.CHANGELOG.md
to add a description of the change, following repository CHANGELOG style.///
).