In diagnosing issues with the Android Q transition I discovered an unfortunate logic failure in the way that the layers compute the ineritability of the group opacity.
Layers can each set a default value for whether they can inherit opacity to true (it is false by default). Some layers may manually override this default in their Preroll.
The ContainerLayer::Preroll will accumulate the values of these inherit values and report the answer back to the Preroll method of that container. The logic is simple, but if a set of children cannot inherit the opacity but the container of them can, the answer for that container is "no". The logic needs to take into account layers that can always inherit regardless of whether their children can and make sure that a "yes" answer is propagated up.
This may relate to any of the following issues and PRs: