History log of /frameworks/base/services/core/java/com/android/server/wm/TaskPositioner.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
e1cfcf4c4d15417bc912d36d487b4454c19b30fa 11-Jul-2017 Tarandeep Singh <tarandeep@google.com> Fix keyboard focus in VR

Consider this VirtualDisplay (VD) scenario:
HostActivity creates a VD which holds SettingsActivity. When EditText
on SettingsActivity is tapped, it gains focus.
On eventual taps, it loses focus i.e. the Window in VD loses focus and
the host activity in primary display gets the focus instead. This
happens because WM's TaskTapPointerEventListener.onPointerEvent()
is called on the default display only.

Root cause:
1. Tap detector isn't registered for non-default display.
2. Tap detector has no info on which displayId touch was received.
3. InputFlinger doesn't deliver InputMonitor events for
non-default displays (fixed in a separate CL)

Fixing above results in onPointerEvent(MotionEvent) to deliver the
Touch events successfully to VD. We restrict these changes to physical
multi-displays and VR VirtualDisplays (which uses virtual touch device).
[VrManagerService calls WMInternal.setVr2dDisplayId(int)]

In future, displayId should be part of InputEvent. Bug: 64258305

Bug: 62033391
Test: bit FrameworksServicesTests:com.android.server.wm.DisplayContentTests
Change-Id: I3626f4de5aa9bcf905da9abd39f3ab1baefc4c48
/frameworks/base/services/core/java/com/android/server/wm/TaskPositioner.java
ed7993b5d147a6741d26fe0b16cc9fa5e34ceaee 28-Mar-2017 Jorim Jaggi <jjaggi@google.com> Introduce android.anim thread in system_server

We create a new thread on which everything is running that
directly impacts window animations, i.e. layout, anim tick and
starting window creation. This is such that any work on
android.display can not lead to jank in the window animation,
specifically lock contention on activity manager lock that blocks
callbacks from android.display into AM can not lead to window
animation jank.

Test: Run animation, take systrace, make sure animation is on
android.anim
Test: AppWindowContainerControllerTestTest: AppWindowContainerControllerTestss
Fixes: 36792959

Change-Id: I5d41419a709b7984724e7053a3afdcc1ffe1aaa2
/frameworks/base/services/core/java/com/android/server/wm/TaskPositioner.java
330757dffa8d8de106e2c073eff09bf8238549a5 28-Feb-2017 Matthew Ng <ngmatthew@google.com> Corrects the recents and home stacks position around docked state (1/2)

Since splitting home stack into home and recents, some problems where
the home stack would appear above when home stack is not visible. This
would cause home stack to be below docked stack and think home is
visible when it is not. Then docking an app would minimize the docked
stack and go into a wierd state when recents is resumed/launched.

When docked stack is used, it will verify that recents is created and
avoids seeing home stack as visible when below docked stack with at
least 1 stack in between. Whenever an app is docked, this will make sure
home stack is below recents.

This will fix some parts of the cts tests that use
"adb shell am stack move-task <taskId> 3 true" and avoid glitches with
the docked stack.

The following scenarios were tested:
- Boot and dock and app without starting recents
- Dock after launching an app (when recents already created)
- Toggle dock with "adb shell am stack move-task <taskId> 3 true" and
undocking multiple times
- Dock with long press recents

Test: cts/hostsidetests/services/activityandwindowmanager/util/run-test
CtsServicesHostTestCases
android.server.cts.ActivityManagerDockedStackTests
Bug: 35351074, 35145587
Change-Id: I6ac25c64f7d1050ea2260631ff4c052fcca3f185
/frameworks/base/services/core/java/com/android/server/wm/TaskPositioner.java
3787de16d24001eeb452e1c711d4290a396e67c9 21-Dec-2016 Vladislav Kaznacheev <kaznacheev@google.com> Implement pointer capture API

When in pointer capture mode, mouse pointer disappears and
further mouse events are dispatched to the focused view
in the window which has requested capture.

The captured events have the source SOURCE_MOUSE_RELATIVE
belonging to SOURCE_CLASS_TRACKBALL. They are
dispatched through dispatchCapturedPointerEvent /
onCapturedPointerEvent. There is also a new listener.

Pointer capture mode may only be granted to a currently
focused window, and will be canceled upon a window focus change.

Test: cts-tradefed ... --test android.view.cts.PointerCaptureTest
Bug: 30897034
Change-Id: I6e5934aa415ac2b6dda1cee173d0f23e5021af84
/frameworks/base/services/core/java/com/android/server/wm/TaskPositioner.java
f0a60a9c60d9973e10a859dd8c31b8f18adb5a0e 19-Jan-2017 Wale Ogunwale <ogunwale@google.com> Workaround for leaked dim layer.

Tasks are some how leaking their dim layer. The root cause of Task
not properly cleaning-up its dim layer in Task.removeImmediately()
hasn't being identified, but the CL will prevent user devices from
getting into a bad state until we figure-out the cause for the leak.

Note that when this occurs the task has been completely removed from
the system and the only reference left to it is for the dim layer...

Bug: 34395537
Test: This is a workaround until the real problem is identified.
Change-Id: Id8d45edb3b6858be82e4f057ae3da480da4f4b59
/frameworks/base/services/core/java/com/android/server/wm/TaskPositioner.java
322347ba58f02b960dc87eca3cb0ebe0455c9253 02-Dec-2016 skuhne@google.com <skuhne@google.com> Adding orientation preserving resizing

Adding freeform resizing to activities which require
a certain orientation. This is needed for e.g. ARC++.

Bug: 33267688
Test: runtest frameworks-services -c com.android.server.wm.TaskPositionerTests
Test: Visually on ARC++
Change-Id: If708c1602cb2ff464174389af4648ad767b0b079
/frameworks/base/services/core/java/com/android/server/wm/TaskPositioner.java
441e4494682144aec2ec7f19060464af3d29c319 30-Sep-2016 Andrii Kulian <akulian@google.com> Add override and merged config to WindowContainer

This consolidates usages of override and full (merged)
configs in WM objects and also adds support of per-display
configurations. Having full configs allows us to get
current applied config at any level.

Test: Manual tests pass. Added some new to WindowContainerTests.
Change-Id: I996770433c80da41265f3e14048bd23cead097f9
/frameworks/base/services/core/java/com/android/server/wm/TaskPositioner.java
c463e06ede4671043bf8fe800566adbcf43aa6c1 19-Sep-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge changes Idcc4cdd4,I75add6a9,I2aeda867,I1ff912c4

* changes:
WindowManager: Include sigil in RemoteSurfaceTrace format.
Pass SurfaceTrace through WM command in binary format.
Log transaction state to RemoteSurfaceTrace.
WindowManager RemoteSurfaceTrace infrastructure
14a3fb98e5ec5f366e810ad4d1f2a73ef8407ac6 12-Sep-2016 Wale Ogunwale <ogunwale@google.com> Switched TaskStack to use WindowContainer

Bug: 30060889
Test: Manual testing and existing tests still pass.
Change-Id: Id29c4aaf6580623a748bd69316fc6a4663ff1d37
/frameworks/base/services/core/java/com/android/server/wm/TaskPositioner.java
68e5c9e93a8f1542cd988ac01ba1d98381ff4893 14-Sep-2016 Robert Carr <racarr@google.com> Log transaction state to RemoteSurfaceTrace.

Test: cts-tradefed run singleCommand cts -o --module CtsWindowManagerHostTestCases --test android.server.cts.SurfaceViewMovementTests#testSurfaceMovesWithParent
Change-Id: I2aeda867f0071bf6ac715153ab842a9f16cafa44
/frameworks/base/services/core/java/com/android/server/wm/TaskPositioner.java
8072d11f6a41a68600a15623ca5316ca0def1856 16-Sep-2016 Andrii Kulian <akulian@google.com> Configuration renaming and minor cleanup in AM and WM

- Configuration members in AM and WM are renamed to
mGlobalConfiguration.
- Renamed parameters names in some methods to better represent
their meaning.
- Added and fixed some docs.

Change-Id: Ie51f687fe4c10dbce776435f29d6b853fda50eec
/frameworks/base/services/core/java/com/android/server/wm/TaskPositioner.java
2e2c81a8d67f6ceccf178c5c7264d27e8c72e9ff 15-Jul-2016 Chong Zhang <chz@google.com> Remove two-finger scroll specific code

Revert changes in ag/845161, ag/843943 and ag/817515 that's added
specifically for two-finger scroll mode.

Change-Id: I8679a3bd5b3907180d33d99e3a071e7edfb2ed96
/frameworks/base/services/core/java/com/android/server/wm/TaskPositioner.java
c915743308b60855c3e09891b817dbe297f545a6 13-May-2016 Wale Ogunwale <ogunwale@google.com> Merge "Fixed some issues with fullscreen dimming" into nyc-dev am: e208bd4cbe am: c33568f1f8
am: 5fe6062a78

* commit '5fe6062a7829356358ef80f71665cf506493ad8f':
Fixed some issues with fullscreen dimming

Change-Id: I17926bbc673a87d5a1fcbc63d5d3d7bf64b5a70e
29bfbb878d54db14204e9b02dc17bfc6e127b6b2 13-May-2016 Wale Ogunwale <ogunwale@google.com> Fixed some issues with fullscreen dimming

- Always dim home stack and task fullscreen. The home stack could be
in split-screen mode, but we still want to dim dialogs that are
associated with the stack or task in fullscreen. The dialogs are not
really activities, but they are associated with the home stack for
things like dimming. Don't ask me why...
- Update the fullscreen dim layer bounds anytime the dim layer is
adjusted so we always have up-to-date bounds after rotation.

Bug: 28575624
Change-Id: I805c771153a2d25fb199bd9987bbf78a5967f6b9
/frameworks/base/services/core/java/com/android/server/wm/TaskPositioner.java
8a734880d83cea122980afd8a9c96c87e706ff53 02-May-2016 Wale Ogunwale <ogunwale@google.com> Merge "Dont relaunch activity in fullscreen stack when entering split screen mode" into nyc-dev am: 53482cb6c0 am: 975c75bc92
am: 9e29cbdb0b

* commit '9e29cbdb0b6f83dd183ad148b81474f5dce433f0':
Don’t relaunch activity in fullscreen stack when entering split screen mode

Change-Id: Iaf24c64e9e5cec9f02dd10f803c1b6c9c556b4a0
a4d92a01521e560d00616b483143f2d07ebd755b 02-May-2016 Wale Ogunwale <ogunwale@google.com> Don’t relaunch activity in fullscreen stack when entering split screen mode

When entering split-screen mode by long pressing the recents button, the
top task in the fullscreen stack is moved to the docked stack and the new
top task is the fullscreen stack is considered visible for a short amount
of time until sys-ui launches the recents activity. This causes the new
top activity in the fullscreen stack to be relaunched due to configuration
change.
To fix this sys-ui now sends an hint to activity manager to move the home
stack forward so that it can be on-top of the fullscreen stack and makes
it invisible before recent is launched and animated in.

Bug: 28470261
Change-Id: Icfd85e932fe913dfb498752b5878cc7c690fd559
/frameworks/base/services/core/java/com/android/server/wm/TaskPositioner.java
a90a3b85a5cf7fa2f27473064b2965d3c98f61a0 27-Apr-2016 Vladislav Kaznacheev <kaznacheev@google.com> Do not lose window grab when approaching the edge of the screen

Currently when a freeform window is being dragged and the pointer gets
too close to the screen (stack) edge, the dragging completes. This was
done in ag/770762 to to prevent a freeform window from being dragged
fully under a docked stack.

This CL provides a different solution to this problem: while dragging a window
make sure that a big enough portion of its caption bar is still visible.

Bug: 26055288
Change-Id: I5873bb1203a0e91ae1436b3e87220affb77194ff
/frameworks/base/services/core/java/com/android/server/wm/TaskPositioner.java
824bc5d222bb399966bcd0735b84a4099309be8f 23-Apr-2016 Vladislav Kaznacheev <kaznacheev@google.com> Correctly handle click (with no drag) when resizing a window.

Currently if user moves the mouse to the window edge where
the pointer changes to a double arrow and then clicks (without
dragging) the freeform window will resize to fullscreen which is
strange.

Bug: 28318822
Change-Id: Ie47a80953dd91f998aa1c32662b363fe0a08fa90
/frameworks/base/services/core/java/com/android/server/wm/TaskPositioner.java
0b46f3c72c324bc9b8890ed9b81951bbeec70fdd 14-Mar-2016 Jorim Jaggi <jjaggi@google.com> Implement transition for docking task in recents #2

- Put window into resizing mode when docking it from recents,
so it fills the "void".
- Send whole task bitmap window as the thumbnail, to make
the transition smoother.

Bug: 27607141
Change-Id: Ib647d44d9777f1155deab818d1fd5425c1bdd3d1
/frameworks/base/services/core/java/com/android/server/wm/TaskPositioner.java
bc5425cdb9b302fe4c746bd79de87f56dadb9955 01-Mar-2016 Jorim Jaggi <jjaggi@google.com> Don't apply dim if there is no docked stack

Also add proper names for the different dim layer surfaces, so we
better know where they are coming from when we see it in the
surface flinger dump.

Bug: 27270126
Bug: 27200491
Change-Id: Ic085e8505d20a941f4631ec914f00eefda74a766
/frameworks/base/services/core/java/com/android/server/wm/TaskPositioner.java
64b6b448694de6d65b8748c396e99dd83d216b1a 18-Jan-2016 Filip Gruszczynski <gruszczy@google.com> Create dim layer surfaces only when they are necessary.

Instead of creating the surfaces for dim layers the moment when the
dim layer is constructed, we can save memory until the dim layer is
actually used and allocate the surface then.

Change-Id: Iedd717d198faf2df3ff39a41537ec0e1018c7ca9
/frameworks/base/services/core/java/com/android/server/wm/TaskPositioner.java
0bd180d8880b3d1b9677f154c034a2af840b4796 08-Dec-2015 Filip Gruszczynski <gruszczy@google.com> Improve debugging setup for window manager package.

This moves debug flags to a dedicated class and also provides a
mechanism to either have fine grained tags or one common tag for easier
grepping the logcat. This mimicks the approach in activity manager
package.

Change-Id: Ie8c08b9a3d8b182335ee5547ee05d21b5933db6b
/frameworks/base/services/core/java/com/android/server/wm/TaskPositioner.java
b15758ab7a6481717d0d29612e870d7241061c31 17-Nov-2015 Chong Zhang <chz@google.com> Support scrolling for non-resizeable tasks in side-by-side mode

Display toast when a non-resizeable task is put into side-by-side mode.

Scroll the task upon a two-finger scroll gesture.

bug: 25433902

Change-Id: I69967056a564cfe7773afb80aa7e7ea7167a791a
/frameworks/base/services/core/java/com/android/server/wm/TaskPositioner.java
9ea2f7ba3155a455724f64e2d6a964ad4e99dfa5 24-Nov-2015 Jorim Jaggi <jjaggi@google.com> Add ability to supply initial bounds when docking task

Add an optional parameter in moveTaskToDockedStack to supply an
initial rect to be used when creating the dockeds tack. Pass in
the adjusted rect when dragging up from the navbar so it doesn't
flicker anymore.

Change-Id: Ieb3c8c73b9e2a769a2ec6270bd76a713201a2aed
/frameworks/base/services/core/java/com/android/server/wm/TaskPositioner.java
030979c1e4ad269efa747eb3c03a4b0e3d820f55 21-Nov-2015 Jorim Jaggi <jjaggi@google.com> Don't play animation when docking stack with affordance

Change-Id: I1bb8ae4047e3de3a4ea159e7fad718914b9b5ba7
/frameworks/base/services/core/java/com/android/server/wm/TaskPositioner.java
d8ceb85512f8dc2dac6ef07fc72f89a75095e3d7 11-Nov-2015 Chong Zhang <chz@google.com> Fixes for touch exclusion region

- Evaluate touch exclusion region on per-task basis, instead of per
window. Smallest unit for exclusion is Task, if task has more than
one app window, we still need to use the visible area of the task
to do focus transfer properly.

- Only add back the touch region for focused task after all tasks
are processed for eclusion, otherwise the focused area could be
removed from exclusion incorrectly.

- Skip app windows that's exiting or hidden.

bug: 25494928

Change-Id: I972ba2149431557e7420b1095d9496a6cd821bdb
/frameworks/base/services/core/java/com/android/server/wm/TaskPositioner.java
4c9ba52acad52f1c1087415e04b2a17614707e40 11-Nov-2015 Chong Zhang <chz@google.com> Fixes for dim bounds and touch bounds

- Change dimming and touch related usage to use task's "max visible
bounds", which is the app within a task that's covering the maximum
visible area looking down from top. This solves the problem where
an app pops up a dialog window. We should dimming (and allow touch)
the entire task area, not just the dialog's visible area.

- Fix initial bounds used in drag moving/resizing, this should be
visible bounds of the app main window, not the original task bounds.

- Fix touch region set up for freeform apps, even when task is not
full screen, we should get the max visible bounds first (as freeform
app could have dialogs too).

bug: 25494928
bug: 25487005
bug: 25613403

Change-Id: Ib1c6a1665fb83ded2fcb0a7ea92cf1def5372edd
/frameworks/base/services/core/java/com/android/server/wm/TaskPositioner.java
3797c22ea16e932329ebffdc7e7ce09f9ecd9545 27-Oct-2015 Wale Ogunwale <ogunwale@google.com> Added StackId object for checking what features a stack supports

Helps make the code easier to follow since we are no longer checking
multiple stack ids at various decision points.

Bug: 25282299
Change-Id: Ifa6864a1ef56ce2eca4c94f87a4e0b993de987cd
/frameworks/base/services/core/java/com/android/server/wm/TaskPositioner.java
57b6ccecc07274884b425839691fa04274b832bc 06-Oct-2015 Filip Gruszczynski <gruszczy@google.com> Dismissing of docked stack by dragging to the side.

Bug: 24623909
Change-Id: Ic93b169442de1eb4dca9f65a87ae2b813bcef043
/frameworks/base/services/core/java/com/android/server/wm/TaskPositioner.java
0689ae903628f12ff073376b655b9d972533796b 01-Oct-2015 Filip Gruszczynski <gruszczy@google.com> Fix lack of dim layer behind "Power off" window.

This enables dim behind functionality for both tasks and stacks and
groups it inside a controller that manages the dim layers (including
shared dim layers for full screen tasks/stacks).

Bug: 24331704

Change-Id: I0d1ba996d9e00d05e0203166b82268da00fbb35e
/frameworks/base/services/core/java/com/android/server/wm/TaskPositioner.java
04ad7b14987f16dc28a9cdcf07de22cb01a5ac95 02-Oct-2015 Wale Ogunwale <ogunwale@google.com> Fixed issue with not force resizing a task when drag ends.

We were checking mResizing when the drag ends to see if we
should force resize, but it was being set to false just before
the force resize check in endDragLocked.

Also, don't call AM to resize task if bounds isn't going to change.

Change-Id: Ice2c32a0f15f7489a7c80f21bd79c31104ba4487
/frameworks/base/services/core/java/com/android/server/wm/TaskPositioner.java
6de2ae81ce0988625bcffc37475810a015e76ff9 01-Oct-2015 Chong Zhang <chz@google.com> Do not change task's stack in resizeTaskLocked

