Move last focused stack from global to per-display

- Update last focused stack when moving stack to front or back by
  comparing updated focused stack with ideal previous one.
- Print event log am_focused_stack by display.
- Remove setFocusStackUnchecked because it is no longer used to set
  current focus.
- Change allResumedActivitiesComplete to per-display for checking
  whether to execute transition (originally it is global but still
  only check for the top focused).
- Remove checking of finish booting (added in commit f3ea23ad9b)
  when moving order of stack. That intended to fix a corner case
  when home is idle but it is not the topmost. Currently the case
  won't happen because now:
    1. The restored empty tasks from recent will be put on bottom.
    2. The checking in activityIdleInternalLocked uses
       isTopDisplayFocusedStack that will not be affected by empty
       (non-focusable or invisible) stacks on top.

Bug: 117198947
Test: atest ActivityDisplayTests

Change-Id: I5dcce337b4b6e33807b7a6729720cebd062356e2
5 files changed