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
Loading
Please register or sign in to comment