summaryrefslogtreecommitdiffstats
path: root/services/java/com/android/server/wm
Commit message (Collapse)AuthorAgeFilesLines
* Move some system services to separate directoriesAmith Yamasani2013-12-1929-22171/+0
| | | | | | | | 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
* Pair ActivityStacks with DisplaysCraig Mautner2013-12-183-7/+24
| | | | | | | | | | | | | - Introduce concept of ActivityStacks residing on Displays and able to be decoupled and moved around. - Add a new interface, IActivityContainer for clients to handle ActivityStacks. - Abandon ordering of stacks based on mStackState and instead use ActivityDisplayInfo.stacks<ActivityStack> ordering. Progress towards closing bug 12078972. Change-Id: I7785b61c26dc17f432a4803eebee07c7415fcc1f
* DO NOT MERGE: Eliminate StackBox.Craig Mautner2013-12-098-691/+184
| | | | | | | | StackBox is too constraining. Adding size and position to TaskStacks directly makes stack positioning and management more flexible and prepares for ActivityView. Change-Id: I33c6b4e1c23a5a8069fd507c160bcb34e4d287b2
* DO NOT MERGE: Remove obsolete "headless" supportMike Lockwood2013-12-091-5/+1
| | | | Change-Id: I829fe48e6ebcb819e260646bb19ac6ddfcf07f83
* am 90192a61: am 0495f4ed: Merge "Make SurfaceView layers captured by ↵Craig Mautner2013-11-211-7/+1
|\ | | | | | | | | | | | | screenshotApplications()" * commit '90192a6165f37207fa8ceb15c07aa9582327c294': Make SurfaceView layers captured by screenshotApplications()
| * am 0495f4ed: Merge "Make SurfaceView layers captured by ↵Craig Mautner2013-11-211-7/+1
| |\ | | | | | | | | | | | | | | | | | | screenshotApplications()" * commit '0495f4eded46efd7035ed672dc933ec6430b93fd': Make SurfaceView layers captured by screenshotApplications()
| | * Make SurfaceView layers captured by screenshotApplications()Sangkyu Lee2013-11-211-7/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since SurfaceView layers are located below application layers, SurfaceView is not captured by screenshotApplications() when the application is running in fullscreen. Moreover, ws.isFullscreen(dw, dh) returns mostly true on the devices which do not use the navigation bar. Change-Id: Ia1036c79054950384a97504714929fd85c8147de Signed-off-by: Sangkyu Lee <sk82.lee@lge.com>
* | | Notify apps when insets change.Craig Mautner2013-11-184-12/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Activities that handle their own configuration get layout when hidden and the configuration changes but not when the content insets change if they are hidden. They need to get a fresh layout for both situations. Fixes bug 11544694. Change-Id: Iff3a9adb72ea7dfc3e5cd38e1b9cd7cf2006f8f5
* | | Restore jankless transition keyguard-to-wallpaperCraig Mautner2013-11-151-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is still a flash of black when going to a non-wallpaper activity from keyguard. This is not a regression from jb-mr2 and any fixes to clean it up are too risky at this late date. Fixes (partially) bug 11570753. Change-Id: I17aaae4ab8be570f7e28276a7b8ac4b8685e7551
* | | Merge "Keyguard isn't visible if it hasn't been drawn." into klp-devCraig Mautner2013-11-131-1/+1
|\ \ \
| * | | Keyguard isn't visible if it hasn't been drawn.Craig Mautner2013-11-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reduces jank in multiuser lock from QuickSettings. The launcher and wallpaper were being hidden as soon as the surface for the keyguard was created. Now they are not hidden until the keyguard has been drawn. This still leaves a short time where there is a black screen but it is considerably shorter than it was. Comparable to jb now. Fixes bug 11046339. Change-Id: I349d95dba72da27e5c05a7a64c95a2774d17a34e
* | | | Merge "Relayout windows that handle their own config change." into klp-devCraig Mautner2013-11-122-3/+8
|\ \ \ \ | |/ / / |/| | |
| * | | Relayout windows that handle their own config change.Craig Mautner2013-11-122-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a window claims to handle its own configuration change then we won't destroy and recreate its window on a configuration change. Normally that recreation triggers the first layout following orientation change because mHaveFrame is false. Windows that handle their own configuration changes never got a relayout pass following a change in orientation. This change passes the configuration changes that an application handles into the AppWindowToken. If the app says it handles orientation or screen size changes then a relayout will occur when the configuration has changed. Fixes bug 11647107. Change-Id: Ie8d49fd050442ebbdcf0b805087894e3a2fc4be9
* | | | Add event logging for tasks and stacks.Craig Mautner2013-11-125-19/+18
|/ / / | | | | | | | | | | | | | | | Also remove crufty write-only DisplayContent.mStackHistory. Change-Id: I62b2b53dc02377c5d0d3b79df70b1990eed87d23
* | | Fix a couple of issues with mOpeningApps.Craig Mautner2013-11-081-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In setAppVisibility add wtoken to mOpeningApps even if the requested visibility already matches requestedHidden. When Keyguard hides an app requestedHidden will mismatch and mOpeningApps will end up empty where it should have the app that will become visible. Add mAnimateWallpaperWithTarget = true to another situation where wallpaper animation needs it. Fixes bug 11570753. Change-Id: I70b93bbb580386eb912613f0ce11e582eff8c449
* | | Allow keyguard dialogs to show on secondary displays.Jeff Brown2013-11-081-36/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the keyguard or a dream is visible, we usually block content from showing on secondary displays by mirroring the primary display contents to them. However, the keyguard may wish to show a presentation on a secondary display in which case we should not mirror. This change adds an exemption for keyguard dialogs when the full screen is obscured. The keyguard can then create presentations with the TYPE_KEYGUARD_DIALOG window type in order to show special content on other displays selectively. The old code used to cause all secondary displays to mirror, which isn't quite what we want. Bug: 11257292 Change-Id: I55429002b2233ae25fe80db149636d6f41f2a112
* | | Tweak test for layout.Craig Mautner2013-11-061-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Return to old way of only laying out Keyguard on configuration change and add a new qualifier that does a layout if a window is part of an opening app. This qualifier allows apps that handle their own configuration changes to be notified of screen changes after the configuration has changed. Apps that do not handle their own configuration changes find their way into this code because their surfaces are recreated by default and mHaveFrame is false. This fixes bug 11544694 and passes the test of all bugs listed in CL ag/383579. Change-Id: I3a679b27eb4a2c5210957bcd4ae2f10b46f6e076
* | | Layout hidden windows on Configuration change.Craig Mautner2013-11-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Apply the test for configuration change to all windows. A year ago this was the test but CL ag/247731 which fixed b/7428221 limited the test to just Keyguard windows. A week later CL ag/248223 which fixed b/7444971 applied the test to Wallpaper as well. Then two days after that CL ag/249762 which fixed b/7453222 reverted the wallpaper. This fix reverts the Keyguard qualification and restores the test to all windows. This fix has been tested against the repro steps for all three bugs above. In addition this fixes bug 11033407. The fix for the bug is described in the bug. Change-Id: Ie0f4c7cd4697c1689c4f331d572359cf7ce934cf
* | | Force relayout at completion of status bar animationCraig Mautner2013-10-291-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | A final layout pass should be done whenever the status bar has completed its incoming animation. Fixes bug 10387660. Change-Id: I48c19015c53116b58cf73e20be32d1f64dd682ca
* | | Merge "Track window position with task position." into klp-devCraig Mautner2013-10-243-19/+39
|\ \ \
| * | | Track window position with task position.Craig Mautner2013-10-243-19/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Windows were previously ordered by TaskStack/ActivityStack order. This change provides a data structure in DisplayContent that tracks task movement. Previously Recents and Home activity windows were always adjacent because they were on the same stack. With this change windows from other activities can be placed between the two. Fixes bug 11338594. Change-Id: Ie34443ff22f330d015141d97db79370c54920d28
* | | | Merge "Disable time consuming debugging code." into klp-devCraig Mautner2013-10-241-1/+1
|\ \ \ \
| * | | | Disable time consuming debugging code.Craig Mautner2013-10-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Scanning bitmaps for monochromicity takes time. Lots of time. Don't do it. Fixes bug 11366278. Change-Id: I7a8ad42751311fc39efc27fb4c51522fc1ba0523
* | | | | Improve Jank for translucent activitiesAdam Lesinski2013-10-231-17/+3
| |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous jank improvement only worked when closing an app, not when bringing one forward (hitting home button). This should cover the specific case that is being missed: Having the Home task being brought to front over a translucent window, with a wallpaper behind both tasks. bug:11253262 Change-Id: I200ef6fe2dda8d9ab4e1f82059b4f888c59007f4
* | | | Merge "Fix issue #11278906: Some wm commands fail on shell users" into klp-devDianne Hackborn2013-10-231-38/+64
|\ \ \ \
| * | | | Fix issue #11278906: Some wm commands fail on shell usersDianne Hackborn2013-10-231-38/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Binder.clearCallingIdentity makes everything better. Change-Id: I31cd9478c857553b3cf1ea54d5b4987571788796
* | | | | Don't use transient states for wallpaper animation.Craig Mautner2013-10-223-11/+10
| |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The WindowManagerService member mLowerWallpaperTarget is not stable throughout an app transition. Relying on it to be stable causes the intra-wallpaper animation to start out right but after the windows have been relayed out there is no longer a lower wallpaper target. This causes the wallpaper to start tracking the animation of the current wallpaper target rather than remain stable. Switching to a new variable that saves the state of wallpaper animation at the start of the animation fixes bug 11240590. Change-Id: I336a59c47665fcf61019f567b8663956ff0e4940
* | | | Merge "Fix jank for translucent window transitions" into klp-devAdam Lesinski2013-10-221-0/+14
|\ \ \ \ | |/ / / |/| | |
| * | | Fix jank for translucent window transitionsAdam Lesinski2013-10-211-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a translucent window is closing, the transition animation to Launcher is janky because Launcher is expected to be 'opening' but it has always been open underneath the translucent window. Therefore, the animation applied to the translucent app appears janky. bug:11253262 Change-Id: I9b6af3291d119e6927401f63785b12f25573f4eb
* | | | Remove debug logging.Craig Mautner2013-10-151-1/+1
|/ / / | | | | | | | | | Change-Id: I5d7c11e8b8525bfc8eb87bb0fff4f71337b4a39d
* | | Move the wallpaper beneath the keyguard.Craig Mautner2013-10-141-4/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the keyguard is the wallpaper target the wallpaper cannot sit at the bottom of the stack and must be directly beneath the keyguard. Otherwise keep it at the bottom of the window stack. App animations when the keyguard is showing should not be disabled if the keyguard is also animating. Fixes bug 10858941. Fixes bug 10932680. Change-Id: I8399837f6510ea16003f68b165e67439f3571ef4
* | | Merge "Revert "Restore wallpaper positioning between apps."" into klp-devCraig Mautner2013-10-141-2/+9
|\ \ \
| * | | Revert "Restore wallpaper positioning between apps."Craig Mautner2013-10-131-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit faf1a40382b61d9cabab82e6e835603511046564. Bug 10932680 is back where it was. Change-Id: I5058db837941769f25f09e3fafd9c19ef370df8e
* | | | Fix issue #11199654: Action bar enter animation skips frames when cleared by ↵Dianne Hackborn2013-10-131-1/+1
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the system We have become too aggressive about not allowing windows to draw while windw animations are running, basically not allowing any drawing in any window when there is any window animation. So if you did a relayout while the status bars were being animated, your window would stop drawing until that status bar animation was complete. This change relaxes those rules in two ways: - A particular window will only be told to stop updating when *it* is currently involved in a window animation. So animations in status bars will not stop app windows from update, and vice versa. - If a window receives input events while it is in the "do not update" state, we will immediately terminate that state and start allowing it to draw. If the user is actually interacting with a window, we don't want to wait to show feedback. Change-Id: I72574eec048aee53115b46a78686cf27f42c42f7
* | | Restore wallpaper positioning between apps.Craig Mautner2013-10-121-9/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Simplification where wallpaper was behind all apps didn't work when keyguard and associated wallpaper needed to be above phone screen when phone screen animated in and out. Instead phone screen was instantly hiding the wallpaper. Fixes most of bug 10932680. This fixes the wallpaper disappearing as soon as the animation begins when going from keyguard to phone. There remains jank going from phone to lockscreen where the animation is not occurring and the phone blanks out immediately. Change-Id: Ie5f464acb2f6cefd2fb91f3b920a687ec7c15d76
* | | Merge "Reduce jank on incoming phone call during dream." into klp-devCraig Mautner2013-10-112-4/+5
|\ \ \
| * | | Reduce jank on incoming phone call during dream.Craig Mautner2013-10-102-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Include dreams in the conditions that disable transition animations. This way there is no visibility of activities that are closing behind the keyguard when an activity that dismisses the keyguard starts up. - Do not notify the keyguard mediator when the keyguard is dismissed because a dream is starting up. This keeps activities from resuming just because the keyguard is being dismissed. Fixes bug 11064847. Change-Id: I9d32fc96d518b1cdab511e187226a3cb889cf6d4
* | | | Merge "Add task to list before looking it up." into klp-devCraig Mautner2013-10-101-27/+4
|\ \ \ \
| * | | | Add task to list before looking it up.Craig Mautner2013-10-091-27/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rearranging the order of operations allows a newly added task to be bumped to the top during window sorting. Also, redundant calls moving the home task to the bottom when moving an app task to the top are removed. Maybe fix 10858941. Change-Id: Ic42d2e7045175384591644675dd0e8013a7c7528
* | | | | Merge "Remove overly tight constraint on drawn Keyguard." into klp-devCraig Mautner2013-10-091-3/+3
|\ \ \ \ \
| * | | | | Remove overly tight constraint on drawn Keyguard.Craig Mautner2013-10-081-3/+3
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The requirement that a window that is invisible will not be drawn is incorrect. In particular the test fails before a surface has even been added (mHasSurface == false) or shown (mPolicyVisibility == false). This was causing the screen to turn on before Keyguard had been drawn and exposing surfaces that would have normally remained hidden. Also, don't pass null into KeyguardServiceDelegate.onShown() or we will immediately turn the screen on before Keyguard is drawn. Fixes bug 11062635. Change-Id: I964c7ef186d0a94678020b9c27ca6b79e5433350
* | | | | Merge "Ignore certain WindowManager flags when touch exploration is enabled" ↵Alan Viverette2013-10-081-0/+5
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | into klp-dev
| * | | | Ignore certain WindowManager flags when touch exploration is enabledAlan Viverette2013-10-071-0/+5
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specifically, ignore any flags that alter the visibility of the navigation bar and transparency. BUG: 11082573 Change-Id: I17264dc55a1c6c3cb9b9cf92d5121799cecee5b8
* | | | Yet more debugging for 10858941.Craig Mautner2013-10-073-10/+12
|/ / / | | | | | | | | | Change-Id: I258957044cb1a8331124f6abbe53428429c33355
* | | Merge "Retain IME assignment if no windows accept input." into klp-devCraig Mautner2013-10-031-2/+2
|\ \ \
| * | | Retain IME assignment if no windows accept input.Craig Mautner2013-10-031-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Was skipping over the default assignment due to new null value for windows (ag/361266). Fixes bug 10987178. Change-Id: I89efd41ab54b42de384eec84c5e937cc2a59d099
* | | | Merge "Make DimLayer size dependent on stack layout." into klp-devCraig Mautner2013-10-032-18/+29
|\ \ \ \
| * | | | Make DimLayer size dependent on stack layout.Craig Mautner2013-10-022-18/+29
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Only use the stack bounds for the DimLayer bounds if there is more than one stack on a layer. Otherwise cover the entire screen (and more) with the DimLayer. This way there are no exposed regions when rotating. Fixes bug 10428085. Change-Id: I7bfff12b69d59e86610621c498dab35cf0db8eb5
* | | | Merge "Store decor rects per window for transition cropping." into klp-devJohn Spurlock2013-10-033-8/+12
|\ \ \ \
| * | | | Store decor rects per window for transition cropping.John Spurlock2013-10-023-8/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of keeping a single global system decor rect around in WindowManagerService, calculate and store policy-defined system-decor frame for each window. The per-window decor rect is useful for smooth transitions, since it determines window cropping during transition animations. Bug:10938001 Change-Id: Ice6652aa5946027c45c0b7ab4e46473a0f8e3f90