Commit Graph

15 Commits

Author SHA1 Message Date
Linus Tufvesson
db1f2ec052 Make ActivityViews backing virtual display private
Bug: 150310377
Test: atest CtsWindowManagerDeviceTestCases:ActivityViewTest
Test: Used bubbles test app to verify that it's still happy when using
private VDs

Change-Id: I02c6840b1f908a5177c217494de0110f5ce78f7e
2020-04-16 15:50:48 +01:00
Winson Chung
1df39e2cf6 Send task description changed though task org taskInfoChanged
- This removes the need for a separate task stack listener and aligns
  with other task info change properties
- Also implement equals/hashCode for the token so we can use it in
  containers

Bug: 148977538
Test: atest TaskOrganizerTests

Signed-off-by: Winson Chung <winsonc@google.com>
Change-Id: Ie035e6389fdbdc374c1a4b4a684758efa0cb7a9e
2020-04-11 00:01:05 -07:00
Winson Chung
cb437ade00 Merge changes I7d2ca2a2,I9f1fc593 into rvc-dev
* changes:
  Fix a couple issues with previous CL (keeping tasks hidden)
  Keep task hidden until task appeared
2020-04-10 03:03:21 +00:00
Winson Chung
1b5d055f2e Keep task hidden until task appeared
- If the task is previously not visible or has no visible children at
  the point when we start controlling it in the task org, hide the task
  until we send taskAppeared to ensure that the task org can reparent
  and show it otherwise we could see a flash of the task.

  This happens mainly from two cases:
  - when starting a new task with a given win mode, we show it and wait
    for first draw before notifying the task org
  - when transitioning into pip from swipe up, the activity is hidden
    and when it requests to enter pip is made visible again

  Since we are hiding the task w/ the pending transaction, we also need
  to defer all task org callbacks until that's applied to ensure proper
  lifecycle of the calls.
- Also skip app transitions for task org tasks for now

This reverts commit d2fb07e4f6.

Bug: 152809695
Bug: 152134460
Test: Open a bubble, ensure that we don't see the task in fullscreen
      first.  Enter pip, ensure that we don't see flash of the task
      before SysUI can fade it in.
Test: atest PipAnimationControllerTest
Test: atest TaskOrganizerTests
Test: atest SplitScreenTests
Change-Id: I9f1fc5931df1d69a7086c02b633347162cda94bf
2020-04-09 15:55:03 -07:00
Yuncheol Heo
8ecd6a377b Merge "Move multi window mode to the caller." into rvc-dev 2020-04-09 16:06:01 +00:00
Yuncheol Heo
5d62e75560 Move multi window mode to the caller.
Bug: 153576019
Test: Checks if Maps will move into the ActivityView when Home is pressed (in AAOS)
Change-Id: I040bf008a2f41130d6f118f359c9cefffb5acfc4
2020-04-08 16:43:52 -07:00
Andrii Kulian
44b3c569f4 6/n Manage multiple task display area in the policy
Delegate task display area creation and container management to the
display area policy implementation. This should allow creating and
handling device-specific task display area arrangements.

Bug: 152116619
Test: WM CTS and unit tests
Change-Id: Ic1182d064e7d8387f701f04fb267e2bb6d4da0c5
2020-04-07 21:30:26 -07:00
Winson Chung
d2fb07e4f6 Revert "Keep task hidden until task appeared"
This reverts commit cbd8793a44.

Reason for revert: b/153273664
Bug: 153273664

Change-Id: Ic3a0778e896afd5e3fdbc234a5b3521257222dcd
2020-04-06 18:17:21 +00:00
Winson Chung
cbd8793a44 Keep task hidden until task appeared
- If the task is previously not visible or has no visible children at
  the point when we start controlling it in the task org, hide the task
  until we send taskAppeared to ensure that the task org can reparent
  and show it otherwise we could see a flash of the task.

  This happens mainly from two cases:
  - when starting a new task with a given win mode, we show it and wait
    for first draw before notifying the task org
  - when transitioning into pip from swipe up, the activity is hidden
    and when it requests to enter pip is made visible again

  Since we are hiding the task w/ the pending transaction, we also need
  to defer all task org callbacks until that's applied to ensure proper
  lifecycle of the calls.
- Also skip app transitions for task org tasks for now

Bug: 152809695
Bug: 152134460
Test: Open a bubble, ensure that we don't see the task in fullscreen
      first.  Enter pip, ensure that we don't see flash of the task
      before SysUI can fade it in.
Test: atest PipAnimationControllerTest
Test: atest TaskOrganizerTests
Test: atest SplitScreenTests

Change-Id: If51e98cd007faef35e99acd31b27b20eebbea010
2020-04-03 19:59:05 -07:00
Winson Chung
06200523a1 Move always-on-top to the callers
- This was accidentally included in ag/10788780, where only the bubbles
  AV should be using an always-on-top MW task

Bug: 152808872
Test: Start auto in emulator and ensure the task is not always on top

Change-Id: If0de9d5856b15dbca7661bf97a88b10fd63ec9db
2020-04-01 09:55:39 -07:00
Wale Ogunwale
adf116ec95 Add TestApi interfaces for window organizers
Enables testing the API surfaces from CTS.

Bug: 149338177
Test: they pass!
Change-Id: I7e1f2852585a10c20d299bd87e9a87f828d06d6a
2020-04-01 13:25:23 +00:00
Winson Chung
a1f869d10e Add task organizer based task embedder
- Split TaskEmbedder into its current VirtualDisplay implementation
  and an implementation that uses task org to create and manage
  the task
- Use the task org embedder implementation in separate bubble task view
- Skip task org tasks from triggering task resizing
- Add task org callback for back press on task root if requested

Bug: 148977538
Test: atest CtsWindowManagerDeviceTestCases:ActivityViewTest
Test: atest WmTests:TaskOrganizerTests
Change-Id: Id422bb2547197c617f914ed7cf5085e02a1c3fb5
2020-03-30 23:29:08 +00:00
Wale Ogunwale
dec3408b50 Introduce DisplayArea organizer
Similar to task organizer this allows for the organization of display
areas.

Test: they pass!
Bug: 147406652
Bug: 152113464
Bug: 152117221
Change-Id: Id0dbec20f0aedc5162f4ff7be81b2dafb0c8f3c9
2020-03-24 06:30:13 -07:00
Wale Ogunwale
568f9f41c6 Introduce WindowOrganizer
WM currently only allows the organization of tasks, however we will soon
be allowing the organization of DisplayAreas. To help with the code
structure, we are introducing WindowOrganizer interface which will
contain common APIs for all types of windows organizers (e.g.
applyTransaction) and also be the interfaece for getting the controller
for other organizers.

Test: they pass!
Bug: 147406652
Bug: 152113464
Bug: 152117221

Change-Id: Id2797b288ce92430206c25345d60e7b0e3be98c8
2020-03-23 08:59:18 -07:00
Wale Ogunwale
5794658be0 Move some window related files to android.window package
Window management files on the client side have normally been dumped in
either android.view or android.app package. This CL starts to
centralized them in android.window package so there is better
separation.

Test: they pass
Bug: 147406652
Bug: 152113464
Bug: 152117221
Change-Id: I4d64bd256e9b3581af0ccf9396f7dd2454132719
2020-03-22 09:47:43 -07:00