Check preferred display for matching existing activity

Fix two conditions:
- If the reused activity is in the top focused stack, it is unable
  to reparent to preferred display because top task is the same as
  reused task.
- If the reused activity is in preferred display, it is unnecessary
  to get launch stack that may produce a dangling stack.

Also make TestActivityDisplay support real multiple display.
Originally it gets display from DisplayManager which restricts
to use default display only.

Bug: b/115277654
Test: atest FrameworksServicesTests:ActivityStarterTests# \
      testDeliverIntentToTopActivityOfNonTopDisplay
Test: atest FrameworksServicesTests:ActivityStarterTests# \
      testReparentTopFocusedActivityToSecondaryDisplay

Change-Id: Id24c235a8a4ffab2917d46fc287413f9bf28c58d
9 files changed