Skip to content

[vector_graphics] Allow transition between placeholder and loaded image to have an animation #8195

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

raju-muliyashiya
Copy link
Contributor

@raju-muliyashiya raju-muliyashiya commented Nov 27, 2024

Replace this paragraph with a description of what this PR is changing or adding, and why. Consider including before/after screenshots.

List which issues are fixed by this PR. You must list at least one issue.
Issue #158857

Pre-launch Checklist

  • I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
  • I read the [Tree Hygiene] page, which explains my responsibilities.
  • I read and followed the [relevant style guides] and ran the auto-formatter. (Unlike the flutter/flutter repo, the flutter/packages repo does use dart format.)
  • I signed the [CLA].
  • The title of the PR starts with the name of the package surrounded by square brackets, e.g. [shared_preferences]
  • I [linked to at least one issue that this PR fixes] in the description above.
  • I updated pubspec.yaml with an appropriate new version according to the [pub versioning philosophy], or this PR is [exempt from version changes].
  • I updated CHANGELOG.md to add a description of the change, [following repository CHANGELOG style], or this PR is [exempt from CHANGELOG changes].
  • 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].
  • All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on [Discord].

@raju-muliyashiya
Copy link
Contributor Author

@stuartmorgan Can you review this?
Thanks.

@stuartmorgan-g
Copy link
Contributor

@jonahwilliams Are these package's PRs being included in engine PR triage?

@jonahwilliams
Copy link
Member

They were not

@@ -61,6 +61,7 @@ VectorGraphic createCompatVectorGraphic({
String? semanticsLabel,
bool excludeFromSemantics = false,
Clip clipBehavior = Clip.hardEdge,
Duration transitionDuration = const Duration(milliseconds: 500),
Copy link
Member

Choose a reason for hiding this comment

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

This doesn't just allow the transition, it forces it on for all apps. should this be opt in if a transition duration is specififed?

Copy link
Member

Choose a reason for hiding this comment

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

To clarify, by providing a default value here and having the value be non-nullable, you will make all vector graphics fade in over 0.5 seconds. You must change this to be nullable with a null default or I will not accept the change

Copy link
Contributor Author

@raju-muliyashiya raju-muliyashiya left a comment

Choose a reason for hiding this comment

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

Removed default duration

Copy link
Member

@jonahwilliams jonahwilliams left a comment

Choose a reason for hiding this comment

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

I still see the default duration.

@@ -61,6 +61,7 @@ VectorGraphic createCompatVectorGraphic({
String? semanticsLabel,
bool excludeFromSemantics = false,
Clip clipBehavior = Clip.hardEdge,
Duration transitionDuration = const Duration(milliseconds: 500),
Copy link
Member

Choose a reason for hiding this comment

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

To clarify, by providing a default value here and having the value be non-nullable, you will make all vector graphics fade in over 0.5 seconds. You must change this to be nullable with a null default or I will not accept the change

width: widget.width,
height: widget.height,
);
child = widget.placeholderBuilder != null
Copy link
Member

Choose a reason for hiding this comment

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

Instead of the double nested ternary please right a helper function and/or some if statements.

…ition-enhancement

# Conflicts:
#	packages/vector_graphics/CHANGELOG.md
#	packages/vector_graphics/pubspec.yaml
Copy link
Member

@jonahwilliams jonahwilliams left a comment

Choose a reason for hiding this comment

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

LGTM

@jonahwilliams jonahwilliams added the autosubmit Merge PR when tree becomes green via auto submit App label Feb 5, 2025
@auto-submit auto-submit bot merged commit e6ce02c into flutter:main Feb 5, 2025
77 checks passed
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Feb 5, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Feb 5, 2025
github-merge-queue bot pushed a commit to flutter/flutter that referenced this pull request Feb 5, 2025
flutter/packages@02c6fef...e6ce02c

2025-02-05 [email protected] [vector_graphics]
Allow transition between placeholder and loaded image to have an
animation (flutter/packages#8195)
2025-02-04 [email protected] [flutter_markdown] Make custom table
column alignments work when text wraps (flutter/packages#8340)
2025-02-04 [email protected]
[interactive_media_ads] Adds internal wrapper for iOS native
`IMAAdPodInfo` (flutter/packages#8429)
2025-02-03 [email protected] [pigeon] reorg generator files
(flutter/packages#8532)
2025-02-03 [email protected] [pigeon] [swift] Fix `PigeonError`
sendability conformance in Swift 6 (flutter/packages#8302)
2025-02-03 [email protected] Roll Flutter from
b007899 to 8e2a6fc (61 revisions) (flutter/packages#8556)
2025-02-03 [email protected]
[google_maps_flutter] Support for Ground Overlay - platform interface
(flutter/packages#8518)
2025-01-31 [email protected] [tool] Add
--xcode-warnings-exceptions flag (flutter/packages#8524)
2025-01-31 [email protected] [tool] Ensure that injected
dependency overrides are sorted (flutter/packages#8542)
2025-01-31 [email protected] [vector_graphics] Revert leak
tracker change (flutter/packages#8544)
2025-01-31 [email protected] [shared_preferences_tool] Loosen
vm_service constraint to allow for 15 (flutter/packages#8539)
2025-01-31 [email protected]
[in_app_purchase] Activate leak testing for android
(flutter/packages#8369)
2025-01-31 [email protected] [flutter_markdown] Allow tables to be
scrollable with IntrinsicColumnWidth (flutter/packages#8526)
2025-01-30 [email protected] Update CODEOWNERS for pkg:animations
(flutter/packages#8534)
2025-01-30 [email protected] Roll Flutter from
c1ffaa9 to b007899 (43 revisions) (flutter/packages#8527)
2025-01-30 [email protected] [video_player_web] Adjust Web
implementation to the new platform interface (flutter/packages#8528)
2025-01-30 [email protected] [shared_preferences] Exposed
SharedPreferencesOptions. (flutter/packages#8530)
2025-01-29 [email protected] Re-land [shared_preferences] Add
shared preferences devtool (flutter/packages#8531)
2025-01-29 [email protected]
[in_app_purchase_storekit] Add Swift Package Manager compatibility
(flutter/packages#8469)
2025-01-29 [email protected] Revert "Re-land [shared_preferences]
Add shared preferences devtool" (flutter/packages#8529)
2025-01-29 [email protected]
[go_router_builder] Fixes trailing `?` by comparing iterables
(flutter/packages#8521)
2025-01-29 [email protected] [tool] Refactor
args of strings or YAML file lists (flutter/packages#8513)
2025-01-28 [email protected] [go_router]
Add missing await keyword to onTap callback in the code example in
`navigation.md` (flutter/packages#8343)
2025-01-28 [email protected] Re-land [shared_preferences] Add
shared preferences devtool (flutter/packages#8519)
2025-01-28 [email protected]
[vector_graphics] Fix memory leaks and activate leak testing
[prod-leak-fix] (flutter/packages#8373)

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 p: vector_graphics
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants