1910 Commits

Author SHA1 Message Date
Gray Mackall
dab310ecb8 Manual revert of #53001 (flutter/engine#53075)
Revert label failed due to conflicts

`FlutterFragmentTest.java` was the only file that had merge issues, everything else is the output of `git revert 802e5d2cd3c9e73f336e3fe43487b64a5fdf98d8`

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-05-28 23:00:20 +00:00
Justin McCandless
6dfec16435 FlutterFragment predictive back (flutter/engine#52302)
Android add-to-app apps now support predictive back when going between Activities or back to the home screen. Predictive back route transitions within the Flutter part of the app are not yet supported.
2024-05-28 12:52:05 -07:00
Gray Mackall
802e5d2cd3 Upgrade all[most] androidx dependencies to latest (flutter/engine#53001)
Upgrades every `androidx` dependency in the `src/third_party/android_embedding_dependencies` bundle to the latest version, except the `lifecycle` group*. Tested running a couple of apps as well because when updating these dependencies in the past I've been able to build the engine but then flutter run fail when trying to run an app.

Fixes https://github.com/flutter/flutter/issues/129307, also unblocks a feature that will eventually be needed for Scribe.

[*]`2.8.0` is the latest there, but I ran into an issue with dexing when I tried to upgrade, due to b/336164417, an AGP bug that had its fix backported to all >`8.0.0` versions, but we still support less than that so we will have to wait on that upgrade.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-05-28 16:58:59 +00:00
John McCutchan
c397bc6dc8 Fix another instance of platform view breakage on Android 14 (flutter/engine#52980)
When you background an activity via the back-gesture the onTrimMemory callback is not invoked but the buggy Android behaviour still occurs.

Workaround this by faking an onTrimMemory callback in the `Activity#onStop` callback.

Fixes #148662
Related #146499

Tested manually on a Pixel 7 Pro running Android 14.
2024-05-22 17:21:06 +00:00
Matan Lurey
1bfe32e757 Issue anERROR instead of an INFO for a non-working API. (flutter/engine#52892)
Work towards https://github.com/flutter/flutter/issues/139702.

I think we should also `@Deprecate`/cleanup the API surface in
`FlutterView`, but that needs a bit more a discussion.

/cc @johnmccutchan
2024-05-17 08:40:45 -07:00
auto-submit[bot]
ea811b97ba Reverts "Manual roll of Clang from 725656bdd885 to 145176dc0c93 (#52823)" (flutter/engine#52890)
Reverts: flutter/engine#52823
Initiated by: zanderso
Reason for reverting: Engine crashes on framework CI following this roll https://ci.chromium.org/ui/p/flutter/builders/prod/Linux_android%20flutter_gallery__transition_perf_with_semantics/12126/overview
Original PR Author: jason-simmons

Reviewed By: {zanderso}

This change reverts the following previous change:
See https://github.com/flutter/flutter/issues/143178
2024-05-16 22:01:38 +00:00
Jason Simmons
31d7cb2870 Manual roll of Clang from 725656bdd885 to 145176dc0c93 (flutter/engine#52823)
See https://github.com/flutter/flutter/issues/143178
2024-05-16 17:16:21 +00:00
Gray Mackall
b6bb39ad2d Fix non-vd android platform view input event offsets (flutter/engine#52532)
Fixes https://github.com/flutter/flutter/issues/146570, which tracks a regression from https://github.com/flutter/engine/pull/49268 regarding platform view inputs in some specific cases.

This PR translates the input event location to be the same as the location we calculated before https://github.com/flutter/engine/pull/49268, returning to the previous behavior, while maintaining the input event's verified status (I checked this manually with the `InputManager`).

Tested manually with the reproduction in the linked issue.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-05-14 23:07:53 +00:00
Chinmay Garde
f3934883b0 Delete Settings::msaa_samples. (flutter/engine#52780)
Fixes https://github.com/flutter/flutter/issues/148257
2024-05-13 23:51:11 +00:00
Jonah Williams
5a028e336d [Impeller] eagerly bootstrap content context. (flutter/engine#52590)
![image](https://github.com/flutter/engine/assets/8975114/5238d169-a68b-4905-848b-3ee7a7972de8)

Work around for https://github.com/flutter/flutter/issues/143540 by running shader bootstrap as early as possible. I was looking at this code for unrelated reasons (include removal) and realized it would be a trivial change.

If we're using the KHR swapchain instead of the AHB swapchain, in theory the pixel format could change but since we hash the pixel format the only bad thing would be the wasted work.
2024-05-07 03:05:18 +00:00
Jason Simmons
c1e5a9c1a3 Migrate third_party/android_tools to flutter/third_party (flutter/engine#52582)
Continuation of https://github.com/flutter/engine/pull/52034
2024-05-06 20:54:06 +00:00
Chinmay Garde
6115e5ac3a [Impeller] Wire up hardware buffer backed swapchains on Android. (flutter/engine#52087)
This wires up Android Hardware Buffer backed swapchains on platform that support
it (Android >= 29) with a KHR swapchain fallback (which can be removed later to
save on some binary size if needed).

Some salient features of these swapchains and their differences with the KHR
variant:

* All swapchain images are guaranteed to R8G8B8A8. This could potentially allow
  for earlier creation of the context and the PSO libraries.
* All swapchain allocations are lazy. This should greatly reduce the time it
  takes to create and resize a swapchain. However, swapchain image acquisition
  may take longer for the first few frame where there is no pre-pooled image
  available. Resizes should be similarly faster since the swapchain images for
  the intermediate sizes are never created.
* Swapchain transients allocations (the attachments for the root render target)
  are also lazily allocated.
* Swapchain images are pool and reused. The size of the pool is user specified
  (currently 2). If an image in the pool ages past a user supplied value
  (currently 1 second), it is collected as well. Applications that don't render
  frames for a long period of time should see less memory use because of
  swapchain image allocations.
* The present mode of AHB swapchains behave similar to KHR swapchains but with
  VK_PRESENT_MODE_MAILBOX_KHR. In cases where there is no application managed
  frame pipelining, this might cause images to never be presented if a newer
  image is available. This wasted work can only be avoided by application
  provided pipelining.
* There are no client side waits during image presentation. Instead, a new type
  of fence is wired up that exports its state as a sync file descriptor. The
  fence signal operation is enqueued on the client side and the buffer is set on
  the surface control. The presentation engine then performs the wait.
* On Qualcomm devices, Chromium seems to be setting vendor specified flags for
  opting the hardware buffers into using UBWC. AFAICT, this is similar to AFBC
  (and NOT AFRC) on ARM Mali. This has not been wired up since I don't have a
  Qualcomm device at the moment and cant verify bandwidth use using GPU
  counters. I would also like to verify that UBWC is safe to use to images that
  can be used as input attachments.
2024-05-01 19:54:13 +00:00
John McCutchan
845c75ce6c Workaround HardwareRenderer breakage in Android 14 (flutter/engine#52370)
- Destroy ImageReaders on memory trim.
- Unset the VirtualDisplay's surface on memory trim.
- On resume, recreate ImageReaders.
- On resume, do a dumb little dance and then set the VirtualDisplay's surface

Fixes: https://github.com/flutter/flutter/issues/146499
Fixes: https://github.com/flutter/flutter/issues/144219

Internal bug: b/335646931
Android Fix: https://googleplex-android-review.git.corp.google.com/c/platform/frameworks/base/+/27015418

Android 15 will include the fix. Unclear if Android 14 will be patched.
2024-04-30 05:09:05 +00:00
Jonah Williams
45d5af365f [Impeller] Vulkan validation off by default. (flutter/engine#52397)
Fixes https://github.com/flutter/flutter/issues/142659

can be turned on via --enable-vulkan-validation cmd line flag.
2024-04-25 21:04:04 +00:00
Gray Mackall
49b9556e68 Replace LinkedLists that are used as a queue in android FlutterRenderer with ArrayDeques (flutter/engine#51494)
Inspired by https://github.com/flutter/engine/pull/50767.

[As their documentation notes](https://docs.oracle.com/javase/8/docs/api/java/util/ArrayDeque.html), `ArrayDeque`s are generally faster than LinkedList when used as a queue.

Fixes https://github.com/flutter/flutter/issues/143721

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-04-17 18:43:57 +00:00
Jonah Williams
0951e43921 [scenarios] test disabling surface clear. (flutter/engine#52128)
I suspect that the change to clear the surface is the result of the
scenario app instability. just a guess: the screenshots looks like we're
missing the platform view. maybe the clearing of the surface is causing
an extra frame to be pushed. That frame is getting picked up in the
golden due to a race condition that is hard to hit locally


Testing disabling of this functionality in the golden test. If this pass
a real fix involves some sort of hook into the rendering to verify it
has fully completed before screenshotting.
2024-04-15 10:25:20 -07:00
Jason Simmons
6674f823cf Clear the surface to transparent black when creating a PlatformViewWrapper (flutter/engine#52047)
Without this, an opaque black surface may briefly flash onscreen when the platform view is shown (see internal issue b/332379081)

This matches the behavior used before to the introduction of PlatformViewRenderTarget in b3945f7706

That commit moved the clearing of the surface into SurfaceTexturePlatformViewRenderTarget.  But that caused surface clearing to happen in scenarios where there was no PlatformViewWrapper, resulting in the issue seen in https://github.com/flutter/flutter/issues/141068

Later the surface clearing was removed from SurfaceTexturePlatformViewRenderTarget, causing the flashing black screen.
2024-04-11 22:05:33 +00:00
Jonah Williams
53c05184b1 [Android] post image task to main handler. (flutter/engine#52025)
Fixes https://github.com/flutter/flutter/issues/146465
2024-04-10 19:43:23 +00:00
auto-submit[bot]
c0bd2a3ce0 Reverts "Delete engine v1 android embedding (#51229)" (flutter/engine#51996)
Reverts: flutter/engine#51229
Initiated by: gmackall
Reason for reverting: blocking engine->framework roll (I missed some framework code referencing the v1 embedding).
Original PR Author: gmackall

Reviewed By: {matanlurey, reidbaker}

This change reverts the following previous change:
Fixes https://github.com/flutter/flutter/issues/143531

Also fixes a random typo I found

~TODO to test this~ (no more todo):
-~test the framework against this as well, probably with a dummy PR changing the engine commit to my branch if this is possible~ not possible, made a best effort removal of framework code in https://github.com/flutter/flutter/pull/144726.
-~figure out if the old embedding is used in g3 at all~ removed all uses
-~figure out exactly what the ShimPluginRegistry/ShimRegistrar are doing, and if fully deleting them was right~ (see https://github.com/flutter/engine/pull/51229#issuecomment-1981757743)

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-04-09 19:13:47 +00:00
Gray Mackall
797e1ad902 Delete engine v1 android embedding (flutter/engine#51229)
Fixes https://github.com/flutter/flutter/issues/143531

Also fixes a random typo I found

TODO to test this:
-test the framework against this as well, probably with a dummy PR changing the engine commit to my branch if this is possible
-figure out if the old embedding is used in g3 at all
-~figure out exactly what the ShimPluginRegistry/ShimRegistrar are doing, and if fully deleting them was right~ (see https://github.com/flutter/engine/pull/51229#issuecomment-1981757743)

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-04-09 18:03:17 +00:00
Zachary Anderson
5f5f524f33 Run local_engine.json builds in prod (flutter/engine#51931)
Finishes part 2 of https://github.com/flutter/flutter/issues/145263.

This required fixing a python script to use the version of Java obtained
through the DEPS file rather than one assumed to exist in the
environment.
2024-04-08 13:01:42 -07:00
utzcoz
04f240de45 Bump Robolectric to 4.12.1 (flutter/engine#51800)
See https://github.com/robolectric/robolectric/releases/tag/robolectric-4.12 and https://github.com/robolectric/robolectric/releases/tag/robolectric-4.12.1 .

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-04-04 20:07:53 +00:00
Jason Simmons
296d677a7c Add an engine switch that controls whether the platform isolate API is available. (flutter/engine#51784)
Platform isolates are currently supported only on Android and iOS.

See https://github.com/flutter/flutter/issues/136314
2024-04-02 22:47:04 +00:00
Jason Simmons
e6b41a1754 Use the stripped Vulkan validation library in Android engine builds by default (flutter/engine#51628)
The unstripped build will be used if GN is configured with the --no-stripped flag
2024-04-01 17:48:50 +00:00
John McCutchan
e5289fdce1 Reland https://github.com/flutter/engine/pull/51391 (flutter/engine#51764) 2024-03-29 01:45:16 +00:00
Tong Mu
e582a0c54e Make EmbedderExternalViewEmbedder present to the correct view (flutter/engine#51719)
This PR connects the view ID provided by the rasterizer to `EmbedderExternalViewEmbedder`'s presenting call (see `embedder_external_view_embedder.cc`).

This PR also contains a refactor (which actually takes the majority of LOC) that moves the specification of view ID from `PrepareFlutterView` to `SubmitFlutterView`.  The `flutter_view_id` parameter in `PrepareFlutterView` was added in https://github.com/flutter/engine/pull/46169. It turns out that we don't need the view ID throughout the preparation phase, so we can delay the specification to submission, which makes it feel cleaner.

### Tests

Existing tests are changed to verify that `SubmitFlutterView` receive the correct view ID.

The feature that `EmbedderExternalViewEmbedder` sends the view ID to the presenting API is not tested for now, because `EmbedderExternalViewEmbedder` is typically tested in `embedder_unittests`, but it requires the embedder API `AddView`. It will be tested in later changes to `EmbedderExternalViewEmbedder`.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-03-28 18:04:48 +00:00
maRci002
79c240e9b5 Platform channel for predictive back in route transitions on android (flutter/engine#49093)
Support for Android's predictive back feature on internal Flutter routes. Reports predictive back gestures to the framework (where supported by the system).
2024-03-27 16:45:47 -07:00
Zachary Anderson
dcd7089bab Revert "Disable cleaning up ImageReaders in memory pressure callback" (flutter/engine#51665)
Reverts flutter/engine#51391

Reason for revert: b/330184547 - I believe there is a good chance that the investigation on that issue was not really adequate to justify this revert, but this change can be easily relanded if reverting this was the wrong choice.
2024-03-25 23:00:00 +00:00
Rulong Chen(陈汝龙)
a697f6e769 [Android] Fix the issue of blank or frozen pages in shared engine scenarios (flutter/engine#50947)
Consider this scenario: In an add-to-app context, where multiple Flutter activities share the same engine, a situation occurs. When navigating from FlutterActivity1 to FlutterActivity2, the Flutter view associated with FlutterActivity1 is detached from the engine. Then, the Flutter view of FlutterActivity2 is attached. Upon navigating back to FlutterActivity1, its Flutter view is re-attached to the shared engine.

The expected behavior is: When a Flutter view detaches from the shared engine, the associated surface should be released. When the Flutter view re-attaches, a new surface should be created.

After #47358, no new surface is created when the Flutter view is attached again. This results in the Flutter view having no underlying surface, which causes the page to appear blank or freeze without responding.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-03-22 03:38:35 +00:00
Gray Mackall
ee36c0eae0 Upgrade to gradle 8.3 (flutter/engine#51422)
Fixes https://github.com/flutter/flutter/issues/145165

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-03-20 17:26:35 +00:00
Gray Mackall
2e5a69f82c Add even more logging for UnsatisfiedLinkError (flutter/engine#51554)
follow up to https://github.com/flutter/engine/pull/51534#discussion_r1532301441

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-03-20 16:37:09 +00:00
Gray Mackall
156c44315f Add more logging for UnsatisfiedLinkError (flutter/engine#51534)
Add additional logging for this error, because there are still no local reproduction cases.

related to https://github.com/flutter/flutter/issues/144291

follow up to https://github.com/flutter/engine/pull/50247

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-03-20 15:34:05 +00:00
Chinmay Garde
dcd175ecb5 Add missing license blocks. (flutter/engine#51496)
These are files that the license script ignores.
2024-03-18 20:47:23 -07:00
Chinmay Garde
695a720ded Re-land "[Impeller] A toolkit for managed handles to Android NDK vended objects." (flutter/engine#51460)
This reverts commit 037aa6b4caa6a3a726e67e519324b2c0a1ec274a.

The original cause of the revert was a flake introduced because the unit-test could request a frame from the Choreographer if it ran long enough. The availability checks in the choreographer were inaccurate after we intentionally backed out of using the Callback32 variant on 32 bit platforms.

The new tests didn't catch it because of an unrelated issue. In the first version of the patch for review, the proc table was only supposed to run on API levels 29 and above. When @dnfield requested we also get rid of the NDK helpers, the choreographer and additional utilities were added. But the API level gate in the new test harness wasn't removed. This made the tests be skipped. That gate has been removed entirely now. The error that cause the revert because of flakiness will now be a reliable failure.
2024-03-16 00:15:07 +00:00
auto-submit[bot]
037aa6b4ca Reverts "[Impeller] A toolkit for managed handles to Android NDK vended objects. (#51334)" (flutter/engine#51457)
Reverts: flutter/engine#51334
Initiated by: matanlurey
Reason for reverting: Broke engine post-submit, see https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8753367119442265873/+/u/test:_Android_Unit_Tests__API_28_/stdout.
Original PR Author: chinmaygarde

Reviewed By: {dnfield}

This change reverts the following previous change:
Only available on Android device API levels >= 29. Proc table is setup has versioning checks. All handles are type safe. Collection of handles takes into account cleanup tasks (like reparenting surface controls). The proc table contains code duplicated in ndk_helpers and I will remove that in favor of this in a subsequent patch.

Part of https://github.com/flutter/engine/pull/51213 being chopped up.
2024-03-15 21:35:37 +00:00
Chinmay Garde
38ec9b7328 [Impeller] A toolkit for managed handles to Android NDK vended objects. (flutter/engine#51334)
Only available on Android device API levels >= 29. Proc table is setup has versioning checks. All handles are type safe. Collection of handles takes into account cleanup tasks (like reparenting surface controls). The proc table contains code duplicated in ndk_helpers and I will remove that in favor of this in a subsequent patch.

Part of https://github.com/flutter/engine/pull/51213 being chopped up.
2024-03-15 20:45:15 +00:00
John McCutchan
2520e4615c Disable cleaning up ImageReaders in memory pressure callback (flutter/engine#51391)
We originally added this cleanup code to work around a Samsung-specific
Android 14 bug where after resuming an application any ImageReaders are
busted. According to the Android team what Samsung is doing is a
violation of the "spec".

The fix ended up breaking VirtualDisplay platform views after a
suspend/resume because the surface we pass to the VirtualDisplay is no
longer valid after the resume and we have no way of fixing that.

This PR removes the Samsung-specific hacky fix, restoring the behaviour
of VirtualDisplay backed platform views.

We have an internal bug with Samsung to address the root cause.
2024-03-13 15:40:11 -07:00
Jonah Williams
0cdb8526d2 [Impeller] fix heap selection process for YUV textures. (flutter/engine#51262)
This does not fix the emulator weirdness!

Today we automatically select the first memory type index requested by an AHB. The device in question may lack that memory type index, so we can then fail to import the AHB. Additionally, if we do fail we need to ensure that we don't attempt to display the texture.
2024-03-13 18:18:48 +00:00
utzcoz
30ce58dc55 Bump Robolectric to 4.11.1 (flutter/engine#51310)
Bump Robolectric to the latest stable 4.11.1.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-03-11 07:47:21 +00:00
Zachary Anderson
0b18c484ac Explicitly list Android embedding dependency jars in GN (flutter/engine#51303)
Part of https://github.com/flutter/flutter/issues/144430.

From `gn help inputs`: "It may be tempting to write a script that
enumerates all files in a directory
  as inputs. Don't do this!"
2024-03-09 12:02:46 -08:00
Chinmay Garde
dfb7d84ab8 [Impeller] Use the AHB prefix for utils that work with Android Hardware Buffers. (flutter/engine#51298)
Also doesn't compile the TU on non-Android platforms.

Part of https://github.com/flutter/engine/pull/51213 being chopped up.

No change in functionality. Just renames and moves stuff around.
2024-03-09 00:52:25 +00:00
Dan Field
a4c787e072 Use io.flutter.Build.API_LEVELS rather than android.os.Build.VERSION_CODES (flutter/engine#51171)
Updates the linting script to ban the use of `VERSION_CODES`.

We currently have a mish-mash of using the integers, using `VERSION_CODES`, and even how we import the version codes. This makes it more confusing when doing things like #51070 - I think it is clearer to see `22` than `LOLLIPOP_MR1`.

I'd like to get LGTM (or at least no opinion) from all the requested reviewers here.
2024-03-08 19:04:20 +00:00
Chinmay Garde
db4a60e675 [Impeller] Implement YUV texture import and sampling for video player frames. (flutter/engine#50730)
This patch rounds out support for importing Android Hardware Buffers as Vulkan
images and sampling from them.

Not all Android Hardware Buffers are in formats that Vulkan (let alone Impeller)
understands. Some YUV textures have formats with no equivalent `vk::Format` enum
and need extra information on how to sample from them.

This patch adds support for correctly importing and sampling from such formats.

There are severe restrictions on how sampling from such external formats works.
For one, it isn’t possible to assign a combined image sampler in the render
pass. The pipeline itself needs to be rebuilt to reference a specially created
immutable sampler. This immutable sampler is a combination of the usual
information present in an Impeller SamplerDescriptor as well as a custom
“conversion” object obtained while importing the Android Hardware Buffer.

There is no way to predict what conversion object will be necessary ahead of
time as this will depend on the source of the Android Hardware Buffers and is
likely different for different video feeds, camera sources, and other Android
Hardware Buffer texture sources.

To handle this uncertainty, a new pipeline variant with a JIT determined
immutable sampler will be hashed and cached before being used in a render pass.
The number of pipeline variants created just-in-time will depend on the number
of sampler variants used in the render pass to sample from wrapped Image. For
instance, specifying a sampler with a different address mode will likely result
in a new pipeline variant being created.

In most cases however, there will just be one or two additional pipeline
variants per application. Impellers sampler diversity is very low with most
samplers being the usual NN samplers. It may be possible to preload even this
pipeline by trying known conversions. As said previously, there can only be a
handful of these conversions.

More restrictions on sampling from such images includes being limited to
`VK_FILTER_LINEAR` without additional format and extension wrangling and
performance penalties.

Fixes https://github.com/flutter/flutter/issues/142082.
2024-03-05 12:42:51 -08:00
Gray Mackall
879a9147d9 [Re-land] Remove WindowManager reflection in SingleViewPresentation.java (flutter/engine#50890)
relands https://github.com/flutter/engine/pull/49996

Context b/326363243

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-03-04 23:49:38 +00:00
Dan Field
19296c0ffd Guard against API 22 (flutter/engine#51167)
This was introduced in #51070 - my grepping for `LOLLIPOP` was too aggressive, and apparently the linter didn't catch this. I think it's just a bug in the linter.

Fixes b/327717572, because Google internal tests caught this.
2024-03-04 18:40:19 +00:00
Gray Mackall
dde1849f04 Add instructions for getting code coverage in Android Studio (flutter/engine#51105)
small readme change, because for whatever reason we need to apply the comment from this hero https://github.com/robolectric/robolectric/issues/3023#issuecomment-1326870713 to make code coverage work 

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-03-01 00:02:29 +00:00
Dan Field
2e9e6107eb Reapply "Bump everything to Android 21" (#51056) (flutter/engine#51070)
This reverts commit 98485b3f82fec45a6a0ac932c3c20285a9a14e02.

Reverted in https://github.com/flutter/engine/pull/51056 because it
caused failures in the framework. No changes, but framework test has
been updated to use an actual robolectric implementation to avoid those
failures.

This should not land until
https://github.com/flutter/flutter/pull/144348 has landed in the
framework.

@gaaclarke @johnmccutchan fyi
2024-02-29 09:00:01 -08:00
Jonah Williams
65f3a2348b [Impeller] switch fallback default from ImpellerVulkan to SkiaOpenGLES (flutter/engine#51071)
Unblocks shipping Impeller on Android before GLES is ready.
2024-02-29 01:47:19 +00:00
Matan Lurey
bc4d5caa20 Test the SurfaceTextureSurfaceProducer-branch in the Android scenario_app (flutter/engine#51061)
This PR does the following:
- Relands https://github.com/flutter/engine/pull/50993.
- Fixes a bug in `SurfaceTextureSurfaceProducer` where it would crash on
release (now tested, yay!)

Closes https://github.com/flutter/flutter/issues/143539.
Closes https://github.com/flutter/flutter/issues/143483.

/cc @gaaclarke @chinmaygarde, this PR should (after landed) test/verify
https://github.com/flutter/engine/pull/50730.
2024-02-28 14:17:21 -08:00
Dan Field
98485b3f82 Revert "Bump everything to Android 21" (flutter/engine#51056)
Reverts flutter/engine#51032

Probably causing some of the failures in https://github.com/flutter/flutter/pull/144326

@johnmccutchan fyi
2024-02-28 19:15:04 +00:00