Skip to content
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

fix(CupertinoDatePicker): font is inconsistent #162932

Merged
merged 9 commits into from
Feb 20, 2025

Conversation

StanleyCocos
Copy link
Contributor

@StanleyCocos StanleyCocos commented Feb 8, 2025

This request fixes the issue where the missing font parameter for rendering the year caused its font to be inconsistent, leading to visual misalignment.

child: CupertinoPicker.builder(
scrollController: yearController,
itemExtent: widget.itemExtent,
offAxisFraction: offAxisFraction,
useMagnifier: _kUseMagnifier,
magnification: _kMagnification,
backgroundColor: widget.backgroundColor,
onSelectedItemChanged: (int index) {

Pre-launch Checklist

  • I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
  • I read the [Tree Hygiene] wiki page, which explains my responsibilities.
  • I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement].
  • I signed the [CLA].
  • I listed at least one issue that this PR fixes in the description above.
  • I updated/added relevant documentation (doc comments with ///).
  • I added new tests to check the change I am making, or this PR is [test-exempt].
  • I followed the [breaking change policy] and added [Data Driven Fixes] where supported.
  • All existing and new tests are passing.

@flutter-dashboard
Copy link

It looks like this pull request may not have tests. Please make sure to add tests before merging. If you need an exemption, contact "@test-exemption-reviewer" in the #hackers channel in Discord (don't just cc them here, they won't see it!).

If you are not sure if you need tests, consider this rule of thumb: the purpose of a test is to make sure someone doesn't accidentally revert the fix. Ask yourself, is there anything in your PR that you feel it is important we not accidentally revert back to how it was before your fix?

Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing. The test exemption team is a small volunteer group, so all reviewers should feel empowered to ask for tests, without delegating that responsibility entirely to the test exemption group.

@github-actions github-actions bot added framework flutter/packages/flutter repository. See also f: labels. f: cupertino flutter/packages/flutter/cupertino repository labels Feb 8, 2025
@flutter-dashboard
Copy link

Golden file changes have been found for this pull request. Click here to view and triage (e.g. because this is an intentional change).

If you are still iterating on this change and are not ready to resolve the images on the Flutter Gold dashboard, consider marking this PR as a draft pull request above. You will still be able to view image results on the dashboard, commenting will be silenced, and the check will not try to resolve itself until marked ready for review.

For more guidance, visit Writing a golden file test for package:flutter.

Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing.

Changes reported for pull request #162932 at sha 48c3a7a

@flutter-dashboard flutter-dashboard bot added the will affect goldens Changes to golden files label Feb 8, 2025
@StanleyCocos
Copy link
Contributor Author

Hi, does this meet the exemption testing criteria?

@MitchellGoodwin
Copy link
Contributor

Hi, does this meet the exemption testing criteria?

I can see why this feels like it is small enough to not need a test, but I think the fact that this issue got past us and into the framework in the first place is a good argument for why we need a regression test to look out for it in the future.

Luckily I think it wouldn't be too complicated to make a test. A test that creates a date picker wheel, then gets the bottom left or right of elements that should be at the same height on the wheel and compares the dy of each element against each other should be enough.

@StanleyCocos
Copy link
Contributor Author

Okay, thank you. I will add a test later today.

@flutter-dashboard
Copy link

Golden file changes are available for triage from new commit, Click here to view.

For more guidance, visit Writing a golden file test for package:flutter.

Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing.

Changes reported for pull request #162932 at sha 887d39c

@flutter-dashboard
Copy link

Golden file changes are available for triage from new commit, Click here to view.

For more guidance, visit Writing a golden file test for package:flutter.

Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing.

Changes reported for pull request #162932 at sha f1ca5a2

@StanleyCocos
Copy link
Contributor Author

@MitchellGoodwin
Hi, could you take another look?
Thank you!

Copy link
Contributor

@MitchellGoodwin MitchellGoodwin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Thanks for making this PR! I just have one nit.

);

Offset lastOffset = tester.getTopLeft(find.text('November'));
expect(tester.getTopLeft(find.text('11')).dy == lastOffset.dy, true);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: prefer using expect(tester.getTopLeft(find.text('11')).dy, equals(lastOffset.dy)). It's a little more robust.

expect(tester.getTopLeft(find.text('11')).dy == lastOffset.dy, true);

lastOffset = tester.getTopLeft(find.text('11'));
expect(tester.getTopLeft(find.text('2022')).dy == lastOffset.dy, true);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here, prefer using the equals matcher.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you! The changes have been made.

@dkwingsmt dkwingsmt self-requested a review February 19, 2025 19:57
Copy link
Contributor

@dkwingsmt dkwingsmt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, really clear test!

@dkwingsmt dkwingsmt added the autosubmit Merge PR when tree becomes green via auto submit App label Feb 20, 2025
@flutter-dashboard
Copy link

Golden file changes are available for triage from new commit, Click here to view.

For more guidance, visit Writing a golden file test for package:flutter.

Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing.

Changes reported for pull request #162932 at sha 7febe1f

Copy link
Contributor

auto-submit bot commented Feb 20, 2025

autosubmit label was removed for flutter/flutter/162932, because - The status or check suite Google testing has failed. Please fix the issues identified (or deflake) before re-applying this label.

@auto-submit auto-submit bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Feb 20, 2025
@StanleyCocos
Copy link
Contributor Author

Why did Google fail?
Is there anyone who can help me with this?

@flutter-dashboard
Copy link

Golden file changes are available for triage from new commit, Click here to view.

For more guidance, visit Writing a golden file test for package:flutter.

Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing.

Changes reported for pull request #162932 at sha 592b58e

engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 21, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 21, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 21, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 22, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 22, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 22, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 22, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 23, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 23, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 24, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 24, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 24, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 24, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 24, 2025
auto-submit bot pushed a commit to flutter/packages that referenced this pull request Feb 24, 2025
…8687)

Manual roll Flutter from 39b4951f8f0b to 911aa7547ed7 (56 revisions)

Manual roll requested by stuartmorgan@google.com

flutter/flutter@39b4951...911aa75

2025-02-21 bdero@google.com Remove legacy scenec stuff from flutter_tool (flutter/flutter#163569)
2025-02-21 68449066+zijiehe-google-com@users.noreply.github.com [fuchsia] reorder tests in test_suites.yaml and update the comment (flutter/flutter#163799)
2025-02-21 engine-flutter-autoroll@skia.org Roll Dart SDK from 7ceb3be8ed0a to c5e582f15b6c (2 revisions) (flutter/flutter#163844)
2025-02-21 engine-flutter-autoroll@skia.org Roll Packages from a9b9172 to 5a721da (2 revisions) (flutter/flutter#163848)
2025-02-21 engine-flutter-autoroll@skia.org Roll Dart SDK from ad642ee6f94b to 7ceb3be8ed0a (2 revisions) (flutter/flutter#163832)
2025-02-21 matanlurey@users.noreply.github.com Update how to use VSCode with `clangd` after the monorepo merge (flutter/flutter#163671)
2025-02-21 matanlurey@users.noreply.github.com Reland #163711 after #163780 (flutter/flutter#163812)
2025-02-21 robert.ancell@canonical.com Fix incorrect function name in FlutterEngineRun documentation (flutter/flutter#163696)
2025-02-21 engine-flutter-autoroll@skia.org Roll Dart SDK from 557cbf2c7da6 to ad642ee6f94b (5 revisions) (flutter/flutter#163794)
2025-02-21 1961493+harryterkelsen@users.noreply.github.com [canvaskit] Use `visualViewport.scale` to determine device pixel ratio. (flutter/flutter#163688)
2025-02-21 flar@google.com [DisplayList] Migrate rendering tests and benchmarks to DL geometry (flutter/flutter#163766)
2025-02-21 matanlurey@users.noreply.github.com Make `releaseMode` explicit, inform `determineDevDependencies` entirely on the flag (flutter/flutter#163780)
2025-02-21 matanlurey@users.noreply.github.com Ensure `exclude_dev_dependencies_test` runs if `flutter_tools` changes. (flutter/flutter#163768)
2025-02-21 nabilamevia2003@gmail.com WebKit should respect TextCapitalization.words (flutter/flutter#161027)
2025-02-21 victorsanniay@gmail.com CupertinoSliverNavigationBar.search fidelity updates (flutter/flutter#163089)
2025-02-21 65627237+lucas-goldner@users.noreply.github.com feat: Add selectionColor property to selectable text (flutter/flutter#162177)
2025-02-20 matanlurey@users.noreply.github.com Restore `linux_android_emulator_tests` to CI. (flutter/flutter#163747)
2025-02-20 yjbanov@google.com introduce system color palette (flutter/flutter#163335)
2025-02-20 kevmoo@users.noreply.github.com [web] DRY up access to headers required for multi-threaded WebAssembly (flutter/flutter#163555)
2025-02-20 stanleycocoa@gmail.com fix(CupertinoDatePicker): font is inconsistent (flutter/flutter#162932)
2025-02-20 reidbaker@google.com Create Android-API-And-Related-Versions.md (flutter/flutter#163556)
2025-02-20 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Avoid implicitly setting `determineDevDependencies: true` (it's not a safe operation) (#163711)" (flutter/flutter#163762)
2025-02-20 56849473+mariamhas@users.noreply.github.com Revert "Create g3_bug.yml" (flutter/flutter#163757)
2025-02-20 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Make Flutter version information accessible at runtime (#140783)" (flutter/flutter#163753)
2025-02-20 magder@google.com Skip Xcode install on mac_mokey Android tests (flutter/flutter#163685)
2025-02-20 engine-flutter-autoroll@skia.org Roll Dart SDK from 2cecb16348e4 to 557cbf2c7da6 (3 revisions) (flutter/flutter#163705)
2025-02-20 matanlurey@users.noreply.github.com Add `FlutterVersion.engineCommitDate`, helps signal engine artifact SHA issues (flutter/flutter#163652)
2025-02-20 matanlurey@users.noreply.github.com Avoid implicitly setting `determineDevDependencies: true` (it's not a safe operation) (flutter/flutter#163711)
2025-02-20 matanlurey@users.noreply.github.com It is now safe to call `getBuildMode().release` (flutter/flutter#163712)
2025-02-20 jonahwilliams@google.com [iOS] remove Skia interfaces from iOS platform code. (flutter/flutter#163505)
2025-02-20 ueman@users.noreply.github.com Make Flutter version information accessible at runtime (flutter/flutter#140783)
2025-02-20 matej.knopp@gmail.com [windows] Implement merged UI and platform thread (flutter/flutter#162935)
2025-02-20 31642846+dbspoudel@users.noreply.github.com `CircularProgressIndicator` throws null exception (flutter/flutter#163356)
2025-02-20 ybz975218925@gmail.com Fix the issue where DropdownMenu does not gain focus when tapped. (flutter/flutter#162874)
2025-02-20 codefu@google.com Check for tracked engine.version before overriding (flutter/flutter#163672)
2025-02-20 ybz975218925@gmail.com showDialogs adds a `requestFocus` parameter. (flutter/flutter#162928)
2025-02-20 polinach@google.com Create helper method to dispatch object creation and disposal. (flutter/flutter#163637)
2025-02-20 15619084+vashworth@users.noreply.github.com Redistribute iOS TESTOWNERS (flutter/flutter#163653)
2025-02-20 31859944+LongCatIsLooong@users.noreply.github.com enclosingElement -> enclosingElement3 (flutter/flutter#163681)
2025-02-19 bkonyi@google.com [ Widget Preview ] Move `preview_detector_test.dart` from `general.shard` to `commands.shard` (flutter/flutter#163619)
2025-02-19 jonahwilliams@google.com [iOS] always post new task during gesture dispatch. (flutter/flutter#163646)
2025-02-19 biggs0125@gmail.com Allow flutter tools to detach a running Chrome session (flutter/flutter#163349)
2025-02-19 flar@google.com Reland "[Impeller] add support for rational bezier conics to Path (#63282)" (flutter/flutter#163645)
2025-02-19 yjbanov@google.com [web:a11y] wheel events switch to pointer mode (flutter/flutter#163582)
...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
f: cupertino flutter/packages/flutter/cupertino repository framework flutter/packages/flutter repository. See also f: labels. will affect goldens Changes to golden files
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[CupertinoDatePicker] year field in unselected value baseline is broken
3 participants