Skip to content

engine layers that can always inherit opacity may report that they cannot depending on their children #101957

@flar

Description

@flar

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:

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Important issues not at the top of the work listengineflutter/engine related. See also e: labels.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions