Don't end launcher components anim early even if it does nothing

The janky animation that ends on the home screen with an invisible
task on top is caused by the following scenario (for example):
- Quick switch from task A to task B
- After landing on B, but before we get the callback that it was
  successfully launched, switch back to A (or you could go to C)

Now we are animating back to A, but we are still waiting to hear
whether B was successfully launched. If we hear that the launch
was indeed successful, we dutifully clean up after ourselves  by
returning launcher to its default state. Unfortunately, that
clobbers the current animation that is scrolling back to A, and
we end up in the bad state where we are showing the default
launcher state even though we just launched task B and were
about to launch task A.

Normally we avoid cleaning up the state animation if the user
is still controlling it. The reason we weren't doing that here
is because we ended the launcher animation early even though
the window animation was still running. Instead, we should keep
the launcher animation running for the full duration, so that
it prevents a cleanup from occurring in the middle.

Bug: 138620399
Change-Id: I959e62a52638a5b974ef9b406555078c928b91f1
1 file changed