From b6b7bfabde99f25e7762ca8960603dbcb29a5e02 Mon Sep 17 00:00:00 2001 From: engine-flutter-autoroll Date: Mon, 7 Oct 2024 13:21:08 -0400 Subject: [PATCH] Manual roll Flutter from fa402c8057a1 to ead6b0d17c89 (14 revisions) (#7806) Manual roll requested by stuartmorgan@google.com https://github.com/flutter/flutter/compare/fa402c8057a1...ead6b0d17c89 2024-09-27 kustermann@google.com Remove left-over traces of "link-dry-run" - which isn't used anywhere in flutter (flutter/flutter#155820) 2024-09-27 engine-flutter-autoroll@skia.org Roll Flutter Engine from e57b440ec4ee to 7c603de2dca7 (5 revisions) (flutter/flutter#155811) 2024-09-27 bruno.leroux@gmail.com Fix DropdownMenu rendered behind AppBar (flutter/flutter#155539) 2024-09-27 engine-flutter-autoroll@skia.org Roll Flutter Engine from 53517772a5b0 to e57b440ec4ee (8 revisions) (flutter/flutter#155799) 2024-09-27 ditman@gmail.com Throw StateError when implicitView is null on `wrapWithDefaultView`. (flutter/flutter#155734) 2024-09-27 34871572+gmackall@users.noreply.github.com Roll packages manually (flutter/flutter#155786) 2024-09-27 rmolivares@renzo-olivares.dev fix: SelectableText should handle focus changes (flutter/flutter#155771) 2024-09-27 34871572+gmackall@users.noreply.github.com Use flutter from in same repo (not path) in `generate_gradle_lockfiles.dart` (again) (flutter/flutter#155794) 2024-09-26 34871572+gmackall@users.noreply.github.com Use flutter from in same repo (not path) in `generate_gradle_lockfiles.dart` (flutter/flutter#155790) 2024-09-26 rmolivares@renzo-olivares.dev `RenderParagraph` should invalidate its `_SelectableFragment`s cached rects on window size updates (flutter/flutter#155719) 2024-09-26 zeqinjie@qq.com Fix broken text field with set hint and min and max lines(#153183) (flutter/flutter#153235) 2024-09-26 engine-flutter-autoroll@skia.org Roll Flutter Engine from 9e6133e8d906 to 53517772a5b0 (1 revision) (flutter/flutter#155772) 2024-09-26 ian@hixie.ch Fix line-wrapping in `flutter create` error message. (flutter/flutter#150325) 2024-09-26 christopherfujino@gmail.com remove fujino from CODEOWNERS (flutter/flutter#155369) 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 camillesimon@google.com,stuartmorgan@google.com 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://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 --- .ci/flutter_master.version | 2 +- .../plugins/camerax/PreviewHostApiImpl.java | 3 +++ .../io/flutter/plugins/camerax/PreviewTest.java | 10 +++++++++- .../plugins/videoplayer/VideoPlayerTest.java | 14 +++++++++++--- 4 files changed, 24 insertions(+), 5 deletions(-) diff --git a/.ci/flutter_master.version b/.ci/flutter_master.version index 594a2c4458a5..df575840c1e3 100644 --- a/.ci/flutter_master.version +++ b/.ci/flutter_master.version @@ -1 +1 @@ -fa402c8057a11481b834c478cb8374df9bbc0819 +ead6b0d17c893109b9424aaf116a74295472cc73 diff --git a/packages/camera/camera_android_camerax/android/src/main/java/io/flutter/plugins/camerax/PreviewHostApiImpl.java b/packages/camera/camera_android_camerax/android/src/main/java/io/flutter/plugins/camerax/PreviewHostApiImpl.java index 81d47936bcaf..e9b7b0d89ac6 100644 --- a/packages/camera/camera_android_camerax/android/src/main/java/io/flutter/plugins/camerax/PreviewHostApiImpl.java +++ b/packages/camera/camera_android_camerax/android/src/main/java/io/flutter/plugins/camerax/PreviewHostApiImpl.java @@ -83,6 +83,9 @@ public void onSurfaceRequested(@NonNull SurfaceRequest request) { surfaceProducer.setCallback( new TextureRegistry.SurfaceProducer.Callback() { @Override + // TODO(matanlurey): Replace with onSurfaceAvailable once available on stable; + // https://github.com/flutter/flutter/issues/155131. + @SuppressWarnings({"deprecation", "removal"}) public void onSurfaceCreated() { // Do nothing. The Preview.SurfaceProvider will handle this whenever a new // Surface is needed. diff --git a/packages/camera/camera_android_camerax/android/src/test/java/io/flutter/plugins/camerax/PreviewTest.java b/packages/camera/camera_android_camerax/android/src/test/java/io/flutter/plugins/camerax/PreviewTest.java index 0b475b7a1dc6..83ccb1edd9c5 100644 --- a/packages/camera/camera_android_camerax/android/src/test/java/io/flutter/plugins/camerax/PreviewTest.java +++ b/packages/camera/camera_android_camerax/android/src/test/java/io/flutter/plugins/camerax/PreviewTest.java @@ -134,7 +134,7 @@ public void createSurfaceProducer_setsExpectedSurfaceProducerCallback() { reset(mockSurfaceRequest); // Verify callback's onSurfaceCreated does not interact with the SurfaceRequest. - callback.onSurfaceCreated(); + simulateSurfaceCreation(callback); verifyNoMoreInteractions(mockSurfaceRequest); } @@ -262,4 +262,12 @@ public void setTargetRotation_makesCallToSetTargetRotation() { verify(mockPreview).setTargetRotation(targetRotation); } + + // TODO(matanlurey): Replace with inline calls to onSurfaceAvailable once + // available on stable; see https://github.com/flutter/flutter/issues/155131. + // This seperate method only exists to scope the suppression. + @SuppressWarnings({"deprecation", "removal"}) + void simulateSurfaceCreation(TextureRegistry.SurfaceProducer.Callback producerLifecycle) { + producerLifecycle.onSurfaceCreated(); + } } diff --git a/packages/video_player/video_player_android/android/src/test/java/io/flutter/plugins/videoplayer/VideoPlayerTest.java b/packages/video_player/video_player_android/android/src/test/java/io/flutter/plugins/videoplayer/VideoPlayerTest.java index c968848cbbe3..b5dde43b9e0c 100644 --- a/packages/video_player/video_player_android/android/src/test/java/io/flutter/plugins/videoplayer/VideoPlayerTest.java +++ b/packages/video_player/video_player_android/android/src/test/java/io/flutter/plugins/videoplayer/VideoPlayerTest.java @@ -189,7 +189,7 @@ public void onSurfaceProducerDestroyedAndRecreatedReleasesAndThenRecreatesAndRes // Create a new mock exo player so that we get a new instance. mockExoPlayer = mock(ExoPlayer.class); - producerLifecycle.onSurfaceCreated(); + simulateSurfaceCreation(producerLifecycle); verify(mockExoPlayer).seekTo(10L); verify(mockExoPlayer).setRepeatMode(Player.REPEAT_MODE_ALL); @@ -231,7 +231,7 @@ public void onSurfaceCreatedDoesNotSendInitializeEventAgain() { // Trigger destroyed/created. producerLifecycle.onSurfaceDestroyed(); - producerLifecycle.onSurfaceCreated(); + simulateSurfaceCreation(producerLifecycle); // Initial listener, and the new one from the resume. verify(mockExoPlayer, times(2)).addListener(listenerCaptor.capture()); @@ -257,7 +257,7 @@ public void onSurfaceCreatedWithoutDestroyDoesNotRecreate() { TextureRegistry.SurfaceProducer.Callback producerLifecycle = callbackCaptor.getValue(); // Calling onSurfaceCreated does not do anything, since the surface was never destroyed. - producerLifecycle.onSurfaceCreated(); + simulateSurfaceCreation(producerLifecycle); verifyNoMoreInteractions(mockProducer); videoPlayer.dispose(); @@ -271,4 +271,12 @@ public void disposeReleasesTextureAndPlayer() { verify(mockProducer).release(); verify(mockExoPlayer).release(); } + + // TODO(matanlurey): Replace with inline calls to onSurfaceAvailable once + // available on stable; see https://github.com/flutter/flutter/issues/155131. + // This seperate method only exists to scope the suppression. + @SuppressWarnings({"deprecation", "removal"}) + void simulateSurfaceCreation(TextureRegistry.SurfaceProducer.Callback producerLifecycle) { + producerLifecycle.onSurfaceCreated(); + } }