Adaptive alert dialog#124336
Conversation
There was a problem hiding this comment.
Do we have a pattern of adaptive functions? I wasn't sure the right way to name this.
There was a problem hiding this comment.
This name sounds good to me. I don't think we have any patterns for the name of the adaptive function. But I'm not very sure. Maybe we can collect some suggestions from @HansMuller ;)
There was a problem hiding this comment.
@HansMuller if you could take a quick peek at this.
There was a problem hiding this comment.
This name sounds good to me. I don't think we have any patterns for the name of the adaptive function. But I'm not very sure. Maybe we can collect some suggestions from @HansMuller ;)
There was a problem hiding this comment.
nit: maybe two space indent.
a41e9fe to
52ae952
Compare
There was a problem hiding this comment.
nit:
| enum _DialogType {material, adaptive } | |
| enum _DialogType { material, adaptive } |
52ae952 to
2aa7c6d
Compare
There was a problem hiding this comment.
the newly added params are NOT ignored in case of CupertinoAlertDialog. they're only ignored in case of material AlertDialog.
There was a problem hiding this comment.
i'm sorry, but i feel stating it as a positive instead of a double negative would be easier to understand, something like ... only these parameters are used:. could you check other adaptive widgets / functions for similar documentation?
moving the statement for AlertDialog to a newline would help too.
lemme know your thoughts.
There was a problem hiding this comment.
No, that makes sense. On the other adaptive widgets we so far have only called out which ones are ignored, instead of which ones aren't.
QuncCccccc
left a comment
There was a problem hiding this comment.
It looks good! Just left one comment for the newly added fields:) Thanks!
There was a problem hiding this comment.
nit: Maybe we can add {@template ...}... {@endtemplate} for the cupertino AlertDialog's API documentation so that here we can directly use {@macro ...}
There was a problem hiding this comment.
Question: would this be necessary if we go with the factory implementation you mentioned below? That would hide the Cupertino specific properties somewhat. I can add them with the documentation for the .adaptive but I'm thinking it's better to just let them go to the page for CupertinoAlertDialog at that point.
There was a problem hiding this comment.
Ah that makes sense. SGTM!
There was a problem hiding this comment.
I'm considering if we should add these 4 APIs here because the material AlertDialog will not use them at all. Another way I can think of is to use factory keyword when we create AlertDialog.adaptive constructor, and the factory constructor will be assigned to a private subclass which has the extra APIs. An example can be FilledButton.icon(). By using factory, we can add new parameters only in the AlertDialog.adaptive constructor without adding new fields for AlertDialog. I think that would be something like: https://gist.github.com/QuncCccccc/93f22070b6b459912eeddb03ff55d1ec
But please let me know if this doesn't make sense:)
There was a problem hiding this comment.
No that makes sense, and that looks a lot cleaner. Thank you!
c0b1485 to
d875fcd
Compare
There was a problem hiding this comment.
Ah just one more minor comment(Sorry!). I'm just thinking to follow Greg's this PR: #124080, probably it's better to rename the MyApp class to AdaptiveAlertDialogApp or something else:)
d875fcd to
acececd
Compare
flutter/flutter@42fb0b2...3476b96 2023-04-19 [email protected] Update helper message for `--suppress-analytics` (flutter/flutter#124810) 2023-04-19 [email protected] Roll Flutter Engine from 8b7cdb02f7f3 to 609f9d536494 (1 revision) (flutter/flutter#125097) 2023-04-19 [email protected] Roll Flutter Engine from 099ed6c62d04 to 8b7cdb02f7f3 (6 revisions) (flutter/flutter#125094) 2023-04-19 [email protected] Roll Flutter Engine from 5fcc7b719029 to 099ed6c62d04 (3 revisions) (flutter/flutter#125078) 2023-04-19 [email protected] Disableable ContextMenuButtonItems (flutter/flutter#124253) 2023-04-18 [email protected] Adaptive alert dialog (flutter/flutter#124336) 2023-04-18 [email protected] Roll Flutter Engine from 6d263ea56a62 to 5fcc7b719029 (4 revisions) (flutter/flutter#125069) 2023-04-18 [email protected] Remove package:js/dart:js_interop conflicts (flutter/flutter#124879) 2023-04-18 [email protected] Remove double.fromEnvironment from dart-define doc (flutter/flutter#124102) 2023-04-18 [email protected] Update to add Kim Jiun to `AUTHORS` (flutter/flutter#125026) 2023-04-18 [email protected] Add controller argument to SubmenuButton (flutter/flutter#125000) 2023-04-18 [email protected] Roll Flutter Engine from 879308a52228 to 6d263ea56a62 (1 revision) (flutter/flutter#125060) 2023-04-18 [email protected] Limit the number of Material spell check suggestions to 3 (flutter/flutter#124899) 2023-04-18 [email protected] Remove impeller testowners (flutter/flutter#125056) 2023-04-18 [email protected] [web] - Clean up skipped tests (flutter/flutter#124981) 2023-04-18 [email protected] Roll Flutter Engine from 72b68622fffa to 879308a52228 (1 revision) (flutter/flutter#125057) 2023-04-18 [email protected] Remove unused getRootRenderObject and getSelectedRenderObject service extensions (flutter/flutter#124805) 2023-04-18 [email protected] l10n.yaml's nullable-getter option should default to true (flutter/flutter#124353) 2023-04-18 [email protected] Roll Flutter Engine from 55bb065c607b to 72b68622fffa (1 revision) (flutter/flutter#125053) 2023-04-18 [email protected] Add vmservice for android build options (flutter/flutter#123034) 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 Please CC [email protected],[email protected],[email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
flutter/flutter@42fb0b2...3476b96 2023-04-19 [email protected] Update helper message for `--suppress-analytics` (flutter/flutter#124810) 2023-04-19 [email protected] Roll Flutter Engine from 8b7cdb02f7f3 to 609f9d536494 (1 revision) (flutter/flutter#125097) 2023-04-19 [email protected] Roll Flutter Engine from 099ed6c62d04 to 8b7cdb02f7f3 (6 revisions) (flutter/flutter#125094) 2023-04-19 [email protected] Roll Flutter Engine from 5fcc7b719029 to 099ed6c62d04 (3 revisions) (flutter/flutter#125078) 2023-04-19 [email protected] Disableable ContextMenuButtonItems (flutter/flutter#124253) 2023-04-18 [email protected] Adaptive alert dialog (flutter/flutter#124336) 2023-04-18 [email protected] Roll Flutter Engine from 6d263ea56a62 to 5fcc7b719029 (4 revisions) (flutter/flutter#125069) 2023-04-18 [email protected] Remove package:js/dart:js_interop conflicts (flutter/flutter#124879) 2023-04-18 [email protected] Remove double.fromEnvironment from dart-define doc (flutter/flutter#124102) 2023-04-18 [email protected] Update to add Kim Jiun to `AUTHORS` (flutter/flutter#125026) 2023-04-18 [email protected] Add controller argument to SubmenuButton (flutter/flutter#125000) 2023-04-18 [email protected] Roll Flutter Engine from 879308a52228 to 6d263ea56a62 (1 revision) (flutter/flutter#125060) 2023-04-18 [email protected] Limit the number of Material spell check suggestions to 3 (flutter/flutter#124899) 2023-04-18 [email protected] Remove impeller testowners (flutter/flutter#125056) 2023-04-18 [email protected] [web] - Clean up skipped tests (flutter/flutter#124981) 2023-04-18 [email protected] Roll Flutter Engine from 72b68622fffa to 879308a52228 (1 revision) (flutter/flutter#125057) 2023-04-18 [email protected] Remove unused getRootRenderObject and getSelectedRenderObject service extensions (flutter/flutter#124805) 2023-04-18 [email protected] l10n.yaml's nullable-getter option should default to true (flutter/flutter#124353) 2023-04-18 [email protected] Roll Flutter Engine from 55bb065c607b to 72b68622fffa (1 revision) (flutter/flutter#125053) 2023-04-18 [email protected] Add vmservice for android build options (flutter/flutter#123034) 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 Please CC [email protected],[email protected],[email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Fixes #102811. Adds an adaptive constructor to AlertDialog, along with the adaptive function showAdaptiveDialog.
Pre-launch Checklist
///).If you need help, consider asking for advice on the #hackers-new channel on Discord.