History log of /frameworks/base/services/tests/servicestests/src/com/android/server/wm/TaskStackContainersTests.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
97d2820cf89eab4ca7e86b4f9022b3f45d8e461f 28-Feb-2018 chaviw <chaviw@google.com> Synchronize all WindowTestsBase and WindowTestUtils methods.

Several WindowManager tests access WindowManager code that assume the WM
lock is already held. This can cause crashes in native code and cause
unexpected behavior. Added synchronize blocks around all helper methods
to avoid adding synchronized blocks in all WM tests methods.

This does not guarantee that all WM tests are synchronized, but handles
a good bulk of them for now.

The largest number of failures were from ZOrderingTests since that tests
creates a lot of windows, making synchronicity issues more likely. Ran
that test class multiple times to ensure I was unable to get the
failure.

Test: ZOrderingTests
Bug: 73966377
Change-Id: I96f586e7ea91223589caef885c87ecded555ab13
Fixes: 72976082
/frameworks/base/services/tests/servicestests/src/com/android/server/wm/TaskStackContainersTests.java
44f036fd5a5ea3253f8df979898f720edbc1af82 29-Sep-2017 Wale Ogunwale <ogunwale@google.com> Removed remaining use of static stack ids.

Replace by windowingMode and activityType.

Test: Existing tests pass.
Test: go/wm-smoke
Bug: 64146578
Change-Id: I2ff026de3ead1a3e7136df17c68ed37d7aae5495
/frameworks/base/services/tests/servicestests/src/com/android/server/wm/TaskStackContainersTests.java
68278568de7479f9fef31517d799c2c254dd1d37 24-Sep-2017 Wale Ogunwale <ogunwale@google.com> HOME_STACK_ID, ASSISTANT_STACK_ID, and RECENTS_STACK_ID be gone!

Replaced usages with ACTIVITY_TYPE_HOME, ACTIVITY_TYPE_ASSISTANT
and ACTIVITY_TYPE_RECENTS.

Test: go/wm-smoke
Test: Existing tests pass.
Bug: 64146578
Change-Id: I62c55c99df86dba8c9ba9d9986049de1b1083234
/frameworks/base/services/tests/servicestests/src/com/android/server/wm/TaskStackContainersTests.java
926aade03600c7fe62ccb115c6f55889cb892457 29-Aug-2017 Wale Ogunwale <ogunwale@google.com> Introducing split-screen windowing modes.

WINDOWING_MODE_SPLIT_SCREEN_PRIMARY is what used to be the docked
windowing mode and is used to indicated the primary container
dirving the split-screen windowing mode.
WINDOWING_MODE_SPLIT_SCREEN_SECONDARY is the windowing mode of any
container to the side/adjacent to the primary split-screen container.
For example, any container that was in fullscreen mode and that should
now be adjacent to the primary split-screen container will.

Test: go/wm-smoke
Test: WM Unit tests via TreeHugger
Change-Id: Idc8560073c613c708cb40ba8449641a6be11d9f1
/frameworks/base/services/tests/servicestests/src/com/android/server/wm/TaskStackContainersTests.java
034a8ecb99c1d742a9dd75e2b7a75efd051c35b3 03-Sep-2017 Wale Ogunwale <ogunwale@google.com> Introducing ConfigurationContainerListener

Class provides a structured way for window containers on the window
manager side to listener for configuration changes happening in the
window controllers on the activity manager side so things stay in
sync and they don't miss anything.

Test: bit FrameworksServicesTests:com.android.server.wm.WindowContainerControllerTests
Test: bit FrameworksServicesTests:com.android.server.wm.ConfigurationContainerTests
Test: go/wm-smoke
Change-Id: I6a6bc98a35bda89b3aaa7a29a9814905f0c3a9ee
/frameworks/base/services/tests/servicestests/src/com/android/server/wm/TaskStackContainersTests.java
f75962a2f0972e1de27b7a6442425546777f9e41 23-Aug-2017 Wale Ogunwale <ogunwale@google.com> Generate stack override config in AM vs. WM

First step in allowing activity manager to drive the override
configuration of stacks at creation time vs. using what window manager
returns. Also moves us in the direction where callers outside of AM/WM
will eventually be able to drive the window configuration.

Test: bit FrameworksServicesTests:com.android.server.wm.WindowConfigurationTests
Test: adb shell am instrument -w -e package com.android.server.wm com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner
Test: go/wm-smoke
Change-Id: I50bc9e0634779142c173e501d16e7aa1b71f28ce
/frameworks/base/services/tests/servicestests/src/com/android/server/wm/TaskStackContainersTests.java
687b42733412a1bf482801f9544b6f8911c6a213 27-Jul-2017 Wale Ogunwale <ogunwale@google.com> Introducing windowing mode in WindowConfiguration.

Currently Stacks (specifically their ids) are used to determine
windowing mode for activities. This isn't flexible when it comes
to changing/mixing various windowing modes at different levels
of the window hierarchy. E.g. how do you have the non-default
display support freeform or split-screen or how do you
interleave freeform windows with fullscreen windows.
To help with this problem we are introducing windowing mode
in WindowConfiguration that can be used to set the windowing
mode for any WindowContainer in the hierarchy.

