Skip to content
Commit 9bca6b43 authored by lumark's avatar lumark
Browse files

Unify animation methods into new WindowContainer#isAnimating()

In previous design, WindowContainer defined 3 types of checking animating methods:
- isSelfAnimating: check if container its self is animating.
- isAnimating: check if container its self or its parent is animating.
- isSelfOrChildAnimating: check if container its self or its child is animating.

But in ActivityRecord overrides isSelfAnimating to check if container is waiting for
App transition start or container its self animating.
Moreover, in ActivityRecord added isReallyAnimating method but it actually called
WC#isSelfAnimating, which is a bit weird and affect readibility.

As above mentioned, overrides isSelfAnimating will change the original method definition
behavior, like when WindowState calling isAnimating will also check if the parent is
waiting for app transition.

Or, when the container which is upper than ActivityRecord calling isSelfOrChildAnimating,
will Also need to check if child is waiting for app transition.

To disambiguate the method behavior, we unified animation methods into
new WindowContainer#isAnimating method, and defined TRANSITION / PARENTS / CHILDREN
checking scenarios, so the new method mapping will be:
- isSelfAnimating (from ActivityRecord) -> isAnimating(TRANSITION)
- isSelfAnimating (from WindowState) or isReallyAnimating -> WC#isAnimating(0)
- isAnimating -> isAnimating(TRANSITION | PARENTS)
- isSelfOrChildAnimating -> isAnimating(TRANSITION | CHILDREN)

Bug: 142617871
Bug: 131661052
Test: all existing tests passed
Change-Id: I3f8719c7d9f4607d03a6ea672a5fbfdcdfb0d967
parent d6e55406
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment