{"action":"created","comment":{"url":"https://api.github.com/repos/flutter/flutter/pulls/comments/363957855","pull_request_review_id":339516218,"id":363957855,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDM2Mzk1Nzg1NQ==","diff_hunk":"@@ -1366,6 +1366,94 @@ class _AnimatedOpacityState extends ImplicitlyAnimatedWidgetState<AnimatedOpacit\n   }\n }\n \n+/// Animated version of [SliverOpacity] which automatically transitions the\n+/// sliver child's opacity over a given duration whenever the given opacity\n+/// changes.\n+///\n+/// Animating an opacity is relatively expensive because it requires painting\n+/// the sliver child into an intermediate buffer.\n+///\n+/// Here's an illustration of what using this widget looks like, using a [curve]\n+/// of [Curves.fastOutSlowIn].\n+/// {@animation 250 266 https://flutter.github.io/assets-for-api-docs/assets/widgets/animated_opacity.mp4}\n+///\n+/// See also:\n+///\n+///  * [SliverFadeTransition], an explicitly animated version of this widget, where\n+///    an [Animation] is provided by the caller instead of being built in.\n+class SliverAnimatedOpacity extends ImplicitlyAnimatedWidget {\n+  /// Creates a widget that animates its opacity implicitly.\n+  ///\n+  /// The [opacity] argument must not be null and must be between 0.0 and 1.0,\n+  /// inclusive. The [curve] and [duration] arguments must not be null.\n+  const SliverAnimatedOpacity({\n+    Key key,\n+    this.sliver,\n+    @required this.opacity,\n+    Curve curve = Curves.linear,\n+    @required Duration duration,\n+    VoidCallback onEnd,\n+    this.alwaysIncludeSemantics = false,\n+  }) : assert(opacity != null && opacity >= 0.0 && opacity <= 1.0),\n+      super(key: key, curve: curve, duration: duration, onEnd: onEnd);","path":"packages/flutter/lib/src/widgets/implicit_animations.dart","position":33,"original_position":33,"commit_id":"c9135c0809a268b0f38f8db591cd24afba121dc7","original_commit_id":"c9135c0809a268b0f38f8db591cd24afba121dc7","user":{"login":"Piinks","id":16964204,"node_id":"MDQ6VXNlcjE2OTY0MjA0","avatar_url":"https://avatars3.githubusercontent.com/u/16964204?v=4","gravatar_id":"","url":"https://api.github.com/users/Piinks","html_url":"https://github.com/Piinks","followers_url":"https://api.github.com/users/Piinks/followers","following_url":"https://api.github.com/users/Piinks/following{/other_user}","gists_url":"https://api.github.com/users/Piinks/gists{/gist_id}","starred_url":"https://api.github.com/users/Piinks/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Piinks/subscriptions","organizations_url":"https://api.github.com/users/Piinks/orgs","repos_url":"https://api.github.com/users/Piinks/repos","events_url":"https://api.github.com/users/Piinks/events{/privacy}","received_events_url":"https://api.github.com/users/Piinks/received_events","type":"User","site_admin":false},"body":"```suggestion\r\n       super(key: key, curve: curve, duration: duration, onEnd: onEnd);\r\n```","created_at":"2020-01-07T21:24:41Z","updated_at":"2020-01-07T21:25:45Z","html_url":"https://github.com/flutter/flutter/pull/45954#discussion_r363957855","pull_request_url":"https://api.github.com/repos/flutter/flutter/pulls/45954","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/flutter/flutter/pulls/comments/363957855"},"html":{"href":"https://github.com/flutter/flutter/pull/45954#discussion_r363957855"},"pull_request":{"href":"https://api.github.com/repos/flutter/flutter/pulls/45954"}}},"pull_request":{"url":"https://api.github.com/repos/flutter/flutter/pulls/45954","id":348071137,"node_id":"MDExOlB1bGxSZXF1ZXN0MzQ4MDcxMTM3","html_url":"https://github.com/flutter/flutter/pull/45954","diff_url":"https://github.com/flutter/flutter/pull/45954.diff","patch_url":"https://github.com/flutter/flutter/pull/45954.patch","issue_url":"https://api.github.com/repos/flutter/flutter/issues/45954","number":45954,"state":"open","locked":false,"title":"[WIP] SliverAnimatedOpacity","user":{"login":"Piinks","id":16964204,"node_id":"MDQ6VXNlcjE2OTY0MjA0","avatar_url":"https://avatars3.githubusercontent.com/u/16964204?v=4","gravatar_id":"","url":"https://api.github.com/users/Piinks","html_url":"https://github.com/Piinks","followers_url":"https://api.github.com/users/Piinks/followers","following_url":"https://api.github.com/users/Piinks/following{/other_user}","gists_url":"https://api.github.com/users/Piinks/gists{/gist_id}","starred_url":"https://api.github.com/users/Piinks/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Piinks/subscriptions","organizations_url":"https://api.github.com/users/Piinks/orgs","repos_url":"https://api.github.com/users/Piinks/repos","events_url":"https://api.github.com/users/Piinks/events{/privacy}","received_events_url":"https://api.github.com/users/Piinks/received_events","type":"User","site_admin":false},"body":"## Description\r\n\r\nWIP, dependent on #45950 \r\n\r\n## Related Issues\r\n\r\nFixes #46030, as the last piece.\r\n\r\n## Tests\r\n\r\nI added the following tests:\r\n\r\n*Replace this with a list of the tests that you added as part of this PR. A change in behaviour with no test covering it\r\nwill likely get reverted accidentally sooner or later. PRs must include tests for all changed/updated/fixed behaviors. See [Test Coverage].*\r\n\r\n## Checklist\r\n\r\nBefore you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes (`[x]`). This will ensure a smooth and quick review process.\r\n\r\n- [ ] I read the [Contributor Guide] and followed the process outlined there for submitting PRs.\r\n- [ ] I signed the [CLA].\r\n- [ ] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement].\r\n- [ ] I updated/added relevant documentation (doc comments with `///`).\r\n- [ ] All existing and new tests are passing.\r\n- [ ] The analyzer (`flutter analyze --flutter-repo`) does not report any problems on my PR.\r\n- [ ] I am willing to follow-up on review comments in a timely manner.\r\n\r\n## Breaking Change\r\n\r\nDoes your PR require Flutter developers to manually update their apps to accommodate your change?\r\n\r\n- [ ] Yes, this is a breaking change (Please read [Handling breaking changes]). *Replace this with a link to the e-mail where you asked for input on this proposed change.*\r\n- [ ] No, this is *not* a breaking change.\r\n\r\n<!-- Links -->\r\n[issue database]: https://github.com/flutter/flutter/issues\r\n[Contributor Guide]: https://github.com/flutter/flutter/wiki/Tree-hygiene#overview\r\n[Test Coverage]: https://github.com/flutter/flutter/wiki/Test-coverage-for-package%3Aflutter\r\n[Flutter Style Guide]: https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo\r\n[Features we expect every widget to implement]: https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#features-we-expect-every-widget-to-implement\r\n[CLA]: https://cla.developers.google.com/\r\n[Handling breaking changes]: https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes\r\n","created_at":"2019-12-03T01:51:17Z","updated_at":"2020-01-07T21:25:45Z","closed_at":null,"merged_at":null,"merge_commit_sha":"8b865b31b34b0a3ed1ef5e010a35f59d031f8145","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":288132724,"node_id":"MDU6TGFiZWwyODgxMzI3MjQ=","url":"https://api.github.com/repos/flutter/flutter/labels/a:%20animation","name":"a: animation","color":"38d8c8","default":false,"description":"Animation APIs."},{"id":487496476,"node_id":"MDU6TGFiZWw0ODc0OTY0NzY=","url":"https://api.github.com/repos/flutter/flutter/labels/cla:%20yes","name":"cla: yes","color":"ffffff","default":false,"description":"@googlebot is happy with this PR."},{"id":448556278,"node_id":"MDU6TGFiZWw0NDg1NTYyNzg=","url":"https://api.github.com/repos/flutter/flutter/labels/f:%20scrolling","name":"f: scrolling","color":"207de5","default":false,"description":"Viewports, list views, slivers, etc."},{"id":284437560,"node_id":"MDU6TGFiZWwyODQ0Mzc1NjA=","url":"https://api.github.com/repos/flutter/flutter/labels/framework","name":"framework","color":"207de5","default":false,"description":"flutter/packages/flutter repository. See also f: labels."},{"id":283479235,"node_id":"MDU6TGFiZWwyODM0NzkyMzU=","url":"https://api.github.com/repos/flutter/flutter/labels/severe:%20new%20feature","name":"severe: new feature","color":"ffff00","default":false,"description":"Nothing broken; request for a new capability."},{"id":912685748,"node_id":"MDU6TGFiZWw5MTI2ODU3NDg=","url":"https://api.github.com/repos/flutter/flutter/labels/work%20in%20progress;%20do%20not%20review","name":"work in progress; do not review","color":"000000","default":false,"description":"This is a PR that is not going to be checked in in its current state, and does not need review."}],"milestone":null,"commits_url":"https://api.github.com/repos/flutter/flutter/pulls/45954/commits","review_comments_url":"https://api.github.com/repos/flutter/flutter/pulls/45954/comments","review_comment_url":"https://api.github.com/repos/flutter/flutter/pulls/comments{/number}","comments_url":"https://api.github.com/repos/flutter/flutter/issues/45954/comments","statuses_url":"https://api.github.com/repos/flutter/flutter/statuses/c9135c0809a268b0f38f8db591cd24afba121dc7","head":{"label":"Piinks:sliverAnimatedOpacity","ref":"sliverAnimatedOpacity","sha":"c9135c0809a268b0f38f8db591cd24afba121dc7","user":{"login":"Piinks","id":16964204,"node_id":"MDQ6VXNlcjE2OTY0MjA0","avatar_url":"https://avatars3.githubusercontent.com/u/16964204?v=4","gravatar_id":"","url":"https://api.github.com/users/Piinks","html_url":"https://github.com/Piinks","followers_url":"https://api.github.com/users/Piinks/followers","following_url":"https://api.github.com/users/Piinks/following{/other_user}","gists_url":"https://api.github.com/users/Piinks/gists{/gist_id}","starred_url":"https://api.github.com/users/Piinks/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Piinks/subscriptions","organizations_url":"https://api.github.com/users/Piinks/orgs","repos_url":"https://api.github.com/users/Piinks/repos","events_url":"https://api.github.com/users/Piinks/events{/privacy}","received_events_url":"https://api.github.com/users/Piinks/received_events","type":"User","site_admin":false},"repo":{"id":169131199,"node_id":"MDEwOlJlcG9zaXRvcnkxNjkxMzExOTk=","name":"flutter","full_name":"Piinks/flutter","private":false,"owner":{"login":"Piinks","id":16964204,"node_id":"MDQ6VXNlcjE2OTY0MjA0","avatar_url":"https://avatars3.githubusercontent.com/u/16964204?v=4","gravatar_id":"","url":"https://api.github.com/users/Piinks","html_url":"https://github.com/Piinks","followers_url":"https://api.github.com/users/Piinks/followers","following_url":"https://api.github.com/users/Piinks/following{/other_user}","gists_url":"https://api.github.com/users/Piinks/gists{/gist_id}","starred_url":"https://api.github.com/users/Piinks/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Piinks/subscriptions","organizations_url":"https://api.github.com/users/Piinks/orgs","repos_url":"https://api.github.com/users/Piinks/repos","events_url":"https://api.github.com/users/Piinks/events{/privacy}","received_events_url":"https://api.github.com/users/Piinks/received_events","type":"User","site_admin":false},"html_url":"https://github.com/Piinks/flutter","description":"Flutter makes it easy and fast to build beautiful mobile apps.","fork":true,"url":"https://api.github.com/repos/Piinks/flutter","forks_url":"https://api.github.com/repos/Piinks/flutter/forks","keys_url":"https://api.github.com/repos/Piinks/flutter/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Piinks/flutter/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Piinks/flutter/teams","hooks_url":"https://api.github.com/repos/Piinks/flutter/hooks","issue_events_url":"https://api.github.com/repos/Piinks/flutter/issues/events{/number}","events_url":"https://api.github.com/repos/Piinks/flutter/events","assignees_url":"https://api.github.com/repos/Piinks/flutter/assignees{/user}","branches_url":"https://api.github.com/repos/Piinks/flutter/branches{/branch}","tags_url":"https://api.github.com/repos/Piinks/flutter/tags","blobs_url":"https://api.github.com/repos/Piinks/flutter/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Piinks/flutter/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Piinks/flutter/git/refs{/sha}","trees_url":"https://api.github.com/repos/Piinks/flutter/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Piinks/flutter/statuses/{sha}","languages_url":"https://api.github.com/repos/Piinks/flutter/languages","stargazers_url":"https://api.github.com/repos/Piinks/flutter/stargazers","contributors_url":"https://api.github.com/repos/Piinks/flutter/contributors","subscribers_url":"https://api.github.com/repos/Piinks/flutter/subscribers","subscription_url":"https://api.github.com/repos/Piinks/flutter/subscription","commits_url":"https://api.github.com/repos/Piinks/flutter/commits{/sha}","git_commits_url":"https://api.github.com/repos/Piinks/flutter/git/commits{/sha}","comments_url":"https://api.github.com/repos/Piinks/flutter/comments{/number}","issue_comment_url":"https://api.github.com/repos/Piinks/flutter/issues/comments{/number}","contents_url":"https://api.github.com/repos/Piinks/flutter/contents/{+path}","compare_url":"https://api.github.com/repos/Piinks/flutter/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Piinks/flutter/merges","archive_url":"https://api.github.com/repos/Piinks/flutter/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Piinks/flutter/downloads","issues_url":"https://api.github.com/repos/Piinks/flutter/issues{/number}","pulls_url":"https://api.github.com/repos/Piinks/flutter/pulls{/number}","milestones_url":"https://api.github.com/repos/Piinks/flutter/milestones{/number}","notifications_url":"https://api.github.com/repos/Piinks/flutter/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Piinks/flutter/labels{/name}","releases_url":"https://api.github.com/repos/Piinks/flutter/releases{/id}","deployments_url":"https://api.github.com/repos/Piinks/flutter/deployments","created_at":"2019-02-04T18:59:50Z","updated_at":"2019-05-10T22:20:30Z","pushed_at":"2020-01-07T21:23:42Z","git_url":"git://github.com/Piinks/flutter.git","ssh_url":"git@github.com:Piinks/flutter.git","clone_url":"https://github.com/Piinks/flutter.git","svn_url":"https://github.com/Piinks/flutter","homepage":"https://flutter.io","size":86435,"stargazers_count":0,"watchers_count":0,"language":"Dart","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"flutter:master","ref":"master","sha":"134c2ff0769858b7c6ac942c29c5c8277d181821","user":{"login":"flutter","id":14101776,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE0MTAxNzc2","avatar_url":"https://avatars3.githubusercontent.com/u/14101776?v=4","gravatar_id":"","url":"https://api.github.com/users/flutter","html_url":"https://github.com/flutter","followers_url":"https://api.github.com/users/flutter/followers","following_url":"https://api.github.com/users/flutter/following{/other_user}","gists_url":"https://api.github.com/users/flutter/gists{/gist_id}","starred_url":"https://api.github.com/users/flutter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/flutter/subscriptions","organizations_url":"https://api.github.com/users/flutter/orgs","repos_url":"https://api.github.com/users/flutter/repos","events_url":"https://api.github.com/users/flutter/events{/privacy}","received_events_url":"https://api.github.com/users/flutter/received_events","type":"Organization","site_admin":false},"repo":{"id":31792824,"node_id":"MDEwOlJlcG9zaXRvcnkzMTc5MjgyNA==","name":"flutter","full_name":"flutter/flutter","private":false,"owner":{"login":"flutter","id":14101776,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE0MTAxNzc2","avatar_url":"https://avatars3.githubusercontent.com/u/14101776?v=4","gravatar_id":"","url":"https://api.github.com/users/flutter","html_url":"https://github.com/flutter","followers_url":"https://api.github.com/users/flutter/followers","following_url":"https://api.github.com/users/flutter/following{/other_user}","gists_url":"https://api.github.com/users/flutter/gists{/gist_id}","starred_url":"https://api.github.com/users/flutter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/flutter/subscriptions","organizations_url":"https://api.github.com/users/flutter/orgs","repos_url":"https://api.github.com/users/flutter/repos","events_url":"https://api.github.com/users/flutter/events{/privacy}","received_events_url":"https://api.github.com/users/flutter/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/flutter/flutter","description":"Flutter makes it easy and fast to build beautiful mobile apps.","fork":false,"url":"https://api.github.com/repos/flutter/flutter","forks_url":"https://api.github.com/repos/flutter/flutter/forks","keys_url":"https://api.github.com/repos/flutter/flutter/keys{/key_id}","collaborators_url":"https://api.github.com/repos/flutter/flutter/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/flutter/flutter/teams","hooks_url":"https://api.github.com/repos/flutter/flutter/hooks","issue_events_url":"https://api.github.com/repos/flutter/flutter/issues/events{/number}","events_url":"https://api.github.com/repos/flutter/flutter/events","assignees_url":"https://api.github.com/repos/flutter/flutter/assignees{/user}","branches_url":"https://api.github.com/repos/flutter/flutter/branches{/branch}","tags_url":"https://api.github.com/repos/flutter/flutter/tags","blobs_url":"https://api.github.com/repos/flutter/flutter/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/flutter/flutter/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/flutter/flutter/git/refs{/sha}","trees_url":"https://api.github.com/repos/flutter/flutter/git/trees{/sha}","statuses_url":"https://api.github.com/repos/flutter/flutter/statuses/{sha}","languages_url":"https://api.github.com/repos/flutter/flutter/languages","stargazers_url":"https://api.github.com/repos/flutter/flutter/stargazers","contributors_url":"https://api.github.com/repos/flutter/flutter/contributors","subscribers_url":"https://api.github.com/repos/flutter/flutter/subscribers","subscription_url":"https://api.github.com/repos/flutter/flutter/subscription","commits_url":"https://api.github.com/repos/flutter/flutter/commits{/sha}","git_commits_url":"https://api.github.com/repos/flutter/flutter/git/commits{/sha}","comments_url":"https://api.github.com/repos/flutter/flutter/comments{/number}","issue_comment_url":"https://api.github.com/repos/flutter/flutter/issues/comments{/number}","contents_url":"https://api.github.com/repos/flutter/flutter/contents/{+path}","compare_url":"https://api.github.com/repos/flutter/flutter/compare/{base}...{head}","merges_url":"https://api.github.com/repos/flutter/flutter/merges","archive_url":"https://api.github.com/repos/flutter/flutter/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/flutter/flutter/downloads","issues_url":"https://api.github.com/repos/flutter/flutter/issues{/number}","pulls_url":"https://api.github.com/repos/flutter/flutter/pulls{/number}","milestones_url":"https://api.github.com/repos/flutter/flutter/milestones{/number}","notifications_url":"https://api.github.com/repos/flutter/flutter/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/flutter/flutter/labels{/name}","releases_url":"https://api.github.com/repos/flutter/flutter/releases{/id}","deployments_url":"https://api.github.com/repos/flutter/flutter/deployments","created_at":"2015-03-06T22:54:58Z","updated_at":"2020-01-07T21:23:27Z","pushed_at":"2020-01-07T21:23:45Z","git_url":"git://github.com/flutter/flutter.git","ssh_url":"git@github.com:flutter/flutter.git","clone_url":"https://github.com/flutter/flutter.git","svn_url":"https://github.com/flutter/flutter","homepage":"https://flutter.dev","size":86740,"stargazers_count":84239,"watchers_count":84239,"language":"Dart","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":10839,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":8109,"license":{"key":"bsd-3-clause","name":"BSD 3-Clause \"New\" or \"Revised\" License","spdx_id":"BSD-3-Clause","url":"https://api.github.com/licenses/bsd-3-clause","node_id":"MDc6TGljZW5zZTU="},"forks":10839,"open_issues":8109,"watchers":84239,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/flutter/flutter/pulls/45954"},"html":{"href":"https://github.com/flutter/flutter/pull/45954"},"issue":{"href":"https://api.github.com/repos/flutter/flutter/issues/45954"},"comments":{"href":"https://api.github.com/repos/flutter/flutter/issues/45954/comments"},"review_comments":{"href":"https://api.github.com/repos/flutter/flutter/pulls/45954/comments"},"review_comment":{"href":"https://api.github.com/repos/flutter/flutter/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/flutter/flutter/pulls/45954/commits"},"statuses":{"href":"https://api.github.com/repos/flutter/flutter/statuses/c9135c0809a268b0f38f8db591cd24afba121dc7"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"Piinks"}}