Fix a couple more issues with canceling the recents animation w/ screenshots

- There are a couple scenarios that were exposed in further testing of
  cancelling the recents animation with screenshots:
1) ensure that we force-cancel the recents animation (ie. continue
   cancel when deferred) if the process dies, the failsafe occurs
   or starting a new animation.  Previous the failsafe was not
   continuing since it was already canceled
2) Add a failsafe when deferring cancelling. This is a catch-all for
   cases where launcher fails to return promptly, the system won't
   be stuck in a pending state waiting for the cleanup
3) Always finish the animation when requested by the runner even if
   there is a deferred cancel. Launcher was assuming that this was
   the case, but we were actually skipping the finish (which also
   causes the controller on the launcher side to be cleared) which
   prevents the cleanupScreenshot() from happening.

Bug: 192564669
Test: atest RecentsAnimationControllerTest

Change-Id: I8952a0c404bb17056c03f2bc8e78f51fc5bd0a1e
2 files changed