Skip to content

Run scenario_app's Android tests with API version < 29 #143351

@matanlurey

Description

@matanlurey

At API Version 29+, we use ImageReader instead of SurfaceTexture.

However, many devices will continue to use the older SurfaceTexture-based APIs for a long time, and we've historically broken external texture support here.

My suggestion is to:

  1. Add a Skia variant with API version 28 to ci/builders/linux_android_emulator.json
  2. Do the same thing for Impeller + OpenGLES
  3. Migrate the "plugins" in scenario_app/android/* (example) to the SurfaceProducer pattern

With these steps, we'll be running:

  1. Skia + OpenGLES (Implicit) + ImageReader
  2. Skia + OpenGLES (Implicit) + SurfaceTexture
  3. Impeller + OpenGLES (Explicit) + ImageReader
  4. Impeller + OpenGLES (Explicit) + SurfaceTexture
  5. Impeller + Vulkan (Explicit) + ImageReader

/cc @johnmccutchan @gaaclarke @jonahwilliams for FYI, I'll be sending a PR but chime in if you disagree.

Metadata

Metadata

Assignees

Labels

P1High-priority issues at the top of the work listc: proposalA detailed proposal for a change to Flutterc: tech-debtTechnical debt, code quality, testing, etc.team-engineOwned by Engine team

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions