Fix flicker when starting an activity from Recents.

In the task switcher, a user can choose a task by tapping or pulling
down the task image.

In the later case, the task image already occupies the full screen, so
the launcher suppresses an app transition animation by calling
ActivityOptions#makeCustomAnimation. However, due to task animation
lockdown, this API has no effect when the task opens or closes (the API
still works as expected when an activity starts within a same task).

The new API ActivityOptions#makeCustomTaskAnimation lets us to customize
an animation to run when the task opens or closes.

Test: atest ActivityTransitionTests
Bug: 170251468
Change-Id: I445e64fdbf6be2d4fdf1936844bcd27dbdf8d69a
9 files changed