Move the task to the right stack before calling resizeTaskLocked
and let resizeTaskLocked only handle the resize.

Bug: 24462900
Change-Id: I3401c92f1893eaefde2909a9b20b00b5ea6cdf01
/frameworks/base/services/core/java/com/android/server/wm/TaskPositioner.java
cad05a0a1f6643d19a556ebacf70a0130a524d6d 25-Sep-2015 Wale Ogunwale <ogunwale@google.com> Added trace points for task/stack resizing.

Change-Id: I6c812d92f3822528890b5d875c228b5bd1210bff
/frameworks/base/services/core/java/com/android/server/wm/TaskPositioner.java
49966d67a8e10d111b72b41732277894cd8d4884 25-Sep-2015 Wale Ogunwale <ogunwale@google.com> Merge "Batch ACTION_MOVE events to vsync boundries when resizing task"
4f52bc6f78085bc40110bce5cc485f715223556e 24-Sep-2015 Wale Ogunwale <ogunwale@google.com> Batch ACTION_MOVE events to vsync boundries when resizing task

- Created helper class BatchedInputEventReceiver for batching
ACTION_MOVE events to vsync boundries.
- Switched TaskPositioner to use new helper class for input events
so we reduce the number of input events we process per vsync.

Bug: 24375616
Change-Id: I4ee27949b956784fb89d8f190497e4765522c9d3
/frameworks/base/services/core/java/com/android/server/wm/TaskPositioner.java
6a804b815dc20f902ebac6598b3556912c94ed52 24-Sep-2015 Wale Ogunwale <ogunwale@google.com> Drop additional input events to TaskPositioner when drag has ended.

Fixes issue where we do additional drag ended processing like moving
a task to a docked stack even though we have already done that from
the previous drag end.

Change-Id: Iab10f183a9eb0ec63d8303d1e991a9de65a86c34
/frameworks/base/services/core/java/com/android/server/wm/TaskPositioner.java
87b21722c2336490ecf8b66f6acfc46ce8cc6f46 22-Sep-2015 Chong Zhang <chz@google.com> Change resizeTask's parameter resizedByUser to constants

to indicate who initiated the resize, or if the resize should be forced.

Change-Id: Ic7021f76bec677027cbf27deeb63f92ea911a75c
/frameworks/base/services/core/java/com/android/server/wm/TaskPositioner.java
3005e75585dcda30b64603e320e0711b583624dd 19-Sep-2015 Chong Zhang <chz@google.com> Misc fixes for window moving and resizing

- Do not skip resizeTask if we're starting or ending drag. We need
the relayout because surface mode is changing.

- When we're changing the surface mode, need to wait for the first
draw to finish before we can modify shown frame. Otherwise there
could be 1 old frame displayed with new position, which makes the
window position look a bit off.

- Clean up dragResizing/dragResizeChanged flags.

Change-Id: Ia396d6b88fd616ad57aa8cd24ca7e1161add7205
/frameworks/base/services/core/java/com/android/server/wm/TaskPositioner.java
b8051b8d0dfc69f334eaf717a43d76867d3f0f8c 18-Sep-2015 Wale Ogunwale <ogunwale@google.com> Don't allow task to be dragged outside stack bounds.

The freeform stack doesn't occupy the entire screen when the
docked stack is up. In this case we don't want the task to be
dragged fully underneath the docked stack.

Change-Id: I0e0afe978af995c673196450414a62f1764bd1a3
/frameworks/base/services/core/java/com/android/server/wm/TaskPositioner.java
231b06e7d302762a2680fd5f15b41ec7848a439f 16-Sep-2015 Wale Ogunwale <ogunwale@google.com> Increased window resize handle to 30dp.

It was very hard to hit the drag target with 10dp.

Also, centralized dip to pixel conversion with window manager.

Change-Id: Idc8a90dd55113aa731eaaa8b04af6b74a1176546
/frameworks/base/services/core/java/com/android/server/wm/TaskPositioner.java
0ba68c380f0ac65b82fa0031264d06781af09438 15-Sep-2015 Chong Zhang <chz@google.com> Merge "Use fullscreen sized buffer for drag resizing"
09b21efb97d539543259b33e2da9d4c7a41966c8 14-Sep-2015 Chong Zhang <chz@google.com> Use fullscreen sized buffer for drag resizing

- When drag resizing starts, set the surface size to fullscreen
(plus any surface insets requested by win attrs), so that we don't
reallocate buffers and the buffers don't get rejected by surfaceflinger
due to size-mismatch.

- When drag resizing ends, restore the surface size to the original.

- Update shown frame before setSurfaceBoundariesLocked(), as the top-left
of the window could change, we need to update the surface position. This
fixes incorrect window positing during resizing by corners on top/left.

- When doing tap-detection, skip non-freeformed tasks. This fixes the
bug where clicking near border of a window could dismiss it.

Change-Id: I5dc9fc34ff05685320b8fe5d491b9c066c6726e8
/frameworks/base/services/core/java/com/android/server/wm/TaskPositioner.java
f5a67f5cf31a20be39f10525f790d062bac04468 15-Sep-2015 Wale Ogunwale <ogunwale@google.com> Increased side margin for showing docked stack dim layer.

Increased to 100dip so the it is obvious to the user what is happening.

Bug: 24090084
Change-Id: I1351c0ecaff80c6efbaf859aca715d82b3ea5327
/frameworks/base/services/core/java/com/android/server/wm/TaskPositioner.java
a59ac9cd645d25f03e4e488100bd99f92e83a3a7 11-Sep-2015 Filip Gruszczynski <gruszczy@google.com> Preserve window during resize triggered relaunches.

This changes application code behavior when the activity relaunches due
to configuration change. It only applies to scenarios, where the
configuration change was triggered by a user generated resize of an
activity (i.e. user drags a corner of an activity and thus changes its
size).

Preserving a window means that we will keep the decor view and non
client decor view around, but remove all children views when the
activity gets destroyed. When the activity gets created again, it will
attach its new content to the preserved view hierarchy. Mind, we
actually recreate application side Window object, since some of its
features might changed, but we retain its elevation (to not trigger
relayout with new layout params).

Preserving the window also means that we don't call the window manager
service to remove and later add the window. Instead, we continue using a
single window state throughout the resize operation.

Change-Id: Ie3d2878ed09c99ff343044bfe7a29a0ba07a265e
/frameworks/base/services/core/java/com/android/server/wm/TaskPositioner.java
59a73ca331a786f95e08a99bbd16fbdf59280ae0 14-Sep-2015 Wale Ogunwale <ogunwale@google.com> Support creating docked stack at top/left/bottom/right half of screen

Change-Id: Id8d6f639ed67baadb856ce84a20af8929e04cb2e
/frameworks/base/services/core/java/com/android/server/wm/TaskPositioner.java
228d40474dc74289e5796a28c8e4c0b1a7ead40c 13-Sep-2015 Wale Ogunwale <ogunwale@google.com> Display dim layer when task is dragged to screen edge

Display a dim layer preview when a task/window is dragged to the
edge of the screen. The task is launched/moved into the docked
stack if the user lets go while the preview dim layer is up.

Change-Id: Iedc9e21b0bd23427512c319b4cc7514e64310813
/frameworks/base/services/core/java/com/android/server/wm/TaskPositioner.java
8e89b31a62fb9ec5ad33908c5e8e9c7ab2fd949f 10-Sep-2015 Chong Zhang <chz@google.com> Move window moving and resizing handling to WindowManager

- add a startMoving API to initiate a window move from app, once
the move starts WindowManager will take over the event handling.

- detect touch events along window's outside border and start
a resize if necessary

Change-Id: Ic7e8baba34e0aa27a43173e044ffb46e93e219e0
/frameworks/base/services/core/java/com/android/server/wm/TaskPositioner.java