Change back navigation impl to rely on observer

This cl changes how back navigation manipulates the repository by
removing the dependency on FreeformTaskListener.

1. Move all back navigation observing logic to
  DesktopTasksTransitionObserver. Now we solely rely on the observer to
decide whether a back navigation has happened.
2. For back navigation cases where an app is closing, verify that it's
   not marked as closing task(which only happens on app header exit) and
 that the last back gesture was triggered on this task.
3. Check whether for these closing cases, we should animate the
   transition in shell or animate it in launcher. This is done by
identfying whether we are removing wallpaper or not in the transition.

Fix: 379783329
Test: atest DesktopTasksControllerTest | atest
DesktopTasksTransitionObserverTest | atest FreeformTasksListenerTest
Flag: com.android.window.flags.enable_desktop_windowing_back_navigation

Change-Id: I916cd6b777a455d9ffc733d0108e3f88ad7a1b9e
6 files changed