{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":99045602,"defaultBranch":"main","name":"packages","ownerLogin":"flutter","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2017-08-01T21:43:32.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/14101776?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1717183529.0","currentOid":""},"activityList":{"items":[{"before":"6872c3b8d42d748282de732e025b21127bf05dcf","after":"11e192a86db3e3a59e532f84ee5e2f012774df9f","ref":"refs/heads/main","pushedAt":"2024-06-01T18:07:17.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"auto-submit[bot]","name":null,"path":"/apps/auto-submit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14101776?s=80&v=4"},"commit":{"message":"Roll Flutter from c85fa6abf4ff to 7eebe2992aba (26 revisions) (#6836)\n\nhttps://github.com/flutter/flutter/compare/c85fa6abf4ff...7eebe2992aba\n\n2024-05-30 engine-flutter-autoroll@skia.org Roll Packages from 31d332900d98 to 910fabb4886b (11 revisions) (flutter/flutter#149321)\n2024-05-30 engine-flutter-autoroll@skia.org Roll Flutter Engine from fb64b9a4e6f2 to 2fedfd3cc6e5 (2 revisions) (flutter/flutter#149320)\n2024-05-30 yinxulolol@gmail.com Fix `Slider` throws an error when `_labelPainter` text is null (flutter/flutter#148462)\n2024-05-30 engine-flutter-autoroll@skia.org Roll Flutter Engine from 5500c1a3969a to fb64b9a4e6f2 (1 revision) (flutter/flutter#149307)\n2024-05-30 tessertaha@gmail.com Enable `explicitChildNodes` for the `AlertDialog` content (flutter/flutter#149130)\n2024-05-30 engine-flutter-autoroll@skia.org Roll Flutter Engine from 0c95e85dfbf4 to 5500c1a3969a (1 revision) (flutter/flutter#149304)\n2024-05-30 engine-flutter-autoroll@skia.org Roll Flutter Engine from 19707e811b60 to 0c95e85dfbf4 (1 revision) (flutter/flutter#149300)\n2024-05-30 engine-flutter-autoroll@skia.org Roll Flutter Engine from 4adf453b6d68 to 19707e811b60 (1 revision) (flutter/flutter#149291)\n2024-05-30 jonahwilliams@google.com disable Impeller on external texture test. (flutter/flutter#149292)\n2024-05-30 engine-flutter-autoroll@skia.org Roll Flutter Engine from 8d5d14a1db95 to 4adf453b6d68 (12 revisions) (flutter/flutter#149290)\n2024-05-30 kevinjchisholm@google.com Update 3.22.1 release notes to include missing fix. (flutter/flutter#148999)\n2024-05-30 engine-flutter-autoroll@skia.org Manual roll Flutter Engine from 60968ee3bde7 to 8d5d14a1db95 (1 revision) (flutter/flutter#149263)\n2024-05-29 98614782+auto-submit[bot]@users.noreply.github.com Reverts \"Prevent LayoutBuilder from rebuilding more than once (#147856)\" (flutter/flutter#149279)\n2024-05-29 danny@tuppeny.com Unskip expression evaluation test (flutter/flutter#149253)\n2024-05-29 yjbanov@google.com temporarily disable SemanticsAction tests to unblock engine change (flutter/flutter#149274)\n2024-05-29 30870216+gaaclarke@users.noreply.github.com Adds benchmark for rrect_blur. (flutter/flutter#149261)\n2024-05-29 31859944+LongCatIsLooong@users.noreply.github.com Prevent LayoutBuilder from rebuilding more than once (flutter/flutter#147856)\n2024-05-29 32538273+ValentinVignal@users.noreply.github.com Add test for inherited_theme.0.dart (flutter/flutter#149120)\n2024-05-29 73608287+ellet0@users.noreply.github.com Update progress_indicator.dart to indicate the adaptive option is for both macOS and iOS (flutter/flutter#145246)\n2024-05-29 linxunfeng@yeah.net _ModalScopeStatus as InheritedModel (flutter/flutter#149022)\n2024-05-29 32538273+ValentinVignal@users.noreply.github.com Add test for radio.toggleable.0.dart (flutter/flutter#149153)\n2024-05-29 31859944+LongCatIsLooong@users.noreply.github.com Add a sentinel value for `TextStyle.height` (flutter/flutter#149049)\n2024-05-29 katelovett@google.com Remove dynamic_layouts from issue template (flutter/flutter#149252)\n2024-05-29 engine-flutter-autoroll@skia.org Roll Flutter Engine from 30aa720d4999 to 60968ee3bde7 (1 revision) (flutter/flutter#149255)\n2024-05-29 engine-flutter-autoroll@skia.org Roll Flutter Engine from b26e1b023cdb to 30aa720d4999 (7 revisions) (flutter/flutter#149249)\n2024-05-29 engine-flutter-autoroll@skia.org Roll Packages from a933c3016f6c to 31d332900d98 (6 revisions) (flutter/flutter#149246)\n\nIf this roll has caused a breakage, revert this CL and stop the roller\nusing the controls here:\nhttps://autoroll.skia.org/r/flutter-packages\nPlease CC camillesimon@google.com,rmistry@google.com,stuartmorgan@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component=1389291&template=1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md","shortMessageHtmlLink":"Roll Flutter from c85fa6abf4ff to 7eebe2992aba (26 revisions) (#6836)"}},{"before":"d8e8e8cee712b4bea345b804c9fc88df229ce154","after":"6872c3b8d42d748282de732e025b21127bf05dcf","ref":"refs/heads/main","pushedAt":"2024-05-31T19:03:36.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"auto-submit[bot]","name":null,"path":"/apps/auto-submit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14101776?s=80&v=4"},"commit":{"message":"[image_picker_ios] Re-adds Swift Package Manager compatibility (#6833)\n\nAdds Swift Package Manager compatibility to `image_picker_ios`.\r\n\r\nThe previous attempt, https://github.com/flutter/packages/pull/6617, was partially reverted due to https://github.com/flutter/flutter/issues/148307. This reland uses the new approach proposed in https://github.com/flutter/flutter/issues/148572: the Swift Package Manager package does not have a `.modulemap`. As a result, the plugin no longer has a `.Test` submodule if using Swift Package Manager.\r\n\r\nFixes https://github.com/flutter/flutter/issues/146919.","shortMessageHtmlLink":"[image_picker_ios] Re-adds Swift Package Manager compatibility (#6833)"}},{"before":"decb46042bc5b000c0de27f2ff1ab4beeaa7b921","after":"d8e8e8cee712b4bea345b804c9fc88df229ce154","ref":"refs/heads/main","pushedAt":"2024-05-31T14:58:36.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"auto-submit[bot]","name":null,"path":"/apps/auto-submit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14101776?s=80&v=4"},"commit":{"message":"[image_picker] Adds comment for the limit parameter (#6678)\n\nFixes https://github.com/flutter/flutter/issues/147773","shortMessageHtmlLink":"[image_picker] Adds comment for the limit parameter (#6678)"}},{"before":"1832344450f9397036ded4cf5f8c204027445499","after":null,"ref":"refs/heads/add_shaders","pushedAt":"2024-05-30T22:30:56.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jonahwilliams","name":"Jonah Williams","path":"/jonahwilliams","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8975114?s=80&v=4"}},{"before":"d10f6d6a6cc74e13e5c6fb699def82aae35c4192","after":null,"ref":"refs/heads/reland_camerax_surface_producer","pushedAt":"2024-05-30T22:30:48.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jonahwilliams","name":"Jonah Williams","path":"/jonahwilliams","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8975114?s=80&v=4"}},{"before":null,"after":"d10f6d6a6cc74e13e5c6fb699def82aae35c4192","ref":"refs/heads/reland_camerax_surface_producer","pushedAt":"2024-05-30T22:29:35.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jonahwilliams","name":"Jonah Williams","path":"/jonahwilliams","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8975114?s=80&v=4"},"commit":{"message":"give versioning a shot.","shortMessageHtmlLink":"give versioning a shot."}},{"before":"7356138139b2a1a600ce1ab63eec40742c64a4df","after":null,"ref":"refs/heads/reland_camerax_surface_producer","pushedAt":"2024-05-30T22:27:17.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jonahwilliams","name":"Jonah Williams","path":"/jonahwilliams","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8975114?s=80&v=4"}},{"before":null,"after":"7356138139b2a1a600ce1ab63eec40742c64a4df","ref":"refs/heads/reland_camerax_surface_producer","pushedAt":"2024-05-30T22:26:30.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jonahwilliams","name":"Jonah Williams","path":"/jonahwilliams","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8975114?s=80&v=4"},"commit":{"message":"update camera package too.","shortMessageHtmlLink":"update camera package too."}},{"before":"a7bede5f1c12bf244f4e4ef95b9fb5fbfda66fc7","after":null,"ref":"refs/heads/revert-6462-migrate-surface-producer-camerax","pushedAt":"2024-05-30T19:42:07.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"auto-submit[bot]","name":null,"path":"/apps/auto-submit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14101776?s=80&v=4"}},{"before":"9ad232763cb030f4da4572bec65180fa9921c4bb","after":"decb46042bc5b000c0de27f2ff1ab4beeaa7b921","ref":"refs/heads/main","pushedAt":"2024-05-30T19:42:06.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"auto-submit[bot]","name":null,"path":"/apps/auto-submit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14101776?s=80&v=4"},"commit":{"message":"Revert \"Migrate CameraX from SurfaceTexture to SurfaceProducer.\" (#6838)\n\nReverts flutter/packages#6462","shortMessageHtmlLink":"Revert \"Migrate CameraX from SurfaceTexture to SurfaceProducer.\" (#6838)"}},{"before":"e774891e423b47a799aa20ac043faaca6bb040f5","after":"a7bede5f1c12bf244f4e4ef95b9fb5fbfda66fc7","ref":"refs/heads/revert-6462-migrate-surface-producer-camerax","pushedAt":"2024-05-30T18:39:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jonahwilliams","name":"Jonah Williams","path":"/jonahwilliams","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8975114?s=80&v=4"},"commit":{"message":"Update pubspec.yaml","shortMessageHtmlLink":"Update pubspec.yaml"}},{"before":"0b250c20b1f8c33d436440cac12e2284bf55cff3","after":"e774891e423b47a799aa20ac043faaca6bb040f5","ref":"refs/heads/revert-6462-migrate-surface-producer-camerax","pushedAt":"2024-05-30T18:39:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jonahwilliams","name":"Jonah Williams","path":"/jonahwilliams","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8975114?s=80&v=4"},"commit":{"message":"Update CHANGELOG.md","shortMessageHtmlLink":"Update CHANGELOG.md"}},{"before":null,"after":"0b250c20b1f8c33d436440cac12e2284bf55cff3","ref":"refs/heads/revert-6462-migrate-surface-producer-camerax","pushedAt":"2024-05-30T18:38:27.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jonahwilliams","name":"Jonah Williams","path":"/jonahwilliams","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8975114?s=80&v=4"},"commit":{"message":"Revert \"Migrate CameraX from SurfaceTexture to SurfaceProducer. (#6462)\"\n\nThis reverts commit 47d5eb2073907b90189255407fd94845abca1ae5.","shortMessageHtmlLink":"Revert \"Migrate CameraX from SurfaceTexture to SurfaceProducer. (#6462)\""}},{"before":"910fabb4886b975f13e0f98f60714c95b81465ed","after":"9ad232763cb030f4da4572bec65180fa9921c4bb","ref":"refs/heads/main","pushedAt":"2024-05-30T16:35:19.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"auto-submit[bot]","name":null,"path":"/apps/auto-submit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14101776?s=80&v=4"},"commit":{"message":"[pigeon] Updates `PigeonInstanceMangerApi` to use the shared api channel code in Dart (#6831)\n\nThis is in response to https://github.com/flutter/packages/pull/6371#discussion_r1605548447","shortMessageHtmlLink":"[pigeon] Updates PigeonInstanceMangerApi to use the shared api chan…"}},{"before":"31116f1ecc8e6894177492c959b1bb5047beed42","after":"f3eb2018f6621b9aa3b9125cd33d846331a6c3b8","ref":"refs/heads/dependabot/gradle/packages/pigeon/platform_tests/test_plugin/android/io.mockk-mockk-1.13.11","pushedAt":"2024-05-29T22:59:13.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"[pigeon]: Bump io.mockk:mockk\n\nBumps [io.mockk:mockk](https://github.com/mockk/mockk) from 1.13.7 to 1.13.11.\n- [Release notes](https://github.com/mockk/mockk/releases)\n- [Commits](https://github.com/mockk/mockk/compare/1.13.7...1.13.11)\n\n---\nupdated-dependencies:\n- dependency-name: io.mockk:mockk\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"[pigeon]: Bump io.mockk:mockk"}},{"before":"a5dd3140f1b076a0ad9297db649687bee7b77010","after":"910fabb4886b975f13e0f98f60714c95b81465ed","ref":"refs/heads/main","pushedAt":"2024-05-29T21:26:24.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"auto-submit[bot]","name":null,"path":"/apps/auto-submit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14101776?s=80&v=4"},"commit":{"message":"Amend package:web tweaks to allow package:web roll (#6793)\n\nhttps://github.com/dart-lang/web/commit/7604578eb538c471d438608673c037121d95dba5 adds a number of APIs in order to get a more consistent API surface. This includes disablePictureInPicture and disableRemotePlayback, which both take in a bool and not a JSBoolean. However, it can't be rolled into google3 as this package will now be broken due to the way extension type methods take a higher precedence over extension methods.\r\n\r\nThis CL aligns those methods with the package:web equivalent so that usages of these methods can be consistent. controlsList is also amended to take in a String so that if it's ever added to the Web IDL, it doesn't conflict with the package:web definition that will be added then.","shortMessageHtmlLink":"Amend package:web tweaks to allow package:web roll (#6793)"}},{"before":"ee2a30df28c0f80534aa07cfe0219dd5977b411f","after":null,"ref":"refs/heads/video-player-surface-producer","pushedAt":"2024-05-29T21:18:08.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"auto-submit[bot]","name":null,"path":"/apps/auto-submit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14101776?s=80&v=4"}},{"before":"28e8afd5d94de1a46870e1a2184bd0f6ae624913","after":"a5dd3140f1b076a0ad9297db649687bee7b77010","ref":"refs/heads/main","pushedAt":"2024-05-29T21:18:07.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"auto-submit[bot]","name":null,"path":"/apps/auto-submit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14101776?s=80&v=4"},"commit":{"message":"Migrate `video_player/android` from `SurfaceTexture`->`SurfaceProducer`. (#6456)\n\n_**WIP**: We do not plan to land this PR until the next stable release (>= April 3rd 2024)_.\r\n\r\nWork towards https://github.com/flutter/flutter/issues/145930.\r\n\r\n## Details\r\n\r\nMigrates uses of `createSurfaceTexture` to `createSurfaceProducer`, which is intended to have no change in behavior, but _does_ change the backend rendering path, so it will require more testing (and we're also open to minor API renames or changes before it becomes stable).\r\n\r\n## Background \r\n\r\nAndroid plugins previously requested a `SurfaceTexture` from the Android embedder, and used that to produce a `Surface` to render external textures on (i.e. `video_player`). This worked because 100% of Flutter applications on Android used OpenGLES (via our Skia backend), and `SurfaceTexture` is actually an (opaque) OpenGLES-texture.\r\n\r\nStarting soon (roughly ~Q3, this is not a guarantee and just an estimate), Flutter on Android will start to use our new Impeller graphics backend, which on newer devices (`>= API_VERSION_28`), will default to the Vulkan, _not_ OpenGLES. In other words, `SurfaceTexture` will cease to work (it is possible, but non-trivial, to map an OpenGLES texture over to Vulkan).\r\n\r\nAfter consultation with the Android team, they helped us understand that vending `SurfaceTexture` (the _consumer-side_ API) was never the right abstraction, and we should have been vending the _producer-side_ API, or `Surface` directly. The new `SurfaceProducer` API is exactly that - it generates a `Surface`, and similar to our platform view strategy, picks the \"right\" _consumer-side_ implementation details _for_ the user/plugin packages.\r\n\r\nThe new `SurfaceProducer` API has 2 possible rendering types (as an implementation detail):\r\n\r\n- `SurfaceTexture`, for older OpenGLES devices, which works exactly as it does today.\r\n- `ImageReader`, for newer OpenGLES _or_ Vulkan devices.\r\n\r\nThese are some subtle nuances in how these two APIs work differently (one example: https://github.com/flutter/flutter/issues/144407), but our theory at this point is we don't expect these changes to be observed by any users, and we have other ideas if necessary. \r\n\r\n> [!NOTE]\r\n> These invariants are [tested on CI in `flutter/engine`](https://github.com/flutter/engine/tree/main/testing/scenario_app/android#ci-configuration).\r\n\r\nPoints of contact: \r\n- @matanlurey or @jonahwilliams (Flutter Engine)\r\n- @johnmccutchan or @reidbaker (Flutter on Android)","shortMessageHtmlLink":"Migrate video_player/android from SurfaceTexture->`SurfaceProduce…"}},{"before":"47d5eb2073907b90189255407fd94845abca1ae5","after":"28e8afd5d94de1a46870e1a2184bd0f6ae624913","ref":"refs/heads/main","pushedAt":"2024-05-29T21:14:52.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"auto-submit[bot]","name":null,"path":"/apps/auto-submit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14101776?s=80&v=4"},"commit":{"message":"[google_maps_flutter] Undeprecate BitmapDescriptor methods (#6832)\n\nUndeprecate BitmapDescriptor.fromAssetImage and BitmapDescriptor.fromBytes\r\n\r\n* Undeprecates `BitmapDescriptor.fromAssetImage`.\r\n* Undeprecates `BitmapDescriptor.fromBytes`.\r\n* Fixes issues with deprecation in version 2.7.0.\r\n\r\nThe new formats won't be supported until https://github.com/flutter/packages/pull/6826 lands.\r\nDeprecation notices can be re-added after the implementation PRs have landed.\r\n\r\nFixes: https://github.com/flutter/flutter/issues/149183","shortMessageHtmlLink":"[google_maps_flutter] Undeprecate BitmapDescriptor methods (#6832)"}},{"before":"591c7fabb49d06a1772b0d19a2f4ee3b832a12ff","after":"328a2bc36d0dc75883a076e4e4644292e8517bc9","ref":"refs/heads/dependabot/gradle/packages/interactive_media_ads/android/org.jetbrains.kotlin-kotlin-gradle-plugin-2.0.0","pushedAt":"2024-05-29T20:40:57.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"[interactive_media_ads]: Bump org.jetbrains.kotlin:kotlin-gradle-plugin\n\nBumps [org.jetbrains.kotlin:kotlin-gradle-plugin](https://github.com/JetBrains/kotlin) from 1.7.10 to 2.0.0.\n- [Release notes](https://github.com/JetBrains/kotlin/releases)\n- [Changelog](https://github.com/JetBrains/kotlin/blob/v2.0.0/ChangeLog.md)\n- [Commits](https://github.com/JetBrains/kotlin/compare/v1.7.10...v2.0.0)\n\n---\nupdated-dependencies:\n- dependency-name: org.jetbrains.kotlin:kotlin-gradle-plugin\n dependency-type: direct:production\n update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"[interactive_media_ads]: Bump org.jetbrains.kotlin:kotlin-gradle-plugin"}},{"before":"a12980e3c6b180be7db04c191a4778e615828d1c","after":"e64ef12e54563bdf10e658054c2fdc25a31d33f0","ref":"refs/heads/dependabot/gradle/packages/file_selector/file_selector_android/android/com.android.tools.build-gradle-8.4.1","pushedAt":"2024-05-29T20:19:16.000Z","pushType":"push","commitsCount":16,"pusher":{"login":"gmackall","name":"Gray Mackall","path":"/gmackall","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34871572?s=80&v=4"},"commit":{"message":"Merge branch 'main' into dependabot/gradle/packages/file_selector/file_selector_android/android/com.android.tools.build-gradle-8.4.1","shortMessageHtmlLink":"Merge branch 'main' into dependabot/gradle/packages/file_selector/fil…"}},{"before":"5e3289cb5513cba83c22bd402ff6fde9d357719f","after":"ee2a30df28c0f80534aa07cfe0219dd5977b411f","ref":"refs/heads/video-player-surface-producer","pushedAt":"2024-05-29T19:27:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jonahwilliams","name":"Jonah Williams","path":"/jonahwilliams","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8975114?s=80&v=4"},"commit":{"message":"Update packages/video_player/video_player_android/CHANGELOG.md\n\nCo-authored-by: Camille Simon <43054281+camsim99@users.noreply.github.com>","shortMessageHtmlLink":"Update packages/video_player/video_player_android/CHANGELOG.md"}},{"before":"f9cf7d46c4ec29295ddb564e46faf9539acf05f0","after":"5e3289cb5513cba83c22bd402ff6fde9d357719f","ref":"refs/heads/video-player-surface-producer","pushedAt":"2024-05-29T19:26:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jonahwilliams","name":"Jonah Williams","path":"/jonahwilliams","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8975114?s=80&v=4"},"commit":{"message":"restore exo state when re-creating.","shortMessageHtmlLink":"restore exo state when re-creating."}},{"before":"52ac81e51d67239d1212caa9388a51d8bd8d04f3","after":null,"ref":"refs/heads/migrate-surface-producer-camerax","pushedAt":"2024-05-29T18:57:07.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"auto-submit[bot]","name":null,"path":"/apps/auto-submit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14101776?s=80&v=4"}},{"before":"058851b665bde9674efe913790000035a2f1da2d","after":"47d5eb2073907b90189255407fd94845abca1ae5","ref":"refs/heads/main","pushedAt":"2024-05-29T18:57:06.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"auto-submit[bot]","name":null,"path":"/apps/auto-submit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14101776?s=80&v=4"},"commit":{"message":"Migrate CameraX from SurfaceTexture to SurfaceProducer. (#6462)\n\n_**WIP**: We do not plan to land this PR until the next stable release (>= April 3rd 2024)_.\r\n\r\nWork towards https://github.com/flutter/flutter/issues/145930.\r\n\r\n## Details\r\n\r\nMigrates uses of `createSurfaceTexture` to `createSurfaceProducer`, which is intended to have no change in behavior, but _does_ change the backend rendering path, so it will require more testing (and we're also open to minor API renames or changes before it becomes stable).\r\n\r\n## Background \r\n\r\nAndroid plugins previously requested a `SurfaceTexture` from the Android embedder, and used that to produce a `Surface` to render external textures on (i.e. `video_player`). This worked because 100% of Flutter applications on Android used OpenGLES (via our Skia backend), and `SurfaceTexture` is actually an (opaque) OpenGLES-texture.\r\n\r\nStarting soon (roughly ~Q3, this is not a guarantee and just an estimate), Flutter on Android will start to use our new Impeller graphics backend, which on newer devices (`>= API_VERSION_28`), will default to the Vulkan, _not_ OpenGLES. In other words, `SurfaceTexture` will cease to work (it is possible, but non-trivial, to map an OpenGLES texture over to Vulkan).\r\n\r\nAfter consultation with the Android team, they helped us understand that vending `SurfaceTexture` (the _consumer-side_ API) was never the right abstraction, and we should have been vending the _producer-side_ API, or `Surface` directly. The new `SurfaceProducer` API is exactly that - it generates a `Surface`, and similar to our platform view strategy, picks the \"right\" _consumer-side_ implementation details _for_ the user/plugin packages.\r\n\r\nThe new `SurfaceProducer` API has 2 possible rendering types (as an implementation detail):\r\n\r\n- `SurfaceTexture`, for older OpenGLES devices, which works exactly as it does today.\r\n- `ImageReader`, for newer OpenGLES _or_ Vulkan devices.\r\n\r\nThese are some subtle nuances in how these two APIs work differently (one example: https://github.com/flutter/flutter/issues/144407), but our theory at this point is we don't expect these changes to be observed by any users, and we have other ideas if necessary. \r\n\r\n> [!NOTE]\r\n> These invariants are [tested on CI in `flutter/engine`](https://github.com/flutter/engine/tree/main/testing/scenario_app/android#ci-configuration).\r\n\r\nPoints of contact: \r\n- @matanlurey or @jonahwilliams (Flutter Engine)\r\n- @johnmccutchan or @reidbaker (Flutter on Android)","shortMessageHtmlLink":"Migrate CameraX from SurfaceTexture to SurfaceProducer. (#6462)"}},{"before":"357494dbbe6affe02118a2e23dd1fe6f49440e14","after":null,"ref":"refs/heads/migrate-surface-producer-camera-android","pushedAt":"2024-05-29T18:53:11.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"auto-submit[bot]","name":null,"path":"/apps/auto-submit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14101776?s=80&v=4"}},{"before":"e35f29177495131f0f598fc7ae1ffd74d89edf15","after":"058851b665bde9674efe913790000035a2f1da2d","ref":"refs/heads/main","pushedAt":"2024-05-29T18:53:10.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"auto-submit[bot]","name":null,"path":"/apps/auto-submit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14101776?s=80&v=4"},"commit":{"message":"Migrate `camera/android` from `SurfaceTexture`->`SurfaceProducer`. (#6461)\n\n_**WIP**: We do not plan to land this PR until the next stable release (>= April 3rd 2024)_.\r\n\r\nWork towards https://github.com/flutter/flutter/issues/145930.\r\n\r\n## Details\r\n\r\nMigrates uses of `createSurfaceTexture` to `createSurfaceProducer`, which is intended to have no change in behavior, but _does_ change the backend rendering path, so it will require more testing (and we're also open to minor API renames or changes before it becomes stable).\r\n\r\n## Background \r\n\r\nAndroid plugins previously requested a `SurfaceTexture` from the Android embedder, and used that to produce a `Surface` to render external textures on (i.e. `video_player`). This worked because 100% of Flutter applications on Android used OpenGLES (via our Skia backend), and `SurfaceTexture` is actually an (opaque) OpenGLES-texture.\r\n\r\nStarting soon (roughly ~Q3, this is not a guarantee and just an estimate), Flutter on Android will start to use our new Impeller graphics backend, which on newer devices (`>= API_VERSION_28`), will default to the Vulkan, _not_ OpenGLES. In other words, `SurfaceTexture` will cease to work (it is possible, but non-trivial, to map an OpenGLES texture over to Vulkan).\r\n\r\nAfter consultation with the Android team, they helped us understand that vending `SurfaceTexture` (the _consumer-side_ API) was never the right abstraction, and we should have been vending the _producer-side_ API, or `Surface` directly. The new `SurfaceProducer` API is exactly that - it generates a `Surface`, and similar to our platform view strategy, picks the \"right\" _consumer-side_ implementation details _for_ the user/plugin packages.\r\n\r\nThe new `SurfaceProducer` API has 2 possible rendering types (as an implementation detail):\r\n\r\n- `SurfaceTexture`, for older OpenGLES devices, which works exactly as it does today.\r\n- `ImageReader`, for newer OpenGLES _or_ Vulkan devices.\r\n\r\nThese are some subtle nuances in how these two APIs work differently (one example: https://github.com/flutter/flutter/issues/144407), but our theory at this point is we don't expect these changes to be observed by any users, and we have other ideas if necessary. \r\n\r\n> [!NOTE]\r\n> These invariants are [tested on CI in `flutter/engine`](https://github.com/flutter/engine/tree/main/testing/scenario_app/android#ci-configuration).\r\n\r\nPoints of contact: \r\n- @matanlurey or @jonahwilliams (Flutter Engine)\r\n- @johnmccutchan or @reidbaker (Flutter on Android)","shortMessageHtmlLink":"Migrate camera/android from SurfaceTexture->SurfaceProducer. (#…"}},{"before":"5f4f0e599aa0aef4750ba320cd7cda61864eddc0","after":"52ac81e51d67239d1212caa9388a51d8bd8d04f3","ref":"refs/heads/migrate-surface-producer-camerax","pushedAt":"2024-05-29T18:29:54.000Z","pushType":"push","commitsCount":23,"pusher":{"login":"jonahwilliams","name":"Jonah Williams","path":"/jonahwilliams","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8975114?s=80&v=4"},"commit":{"message":"Merge branch 'main' of github.com:flutter/packages into migrate-surface-producer-camerax","shortMessageHtmlLink":"Merge branch 'main' of github.com:flutter/packages into migrate-surfa…"}},{"before":"14833b18ca5baee93376fae98ecebcea75da33af","after":"5f4f0e599aa0aef4750ba320cd7cda61864eddc0","ref":"refs/heads/migrate-surface-producer-camerax","pushedAt":"2024-05-29T18:28:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jonahwilliams","name":"Jonah Williams","path":"/jonahwilliams","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8975114?s=80&v=4"},"commit":{"message":"Update packages/camera/camera_android_camerax/CHANGELOG.md\n\nCo-authored-by: Camille Simon <43054281+camsim99@users.noreply.github.com>","shortMessageHtmlLink":"Update packages/camera/camera_android_camerax/CHANGELOG.md"}},{"before":"4416cb5f7b685095cdade7867903d6c0df4c3201","after":"357494dbbe6affe02118a2e23dd1fe6f49440e14","ref":"refs/heads/migrate-surface-producer-camera-android","pushedAt":"2024-05-29T18:27:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jonahwilliams","name":"Jonah Williams","path":"/jonahwilliams","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8975114?s=80&v=4"},"commit":{"message":"Update packages/camera/camera_android/CHANGELOG.md\n\nCo-authored-by: Camille Simon <43054281+camsim99@users.noreply.github.com>","shortMessageHtmlLink":"Update packages/camera/camera_android/CHANGELOG.md"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEWdac3gA","startCursor":null,"endCursor":null}},"title":"Activity · flutter/packages"}