-
Notifications
You must be signed in to change notification settings - Fork 3.3k
[quick_actions] convert to pigeon #5159
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
fda2e18
to
1cf1b5d
Compare
packages/quick_actions/quick_actions_ios/test/quick_actions_ios_test.dart
Outdated
Show resolved
Hide resolved
packages/quick_actions/quick_actions_ios/test/quick_actions_ios_test.dart
Outdated
Show resolved
Hide resolved
packages/quick_actions/quick_actions_ios/ios/Classes/ShortcutItemParser.swift
Outdated
Show resolved
Hide resolved
...ages/quick_actions/quick_actions_ios/example/ios/RunnerTests/Mocks/MockBinaryMessenger.swift
Outdated
Show resolved
Hide resolved
packages/quick_actions/quick_actions_ios/example/ios/RunnerTests/QuickActionsPluginTests.swift
Show resolved
Hide resolved
packages/quick_actions/quick_actions_ios/example/ios/RunnerTests/QuickActionsPluginTests.swift
Show resolved
Hide resolved
packages/quick_actions/quick_actions_ios/ios/Classes/QuickActionsPlugin.swift
Outdated
Show resolved
Hide resolved
...quick_actions/quick_actions_ios/example/ios/RunnerTests/DefaultShortcutItemParserTests.swift
Show resolved
Hide resolved
packages/quick_actions/quick_actions_ios/example/ios/RunnerTests/QuickActionsPluginTests.swift
Outdated
Show resolved
Hide resolved
packages/quick_actions/quick_actions_ios/example/ios/RunnerTests/QuickActionsPluginTests.swift
Outdated
Show resolved
Hide resolved
packages/quick_actions/quick_actions_ios/example/ios/RunnerTests/QuickActionsPluginTests.swift
Show resolved
Hide resolved
packages/quick_actions/quick_actions_ios/ios/Classes/QuickActionsPlugin.swift
Outdated
Show resolved
Hide resolved
packages/quick_actions/quick_actions_ios/ios/Classes/QuickActionsPlugin.swift
Outdated
Show resolved
Hide resolved
packages/quick_actions/quick_actions_ios/ios/Classes/ShortcutItemParser.swift
Outdated
Show resolved
Hide resolved
packages/quick_actions/quick_actions_ios/ios/Classes/QuickActionsPlugin.swift
Outdated
Show resolved
Hide resolved
packages/quick_actions/quick_actions_ios/ios/Classes/QuickActionsPlugin.swift
Outdated
Show resolved
Hide resolved
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 with nits. Thanks for doing that Pigeon PR! The tests are much cleaner now, and that was definitely a good example of why it's valuable for Pigeon development for us to adopt it :)
...ages/quick_actions/quick_actions_ios/example/ios/RunnerTests/Mocks/MockBinaryMessenger.swift
Outdated
Show resolved
Hide resolved
packages/quick_actions/quick_actions_ios/example/ios/RunnerTests/QuickActionsPluginTests.swift
Outdated
Show resolved
Hide resolved
packages/quick_actions/quick_actions_ios/ios/Classes/QuickActionsPlugin.swift
Outdated
Show resolved
Hide resolved
@hellohuanlin I would love to get an approval from you, since I'm still not 100% on Swift etiquette. |
packages/quick_actions/quick_actions_ios/ios/Classes/QuickActionsPlugin.swift
Outdated
Show resolved
Hide resolved
packages/quick_actions/quick_actions_ios/ios/Classes/QuickActionsPlugin.swift
Outdated
Show resolved
Hide resolved
packages/quick_actions/quick_actions_ios/ios/Classes/ShortcutItemParser.swift
Outdated
Show resolved
Hide resolved
// noop | ||
} | ||
} | ||
|
||
static func parseShortcutItems(_ items: [ShortcutItemMessage]) -> [UIApplicationShortcutItem] { |
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.
this doesn't seem to belong to a static member of QuickActionsPlugin
. I suggest 2 alternatives -
-
make them private non-static members of
QuickActionsPlugin
(so they become implementation detailsQuickActionsPlugin
). -
A more swifty way I would do is to create class extension of either
UIApplicationShortcutItem
orShortcutItemMessage
, outside ofQuickActionsPlugin
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.
Sounds good, thanks for the feedback!
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.
Oh also avoid the naming "parse" since it's not parsing anymore. Something like:
extension ShortcutItemMessage {
var item: UIApplicationShortcutItem {
return ...
}
}
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.
I don't think we need the tests that I was using this for any longer, since this is now an implementation detail and my understanding is that the swifty thing to do is consider the converter tested, since it is used in code that is already tested.
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.
Yes if it's implementation detail, it can only be tested via non-private members. You can delete those tests if it's already covered elsewhere
flutter/packages@be915be...4bf5114 2023-10-23 PROGrand@users.noreply.github.com [camera] CameraPlatform.createCameraWithSettings (flutter/packages#3615) 2023-10-23 49699333+dependabot[bot]@users.noreply.github.com Bump github/codeql-action from 2.22.3 to 2.22.4 (flutter/packages#5201) 2023-10-22 engine-flutter-autoroll@skia.org Roll Flutter from 6f4850d to 823e083 (3 revisions) (flutter/packages#5198) 2023-10-21 49699333+dependabot[bot]@users.noreply.github.com Bump actions/checkout from 4.1.0 to 4.1.1 (flutter/packages#5167) 2023-10-21 engine-flutter-autoroll@skia.org Roll Flutter from 0883cb2 to 6f4850d (24 revisions) (flutter/packages#5196) 2023-10-21 50643541+Mairramer@users.noreply.github.com [ios_platform_images] migrate objC to swift (flutter/packages#4847) 2023-10-20 49699333+dependabot[bot]@users.noreply.github.com [in_app_pur]: Bump org.json:json from 20230618 to 20231013 in /packages/in_app_purchase/in_app_purchase_android/example/android/app (flutter/packages#5149) 2023-10-20 49699333+dependabot[bot]@users.noreply.github.com [in_app_pur]: Bump org.json:json from 20230618 to 20231013 in /packages/in_app_purchase/in_app_purchase_android/android (flutter/packages#5150) 2023-10-20 tarrinneal@gmail.com [quick_actions] convert to pigeon (flutter/packages#5159) 2023-10-20 737941+loic-sharma@users.noreply.github.com [ci] Add build-only Windows Arm64 tests (flutter/packages#5142) 2023-10-20 43759233+kenzieschmoll@users.noreply.github.com Add '--no-tree-shake-icons' option to `BenchmarkServer` (flutter/packages#5186) 2023-10-20 engine-flutter-autoroll@skia.org Roll Flutter from c2bd2c1 to 0883cb2 (24 revisions) (flutter/packages#5192) 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,rmistry@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
* main: (139 commits) Change firebase device tests from Android api 30 to 33 (flutter#5185) [url_launcher] Add an `inAppBrowserView` mode (flutter#5205) [ci] Remove device_type property from Windows Arm64 properties (flutter#5193) [url_launcher_web] Disallows launching "javascript:" URLs. (flutter#5180) [local_auth]: Bump androidx.fragment:fragment from 1.6.0 to 1.6.1 in /packages/local_auth/local_auth_android/android (flutter#4600) Roll Flutter from 823e083 to 5e8b5f4 (13 revisions) (flutter#5208) [tool] Add optional swift-format support (flutter#5204) [camera] CameraPlatform.createCameraWithSettings (flutter#3615) Bump github/codeql-action from 2.22.3 to 2.22.4 (flutter#5201) Roll Flutter from 6f4850d to 823e083 (3 revisions) (flutter#5198) Bump actions/checkout from 4.1.0 to 4.1.1 (flutter#5167) Roll Flutter from 0883cb2 to 6f4850d (24 revisions) (flutter#5196) [ios_platform_images] migrate objC to swift (flutter#4847) [in_app_pur]: Bump org.json:json from 20230618 to 20231013 in /packages/in_app_purchase/in_app_purchase_android/example/android/app (flutter#5149) [in_app_pur]: Bump org.json:json from 20230618 to 20231013 in /packages/in_app_purchase/in_app_purchase_android/android (flutter#5150) [quick_actions] convert to pigeon (flutter#5159) [ci] Add build-only Windows Arm64 tests (flutter#5142) Add '--no-tree-shake-icons' option to `BenchmarkServer` (flutter#5186) Roll Flutter from c2bd2c1 to 0883cb2 (24 revisions) (flutter#5192) [ci] Finalize migration to x64 specific Windows platform (flutter#5174) ...
Converts from direct use of method channels to using Pigeon.
Part of flutter/flutter#117844
fixes flutter/flutter#117913
fixes flutter/flutter#117112
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.///
).If you need help, consider asking for advice on the #hackers-new channel on Discord.