History log of /frameworks/base/services/core/java/com/android/server/wm/TaskStack.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
fc46bc2dcd625fe0223edd1e74c9cea5c9bab636 31-Aug-2015 Filip Gruszczynski <gruszczy@google.com> Don't perform layout while adjusting displays/stacks state.

When we detach the stack from the display we are in an inconsistent
state. We need to finish that operation, before we start laying out
things again. Otherwise we will encounter subtle bugs, where stack is
partially closed, but still used during the layout.

Display detachment was already doing the right thing and scheduling a
layout after it finishes the display detach. However, removing the
stack's windows was triggering immediate relayout and causing a crash.

This CL also adds some missing synchronization around
WindowManagerService.mStackIdToStack, which is in most cases protected by
mWindowMap.

Bug: 22191609
Bug: 23615329
Change-Id: I1e2fc42e1a5b673be808acdec473f85f138d7062
/frameworks/base/services/core/java/com/android/server/wm/TaskStack.java
26ed265ceea18a42fddb95777c51a60063b0ef13 10-Aug-2015 Filip Gruszczynski <gruszczy@google.com> When closing task stack remove reference to display content.

This tightens the guarantee that detached stack won't be used. We also
add logging to detecting a situation where a stack not belonging to a
display is being moved on that display.

Bug: 22191609
Change-Id: Ia674bb5960018104a56c5138775ab5216906675b
/frameworks/base/services/core/java/com/android/server/wm/TaskStack.java
06d582d4e42893e7e061477004d991d35b5f0d78 01-Jun-2015 Doris Liu <tianliu@google.com> Fix calls to Rect.intersect(Rect) in package com.android.server.wm

This CL checks for the return value for Rect.intersect(Rect) for whether
there is actually an intersection before taking the calling rect as the
intersection. In addtion, this CL handles the cases where there is no
intersection (Rect.intersect(Rect) returns false).

bug: 7368679
Change-Id: I7d5ef7059ac432170470a108c0d6dece230ec0b3
/frameworks/base/services/core/java/com/android/server/wm/TaskStack.java
6dfdfd6741c5a3dd8d8a49ddbd6ee5dfe2fd292d 15-Apr-2015 Wale Ogunwale <ogunwale@google.com> Added attribute showForAllUsers that deprecates showOnLockScreen

The new name is more meaningful to what the attribute actually does.

Also, force the FLAG_SHOWN_WHEN_LOCKED flag for windows that belong
to acitivties with the showForAllUsers attribute set.

Bug: 20227306
Change-Id: Ifd49166c3ec0e67ae43addc0fb30038523332ea5
/frameworks/base/services/core/java/com/android/server/wm/TaskStack.java
3fcb4a89750d6df42f850021cd754500fc084086 06-Apr-2015 Wale Ogunwale <ogunwale@google.com> Fixed bug with ActivityInfo.FLAG_SHOW_ON_LOCK_SCREEN not working

There were a few places in ActivityManager and WindowManager that we
were not taking the value of the flag into account when deciding
which task to be up top in multi-user mode.

Bug: 10533764
Change-Id: If2032ccd5f1a67b3ad4af376b4db7043e9070796
/frameworks/base/services/core/java/com/android/server/wm/TaskStack.java
0ade61bc97d0cef149c2338d753fda6ccc2bb964 24-Mar-2015 Wale Ogunwale <ogunwale@google.com> Fixed build breakage caused by AOSP submission http://go/oag/c/143360

Change-Id: I64288bd49e6713ab40b52735802210abc91348a7
/frameworks/base/services/core/java/com/android/server/wm/TaskStack.java
a44c1bbf7283b3160aaeff831f8fd4294cb85bb0 24-Mar-2015 Olawale Ogunwale <ogunwale@google.com> am 4f8783de: am fecfadb5: am 07520c94: Merge "DimLayer : remove unnecessary surface transaction calls"

* commit '4f8783de72633188e4a52ffdf79e5b8f91282974':
DimLayer : remove unnecessary surface transaction calls
6ce3a37f6b06585c5c0c045d1df69f21f8200067 23-Mar-2015 Dohyun Lee <dohyun.lee@lge.com> DimLayer : remove unnecessary surface transaction calls

There is the case that adjustSurface() get called even if
the size of the surface of DimLayer is not changed actually.
Since changing the size of a surface is processed synchronously
in the SurfacFlinger, there is usually a few milliseconds delay
(up to 1 vsync interval) when we launch an application.
This patch avoids such cases.

Change-Id: Ib1f76d54f9f2364ac54b70120e4b781e8534e750
Signed-off-by: Dohyun Lee <dohyun.lee@lge.com>
/frameworks/base/services/core/java/com/android/server/wm/TaskStack.java
00a6675461dda409869a1af56107506e24cf6f9e 23-Mar-2015 Craig Mautner <cmautner@google.com> Add null check and call destroy from single point.

Ensure that calling destroy() on a DimLayer surface only happens
once.

Fixes bug 19660387.

Change-Id: Iee8ea20b5d7c3a8f81f14a3ecff66a1dc1a8d719
/frameworks/base/services/core/java/com/android/server/wm/TaskStack.java
f9c814978e41e56d07701a6795d768abbf7b2be8 26-Feb-2015 Wale Ogunwale <ogunwale@google.com> Account for IME and screen decors when laying out a resized window.

* Adjust position of target IME resized window if it is been obscured
by the IME.
* Make sure resized window frame is within content frame so it doesn't
extend to the screen decoration regions.

Bug: 19424276
Bug: 19500488
Change-Id: I561338101697e10ea5072ee65a180dd0155d0da4
/frameworks/base/services/core/java/com/android/server/wm/TaskStack.java
b605f4af143bd129ec84bdafe89400cdc022ddc2 18-Feb-2015 Craig Mautner <cmautner@google.com> Refactor computeScreenConfigurationLocked and more.

- Recognizing that computeScreenConfigurationLocked() only returned
false if mDisplayReady was false allows multiple code
simplifications.
- Make computeNewConfigurationLocked() always return a non-null
value.
- Remove unused Session parameter from removeWindowInnerLocked().
- Just allocate mForceRemoves one time.
- Since ADJUST_WALLPAPER_VISIBILITY_CHANGED was unused have
adjustWallpaperWindowsLocked() return a boolean.
- Remove unused long parameter from handleNotObscuredLocked().

Change-Id: Ifd15736b163ab6e989f8ca32cf8f94b316386216
/frameworks/base/services/core/java/com/android/server/wm/TaskStack.java
b1193ade255385d899d81e8d62ceaa97c7d6aeb6 17-Feb-2015 Wale Ogunwale <ogunwale@google.com> Merge "Apply stack dim layer to entire screen for system windows."
498e8c92d71ff4ccfd2a77bdc53160e8dc93c7fe 13-Feb-2015 Wale Ogunwale <ogunwale@google.com> Apply stack dim layer to entire screen for system windows.

System windows like alert dialogs are attached to the currently
focused stack even when the stack isn't full screen. This causes
the dim not to apply to other visible stacks when a system
window is up. Change applies the dim to the entire screen for
system windows since they extend outside a resized stack.

Bug: 19332229
Change-Id: I94affa6a652326bf2cf14b1b8bf54862c111c540
/frameworks/base/services/core/java/com/android/server/wm/TaskStack.java
4a02d8133bb8bda109404c78002f80cda1f1179e 13-Feb-2015 Wale Ogunwale <ogunwale@google.com> Don't move multi-window stacks on orientation change.

Change allows resized stacks to remain in the same location
while their content change orientation.

Bug: 19358195
Change-Id: I5a9898c1cf85cb5c4c2eab0f4969b339defb199a
/frameworks/base/services/core/java/com/android/server/wm/TaskStack.java
a928127a74d6ffe9334774e64a4470aedbe6c28b 07-Feb-2015 Wale Ogunwale <ogunwale@google.com> Set TaskStack config orientation based on dimensions

The TaskStack override configuration is set based on the
stack dimensions so we can load the most acturate resources
for activities in the stack in a multi-window environment.

Also, disabled fixed screen orientation for resizeable
activities.

Bug: 19305402
Change-Id: I7b182554523b12f2ef77f8bbc7b16891231125bf
/frameworks/base/services/core/java/com/android/server/wm/TaskStack.java
dd11d4d6d35fd33625116a97e53b1026879b80bf 03-Feb-2015 Wale Ogunwale <ogunwale@google.com> Fixed issue with resized stack sticking to the top of the screen.

WindowState.mUnderStatusBar wasn't set correctly when the stack was
resized before the window was added to it. Changed to use
TaskStack.mUnderStatusBar instead which will always have the
correct answer.

Bug: 19204013
Change-Id: Ib4660302c6a2aebd47bff354c1efab93a1e1a255
/frameworks/base/services/core/java/com/android/server/wm/TaskStack.java
9d3de4cfb42519fefe9d8b03c38ba440bd6bc886 02-Feb-2015 Wale Ogunwale <ogunwale@google.com> Support for activity to opt-in/out of resizeable/multi-window support.

Bug: 19178148
Change-Id: I5819a71cdc48e0af4add11a6d4a503ec5cbe5d63
/frameworks/base/services/core/java/com/android/server/wm/TaskStack.java
aab56dbc1ef5c91afad1e61d633305bb3aa3cb1b 30-Jan-2015 Todd Kennedy <toddke@google.com> Show stacks underneath a resized stack

When a stack is resized, make sure any non-fullscreen stack beneath it
becomes visible. This may mean additional activities are resumed in the
process.

Bug: 19083171
Change-Id: I5e7a3f82d76932ea2b9dbf0324ea183c42ee5496
/frameworks/base/services/core/java/com/android/server/wm/TaskStack.java
783f28691e27b7b116730fad4f9fd9c083bab283 27-Jan-2015 Wale Ogunwale <ogunwale@google.com> Merge "Support activities in the same process having different resources."
83162a90278d9d52d8fca7ee20ba314b452261de 26-Jan-2015 Craig Mautner <cmautner@google.com> Eliminate groupId and add task to AppWindowToken

Simplifies access by eliminating indirect referencing.

Fixes bug 18088522 item #15.

Change-Id: I9049192a7f3e1028d60c4f2d4d4a0d4aad590aa4
/frameworks/base/services/core/java/com/android/server/wm/TaskStack.java
60454dbc4d815c90ff2713e224953d6547fc3ad5 24-Jan-2015 Wale Ogunwale <ogunwale@google.com> Support activities in the same process having different resources.

Activities can be of various sizes in a multi-window environment.
This change allows them to have override configurations that allows
different resources to the loaded if needed.

Bug: 19002213
Change-Id: Ib2c7be0b427f5ce05e7a362bcdd496ddbc9164f0
/frameworks/base/services/core/java/com/android/server/wm/TaskStack.java
e3119b7d353e71d1f94ddff932b722b4d285931e 21-Jan-2015 Craig Mautner <cmautner@google.com> Refactor removeApp and removeTask for last removals.

Move app token removal to the AppWindowToken class so cleanup can
be done locally. Move task removal to the Task class so cleanup can
be done locally. Call task removal when the last app is removed.
Merge actions done prior to method calls into methods.

Fixes bug 18088522 item #12.

Change-Id: I5ce85d2bb309ceb82bd7404e27a56a7c31cd7359
/frameworks/base/services/core/java/com/android/server/wm/TaskStack.java
00a2725683177e97e02f474332a1b64dafa0ceba 11-Nov-2014 raysb.kim <raysb.kim@lge.com> Only one task within the stack should moveToBack

In case of the last stack of application move to back,
ONLY one stack within stack should move to back.
but stack itseft move to back.

Default bahavior of ActivityManager is that the stack will
go back within stack when the last stack of application move
to back. The stack is managed by DisplayContent of WindowManagerService
should be same but taking one more action that move stack itself.

Change-Id: If394ddf16b0fcda2ae3252e8f3b5336322ef6808
Signed-off-by: Seunghyun Lee <seunghyun85.lee@lge.com>
/frameworks/base/services/core/java/com/android/server/wm/TaskStack.java
7c9ee19cbd0360a62dc4322169afc1b0b9c9e022 15-Aug-2014 Craig Mautner <cmautner@google.com> Fix race condition between binder deaths

If a Binder dies there is a race between activity manager and window
manager to see who can handle the binderDied call first. If the
activity manager wins the race it will remove the activity and task
but leave the windows around. Until the WindowState.binderDied call
is made and all animation is complete the windows will try to access
the task that they were associated with.

This fix removes the windows of an activity when the activity is
removed. It also defers removal of the activity and task until
exiting windows have completed their animation.

Fixes bug 17031518.

Change-Id: Idf52f55c5feb0cad4e3664ef2eae5b7e95bbf490
/frameworks/base/services/core/java/com/android/server/wm/TaskStack.java
bc2a6dff1f0edfb2856377fbdb6378158621bd16 14-Jun-2014 Craig Mautner <cmautner@google.com> Do not treat the dummy animation as an animation

The dummy animation is a place holder. When the task stack is being
removed treating it as a true animation forced us through a path
where we deferred the detachment and made a call to tmpRemoveWindows.

Also replaced call to tmpRemoveWindows with a real remove windows
call. The tmpRemoveWindows call does not clean up the Session
and this leaves a surface on the screen.

Fixes bug 15591610.

Change-Id: I05f7bc276bfed2366bbcd8443c92a4bbbc8a4491
/frameworks/base/services/core/java/com/android/server/wm/TaskStack.java
e0d50cc15be2c8aa9e4a4aa6cf34cc7cf23c9109 02-Jun-2014 Craig Mautner <cmautner@google.com> Compare task userId with userId profiles.

Change comparison of Task.mUserId from comparing with only the
current user id to comparing with all current profile user ids.

Fixes bug 14930145.

Change-Id: Ibbae08da6f4eaa31b171becdd8957293758f527b
/frameworks/base/services/core/java/com/android/server/wm/TaskStack.java
95da1087ed3c7b9983b571bc5409827ae390f15f 25-Feb-2014 Craig Mautner <cmautner@google.com> Clean up activities and displays when done

More maintenance fixes.

Fix bug 13157352.

Change-Id: Ic86d39a84452a1cf1dc1762cec517b419ad0a852
/frameworks/base/services/core/java/com/android/server/wm/TaskStack.java
474f1fbe8d87563909c3cb69ec921d427cd1f0b0 13-Feb-2014 Craig Mautner <cmautner@google.com> Merge "Don't null class member before using it." into klp-modular-dev
991146f8ef2ba3e5610191b82a6144013ce7e8c1 13-Feb-2014 Craig Mautner <cmautner@google.com> Don't null class member before using it.

Changing the order of detachStack() and usage of mDisplayContent
fixes NPE.

Fixes bug 12823709.

Change-Id: I04760b1d6fd5d3ffc49b99ca4acb47bf7e61cb46
/frameworks/base/services/core/java/com/android/server/wm/TaskStack.java
b660b9d8cf6b951b85a35599d636c470795e9a1a 13-Feb-2014 Craig Mautner <cmautner@google.com> Update DimLayer sizes on rotation.

Required replumbing and updating the TaskStack bounds calculations
to match the new separation of TaskStack from DisplayContent.

Fixes bug 12780687.

Change-Id: I061c92831c06f4eb3e673ad6296e721b0c0f3202
/frameworks/base/services/core/java/com/android/server/wm/TaskStack.java
9ef471f7f2f59de032d7cb9c3c7241486109979e 07-Feb-2014 Craig Mautner <cmautner@google.com> Don't remove Activities and Tasks until animation done

Just like stacks and displays, activities and tasks need to stick
around until animations have completed.

Change-Id: I54fe8f6855d60cbc3a25cbc6e762defd5ac50bf5
/frameworks/base/services/core/java/com/android/server/wm/TaskStack.java
1bf2b873470d2ba8a4ac218da73516cc2b20aa76 06-Feb-2014 Craig Mautner <cmautner@google.com> Defer detach until animations are complete.

Allowing the detach of ActivityStack from DisplayContent to happen
immediately was causing all sorts of problems associated with not
having a Display to complete the animations.

Waiting for animations to complete before either the detach or the
display removal fixes those problems.

Change-Id: I8a5663bfac5c3c1084ff4fcc451e0e38e8080265
/frameworks/base/services/core/java/com/android/server/wm/TaskStack.java
dc548483ae90ba26ad9e2e2cb79f4673140edb49 05-Feb-2014 Craig Mautner <cmautner@google.com> Move activities from DisplayContent to TaskStack

Now that activities and tasks can be detached from a display do not
keep their state within the DisplayContent class. All such state is
now moved to the TaskStack class with this change.

Change-Id: Ie6b1811e9ec3f545782bad8c3461bd4f2d336b93
/frameworks/base/services/core/java/com/android/server/wm/TaskStack.java
df88d73092c62a1a3cd2b2056ca63ae2e70cc238 27-Jan-2014 Craig Mautner <cmautner@google.com> Add IIntentSender to ActivityContainer.startActivity

PendingIntents and IntentSenders can now be launched. Still does not
work once the host activity has been paused and resumed.

Window manager TaskStacks now exist independently of Displays and app
windows persist after Displays are removed below them. Attaching the
stack to a new Display does not yet restore the windows to it.

Fixes bug 12747909.

Change-Id: I509007ee23fda400b353f483cf6ecce08177763b
/frameworks/base/services/core/java/com/android/server/wm/TaskStack.java
04a0ea60ac7e20369e63edc4f3f8cedf8425a439 13-Jan-2014 Craig Mautner <cmautner@google.com> Retain stacks even if they are empty.

Previously stacks would be removed when the last ActivityRecord was
removed. This causes problems for ActivityContainers which persist and
permit activities to be launched into an empty stack.

Change-Id: Ia79ac65d17c42eff3a7b1321980c21b29996001b
/frameworks/base/services/core/java/com/android/server/wm/TaskStack.java
9158825f9c41869689d6b1786d7c7aa8bdd524ce 22-Nov-2013 Amith Yamasani <yamasani@google.com> Move some system services to separate directories

Refactored the directory structure so that services can be optionally
excluded. This is step 1. Will be followed by another change that makes
it possible to remove services from the build.

Change-Id: Ideacedfd34b5e213217ad3ff4ebb21c4a8e73f85
/frameworks/base/services/core/java/com/android/server/wm/TaskStack.java