History log of /frameworks/base/services/core/java/com/android/server/wm/ConfigurationContainer.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
20c34565f2cf21468aedc2f32cb951f110b52362 21-Apr-2018 Garfield Tan <xutan@google.com> Use updated override config to notify listeners.

Bug: 77919579
Test: go/wm-smoke
Change-Id: I961aba587b9e193fbb9351aaa42c5633de49a367
/frameworks/base/services/core/java/com/android/server/wm/ConfigurationContainer.java
6c6e9cab42bccb44ebb4b30e7eab7394c0dbb759 21-Mar-2018 Yi Jin <jinyithu@google.com> Remove am/wm.proto which is redundant. The naming convention is defined
in core/proto/README.md

Bug: 72474563
Test: make sure the Android build
Change-Id: I2a90cbb6bb0b0c62fe4a0b81cb5bb3ea36381871
/frameworks/base/services/core/java/com/android/server/wm/ConfigurationContainer.java
d92ae48606fd89f0fffd570db8d3175cd6f82728 22-Jan-2018 Bryce Lee <brycelee@google.com> Do not propagate parent bound changes from task as onResize.

When a stack is resized on the WindowManager side, it does not
itself signal a resize in any children. The children themselves will
receive updated override configurations for this. It is therefore not
necesssary to propagate calls from the task to the children when the
stack is resized.

This changelist separates out the callback for parent resizing into
onParentResize. The default implementation is to call onResize. The
default implementation of onResize now calls onParentResize on its
children. For Task, onParentResize is overridden to prevent
propagation.

Change-Id: If7990c88f12245774d085650b15da9abc96bf622
Fixes: 70558903
Test: atest FrameworksServicesTests:com.android.server.wm.WindowContainerTests#testOnParentResizePropagation
/frameworks/base/services/core/java/com/android/server/wm/ConfigurationContainer.java
f3c6a47bdd009de616b6c490bbb52a82d11cc870 14-Nov-2017 Bryce Lee <brycelee@google.com> Store bounds in WindowConfiguration.

This changelist consolidates the usage of frame bounds in containers
into the WindowConfiguration. As a result, the bounds are now shared
across AM and WM. Any changes to the bounds on one side are
propagated to the other via override configuration changes. Previous
instrumentation to synchronize the two sides is no longer necessary.

This changelist does not attempt to consolidate common logic shared
between WM or AM components for setting bounds.

Bug: 68719294
Test: go/wm-smoke
Change-Id: Ia8978dba8525b83201640e159caefe16e626b7c1
/frameworks/base/services/core/java/com/android/server/wm/ConfigurationContainer.java
b1579c8d898811010b60eab4e996f3d071980155 05-Sep-2017 Robert Carr <racarr@google.com> Re-implement Z-ordering based off SurfaceControl hierarchy.

First steps in using the SurfaceControl hierarchy pervasively through
the WindowManager. For each level of the WindowContainer hierarchy
we instantiate a buffer-less SurfaceControl which is used to apply
constraints to all of it's children. For now we use full-screen surfaces
at every non-leaf level and so the only constraint we apply is Z-ordering.

Calculation of Z-ordering is done through the WindowContainer#assignLayers
pass and begins with DisplayContent. Changes are accumulated in-to a pending
transaction which is applied as part of prepareSurfaces (which now applies
to each level of the WindowContainer hierarchy rather than just windows).

Bug: 64815723
Test: Existing tests pass. go/wm-smoke. ZOrderTests.
Change-Id: Ib31bc3107c7fa398cf2ed72430fcb7596fad6fd5
/frameworks/base/services/core/java/com/android/server/wm/ConfigurationContainer.java
4921ccf501717c378ae239f9f02b6170860472d4 28-Sep-2017 Adrian Roos <roosa@google.com> Add trim levels to writeToProto

Enables faster dumping without information that is not relevant in
certain scenarios.

Bug: 64831661
Test: adb shell dumpsys window --proto | hexdump -C
Change-Id: I10827f2dd092fb53b2d452bb12ef76a6adb50f41
/frameworks/base/services/core/java/com/android/server/wm/ConfigurationContainer.java
ab5de37d093ba26b75796c614636aaee36a937d9 18-Oct-2017 Wale Ogunwale <ogunwale@google.com> Made creation of multiple stacks more intentional.

Previous it was unintentional due to the following fixes:
- Made ACTIVITY_TYPE_UNDEFINED compatible with stacks of
ACTIVITY_TYPE_STANDARD. Any request to create an undefined stack type
ends up creates a standard type, so it makes sense for them to be
compatible.
- Made standard types of WINDOWING_MODE_UNDEFINED compatible with the
display's windowing mode. Any request to cerate a stack in an undefined
windowing mode end up creating a stack in the display's windowing mode.
- Added 'dumspys activity containers' for dumping the activity
hierarchy.
Now it is more intentional where we always create a stack for specific
stack activity types and windowing modes when getOrCreateStack is
called.

Bug: 67747409
Bug: 64146578
Test: go/wm-test
Test: Existing tests pass

Change-Id: I85935e8681113a0c06dfc15ef9891e3f91b98a02
/frameworks/base/services/core/java/com/android/server/wm/ConfigurationContainer.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/core/java/com/android/server/wm/ConfigurationContainer.java
04a05ac34ab548c334669547b4675f4871d2f2e1 18-Sep-2017 Wale Ogunwale <ogunwale@google.com> Ability to getOrCreateStack by windowingMode/activityType in AM.

Another step away from using static stack ids for things.

Test: Existing tests pass.
Test: go/wm-smoke
Bug: 64146578
Change-Id: Iac05046c96d10e5b26d444172341f2ecf9efe3ee
/frameworks/base/services/core/java/com/android/server/wm/ConfigurationContainer.java
b62139d294ec08fc1a27a1e2f9cec139745bc713 21-Sep-2017 Wale Ogunwale <ogunwale@google.com> Ability to getStack by windowingMode/activityType in WM.

Another step away from using static stack ids for things.

Test: Existing tests pass.
Test: go/wm-smoke
Bug: 64146578
Change-Id: I419eca4968ea97bfa6ff71f6e1deaa247abd0328
/frameworks/base/services/core/java/com/android/server/wm/ConfigurationContainer.java
9dcf94656d29e9d00a6d2fb2a919161347913d6e 20-Sep-2017 Wale Ogunwale <ogunwale@google.com> Moved ActivityDisplay to its own class file.

Clean-up before the next windowing mode refactor.
Also:
- Change the return type of ActivityStack.shouldBeVisible from int
to boolean since it is now binary.
- Removed ActivityStack.mRecentTasks. Changed call points to use
the reference in ActivityStackSuperior.
- Removed ActivityStack.mStacks and ActivityStackSuperior.mStack.
Changed call points to use reference in ActivityDisplay.
- Removed a few unused methods and variables.

Fixes: 66452053
Test: Existing tests pass.
Change-Id: Id9f4c668cdfc638820ad1777db85ac4d2619b85a
/frameworks/base/services/core/java/com/android/server/wm/ConfigurationContainer.java
0d5609ba8c64710dbab020d99c832f8d470c716a 13-Sep-2017 Wale Ogunwale <ogunwale@google.com> Added WindowConfigurationProto and friends

Also added WindowContainerProto and ConfigurationContainerProto
Will be used by cts tests in upcoming CLs that replace StackId APIs.

Test: adb shell dumpsys window --proto
Bug: 64146578
Change-Id: Id6ca2a93e3d15ac696ab54cb241870e973985967
/frameworks/base/services/core/java/com/android/server/wm/ConfigurationContainer.java
5acab1ccc4ce266fb682a4cfc3ea4fe28db3e8e3 08-Sep-2017 Wale Ogunwale <ogunwale@google.com> Fix build breakage

Test: builds.
Change-Id: Ic81b82e2148304122520b7f48803eee5598d10bb
/frameworks/base/services/core/java/com/android/server/wm/ConfigurationContainer.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/core/java/com/android/server/wm/ConfigurationContainer.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/core/java/com/android/server/wm/ConfigurationContainer.java
eea34ee98684cb1aafd05cb597a8550b4432186c 01-Sep-2017 Wale Ogunwale <ogunwale@google.com> Fixed build breakage

Test: N/A
Change-Id: Ie5b2442a8049e0c56e84830b59302fb4f4a21a1c
/frameworks/base/services/core/java/com/android/server/wm/ConfigurationContainer.java
6fbde9fccb90c2715730a5a0ac9425d48b939558 24-Aug-2017 Wale Ogunwale <ogunwale@google.com> Introducing activityType window configuration.

Used to represent the current activity type of the window
configuration which can be undefined, standard, home, recents, or
assistant. This information if currently represented in a few ways in
the window heirarchy e.g. with stack id or with fields in tasks and
activities. This change allows us to represent the idea in a more
structure way without overloading concepts like stack ids.

Test: bit FrameworksServicesTests:com.android.server.wm.ConfigurationContainerTests
Test: bit FrameworksServicesTests:com.android.server.wm.WindowConfigurationTests
Test: go/wm-smoke
Change-Id: I7d7283c72e806972eeb3a8dab448f195dd6cd811
/frameworks/base/services/core/java/com/android/server/wm/ConfigurationContainer.java
ab687f2d06da724ccc9b8625577e5c479bb28cda 26-Aug-2017 Wale Ogunwale <ogunwale@google.com> Fix build breakage.

The code is some how triggering a compiler bug.

Test: N/A
Change-Id: If4eef989027a70c388cbcd311e5de4da76bae329
/frameworks/base/services/core/java/com/android/server/wm/ConfigurationContainer.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/core/java/com/android/server/wm/ConfigurationContainer.java
3382ab1fc7cbd45194d502f18e7ea21c2b9a04ca 27-Jul-2017 Wale Ogunwale <ogunwale@google.com> Migrated some windowing methods from StackId to WindowConfiguration

First pass at transitioning away from using stack ids for windowing mode
to WindowConfiguration. Added some TODO that will require the introduction
of applicationType in WindowConfiguration before additional conversation
can be done.

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: I2b315623faa16445a9f942e082089123842cb5a1
/frameworks/base/services/core/java/com/android/server/wm/ConfigurationContainer.java
5613fdb0cdc1f8289c0d6cfa21664ec3605d7499 22-Aug-2017 Wale Ogunwale <ogunwale@google.com> Fixed build breakage

Not sure why this caused a build breakage since it build locally
and also on TH. Commenting out for now and will investigate later.

Test: builds
Change-Id: I8d6e475b1bad02f8b8461790381e63aff03a28ec
/frameworks/base/services/core/java/com/android/server/wm/ConfigurationContainer.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/core/java/com/android/server/wm/ConfigurationContainer.java
98d6231f02bec2d55880db36fd7d49281333f286 12-Jul-2017 Wale Ogunwale <ogunwale@google.com> Switch WindowContainer to use ConfigurationContainer

To reduce implementation dupication.
This also involved moving ConfigurationContainer to the wm package.

Test: bit FrameworksServicesTests:com.android.server.wm.ConfigurationContainerTests
Test: bit FrameworksServicesTests:com.android.server.wm.WindowContainerTests
Test: go/wm-smoke
Change-Id: Ibeca7e2ad2685f0984fccc66852d53ed9af0925f
/frameworks/base/services/core/java/com/android/server/wm/ConfigurationContainer.java