-
Notifications
You must be signed in to change notification settings - Fork 29.7k
Description
This is prompted by the issue caused due to flutter/engine#51839.
Among other things, Flutter enables different subsystems and features based on the version of Android the application is running on.
For complete test coverage, the naive approach is to obviously test on all Android versions and ideally on a device. This isn’t always feasible. This issue attempts to list the major version breaks. For a reasonable amount of confidence in the test setup, tests must run on each of the following versions.
As an aside, some of the features are optional. I’m not averse to backing them out if the test burden is too high. But that is a separate conversation.
| Version | Features |
|---|---|
| 24 | Choreographer on 64 bit platforms |
| 26 | AHB Acquisition |
| 29 | AHB Creation, Surface Controls/Transactions, Setting AHB contents in Surface Controls (via Transactions), Choreographer on 32 bit platforms too. |
| 31 | AHB IDs for LRU Image Caches |
Missing testing on one of the version breaks risks causing issues like flutter/engine#51839 which was due to a missing test run on API version >= 29 but less than 31.
In fact as I write this, I am unsure if the right version check is used when the AHB is imported as an external texture. If the check for AHB creation is instead used, versions 26-29 will unnecessarily lose AHB external texture support.