Currently all displays are set to fullscreen windowing mode and
stacks windowing modes are set based on their id.

Test: bit FrameworksServicesTests:com.android.server.wm.WindowConfigurationTests
Test: adb shell am instrument -w -e package com.android.server.wm com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner
Test: go/wm-smoke
Change-Id: Iccdc3212cda651998d6ad76ce5261d089bff897a
/frameworks/base/services/tests/servicestests/src/com/android/server/wm/TaskStackContainersTests.java
11cc516a925ac7fc814dbb0a79a7f0abfbfe1ce1 26-Apr-2017 Wale Ogunwale <ogunwale@google.com> Reduce use of static variables in window manager unit tests

This was causing test cross-contamination since different test might
expect different states from the variables.

Bug: 37682538
Test: tons of it!
Change-Id: Ie8a1ea400695b6346d7dfa3369b5c44bb467a33d
/frameworks/base/services/tests/servicestests/src/com/android/server/wm/TaskStackContainersTests.java
af691c0be7bbfea63e880dd717c51a38a0bc874a 20-Mar-2017 Bryce Lee <brycelee@google.com> Clean up activity/stack associations.

The stack currently holds a reference to resuming and pausing
activities. These are usually cleaned up when the activity ends or
the task is reparented. However, it is possible for an activity to
lose its reference to its task in other areas (such as
ActivityStarter), which can lead to the stack not being updated
correctly.

This changelist adds a method to the ActivityStack to disassociate
the stack from an ActivityRecord. In addition to places where this is
called when an activity ends, this method is invoked on the children
of a task when the task is reparented. The task member variable of
ActivityRecord is also now surrounded by a setter/getter, with the
setter always invoking the dissociation logic on a previous stack.

Test: bit FrameworksServicesTests:com.android.server.am.ActivityRecordTests
Change-Id: Iffeccdb6f011958896271673946acfed28856f53
Fixes: 36387417
/frameworks/base/services/tests/servicestests/src/com/android/server/wm/TaskStackContainersTests.java
1666e317dc1a17e9435246ec6c8209dbb6ee3696 16-Dec-2016 Wale Ogunwale <ogunwale@google.com> Added StackWindowContainerController

For linking ActivityStack in AMS to TaskStack window container in WMS.

Change-Id: I8b9eaef49e62854d59b22d27f80f5935a5a4d7fc
Bug: 30060889
Test: bit FrameworksServicesTests:com.android.server.wm.StackWindowContainerControllerTests
Test: bit FrameworksServicesTests:com.android.server.wm.TaskWindowContainerControllerTests
Test: Existing test pass and manual testing.
/frameworks/base/services/tests/servicestests/src/com/android/server/wm/TaskStackContainersTests.java
7cd7c2d333c1b4f77a5b1a9f08cbaaebb242700c 18-Jan-2017 Andrii Kulian <akulian@google.com> Notify task about display change when moved to new stack

Bug: 34176283
Test: android.server.cts.ActivityManagerDisplayTests
Test: #testMoveTaskBetweenDisplays
Test: bit FrameworksServicesTests:com.android.server.wm.TaskWindowContainerControllerTests
Test: bit FrameworksServicesTests:com.android.server.wm.TaskStackContainersTests
Change-Id: If085246926790089e014a94093d788805e812489
/frameworks/base/services/tests/servicestests/src/com/android/server/wm/TaskStackContainersTests.java
cd5dcb8b3d7d8b6759232a02c0a5c8ae21e22e33 04-Jan-2017 Andrii Kulian <akulian@google.com> Always place stacks below pinned stack

When positioning or adding stacks we must make sure
that no stack is above pinned stack.

Bug: 34049027
Test: runtest frameworks-services -c com.android.server.wm.TaskStackContainersTests
Change-Id: Ic92a4e07e9cde42deed53912ac1419fde4ab2f08
/frameworks/base/services/tests/servicestests/src/com/android/server/wm/TaskStackContainersTests.java
d276563b38907647ce70940e1e90603826df6ab4 13-Dec-2016 Andrii Kulian <akulian@google.com> Add positionChildAt method to WindowContainer

Added method to change the position of a child among siblings.
It accepts int value, which can either specify a target position
or POSITION_TOP/POSITION_BOTTOM.
When child is moved to top or bottom, there is an option to also
perform same action on parents. This will effectively move the
entire branch of the hierarchy tree to top/bottom.

Test: bit FrameworksServicesTests:com.android.server.wm.WindowContainerTests
Test: #testPositionChildAt
Test: #testPositionChildAtIncludeParents
Test: #testPositionChildAtInvalid
Test: bit FrameworksServicesTests:com.android.server.wm.TaskStackContainersTests
Test: bit FrameworksServicesTests:com.android.server.wm.TaskStackTests
Change-Id: I6ade787487055f1c9a305afea64270c243196614
/frameworks/base/services/tests/servicestests/src/com/android/server/wm/TaskStackContainersTests.java