Fix back animation doesn't work when triggered a second time

Check the participated containers to see if any container in the back
target when handling the defered animation, and ensure the targets
which are promoted from the participated containers could be visible.

This also added the timeout mechanism when back gesture released, that
could prevent it stuck for waiting the `startAnimation` called.

Bug: 271599041
Test: atest BackAnimationControllerTest
Change-Id: I473d218f61646932b9e2421096191c215d9a9705
3 files changed