summaryrefslogtreecommitdiff
path: root/services/java/com/android/server/wm/WindowManagerService.java
AgeCommit message (Collapse)Author
2013-12-19Move some system services to separate directoriesAmith Yamasani
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
2013-12-18Pair ActivityStacks with DisplaysCraig Mautner
- 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
2013-12-09DO NOT MERGE: Eliminate StackBox.Craig Mautner
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
2013-12-09DO NOT MERGE: Remove obsolete "headless" supportMike Lockwood
Change-Id: I829fe48e6ebcb819e260646bb19ac6ddfcf07f83
2013-11-21am 90192a61: am 0495f4ed: Merge "Make SurfaceView layers captured by ↵Craig Mautner
screenshotApplications()" * commit '90192a6165f37207fa8ceb15c07aa9582327c294': Make SurfaceView layers captured by screenshotApplications()
2013-11-21am 0495f4ed: Merge "Make SurfaceView layers captured by ↵Craig Mautner
screenshotApplications()" * commit '0495f4eded46efd7035ed672dc933ec6430b93fd': Make SurfaceView layers captured by screenshotApplications()
2013-11-21Make SurfaceView layers captured by screenshotApplications()Sangkyu Lee
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>
2013-11-18Notify apps when insets change.Craig Mautner
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
2013-11-15Restore jankless transition keyguard-to-wallpaperCraig Mautner
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
2013-11-12Merge "Relayout windows that handle their own config change." into klp-devCraig Mautner
2013-11-12Relayout windows that handle their own config change.Craig Mautner
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
2013-11-12Add event logging for tasks and stacks.Craig Mautner
Also remove crufty write-only DisplayContent.mStackHistory. Change-Id: I62b2b53dc02377c5d0d3b79df70b1990eed87d23
2013-11-08Fix a couple of issues with mOpeningApps.Craig Mautner
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
2013-11-08Allow keyguard dialogs to show on secondary displays.Jeff Brown
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
2013-11-06Tweak test for layout.Craig Mautner
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
2013-11-01Layout hidden windows on Configuration change.Craig Mautner
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
2013-10-24Merge "Track window position with task position." into klp-devCraig Mautner
2013-10-24Track window position with task position.Craig Mautner
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
2013-10-24Merge "Disable time consuming debugging code." into klp-devCraig Mautner
2013-10-24Disable time consuming debugging code.Craig Mautner
Scanning bitmaps for monochromicity takes time. Lots of time. Don't do it. Fixes bug 11366278. Change-Id: I7a8ad42751311fc39efc27fb4c51522fc1ba0523
2013-10-23Improve Jank for translucent activitiesAdam Lesinski
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
2013-10-23Merge "Fix issue #11278906: Some wm commands fail on shell users" into klp-devDianne Hackborn
2013-10-23Fix issue #11278906: Some wm commands fail on shell usersDianne Hackborn
Binder.clearCallingIdentity makes everything better. Change-Id: I31cd9478c857553b3cf1ea54d5b4987571788796
2013-10-22Don't use transient states for wallpaper animation.Craig Mautner
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
2013-10-22Merge "Fix jank for translucent window transitions" into klp-devAdam Lesinski
2013-10-21Fix jank for translucent window transitionsAdam Lesinski
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
2013-10-15Remove debug logging.Craig Mautner
Change-Id: I5d7c11e8b8525bfc8eb87bb0fff4f71337b4a39d
2013-10-14Move the wallpaper beneath the keyguard.Craig Mautner
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
2013-10-14Merge "Revert "Restore wallpaper positioning between apps."" into klp-devCraig Mautner
2013-10-13Revert "Restore wallpaper positioning between apps."Craig Mautner
This reverts commit faf1a40382b61d9cabab82e6e835603511046564. Bug 10932680 is back where it was. Change-Id: I5058db837941769f25f09e3fafd9c19ef370df8e
2013-10-13Fix issue #11199654: Action bar enter animation skips frames when cleared by ↵Dianne Hackborn
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
2013-10-12Restore wallpaper positioning between apps.Craig Mautner
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
2013-10-11Merge "Reduce jank on incoming phone call during dream." into klp-devCraig Mautner
2013-10-10Reduce jank on incoming phone call during dream.Craig Mautner
- 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
2013-10-10Merge "Add task to list before looking it up." into klp-devCraig Mautner
2013-10-09Add task to list before looking it up.Craig Mautner
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
2013-10-09Merge "Remove overly tight constraint on drawn Keyguard." into klp-devCraig Mautner
2013-10-08Remove overly tight constraint on drawn Keyguard.Craig Mautner
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
2013-10-08Merge "Ignore certain WindowManager flags when touch exploration is enabled" ↵Alan Viverette
into klp-dev
2013-10-07Yet more debugging for 10858941.Craig Mautner
Change-Id: I258957044cb1a8331124f6abbe53428429c33355
2013-10-07Ignore certain WindowManager flags when touch exploration is enabledAlan Viverette
Specifically, ignore any flags that alter the visibility of the navigation bar and transparency. BUG: 11082573 Change-Id: I17264dc55a1c6c3cb9b9cf92d5121799cecee5b8
2013-10-03Merge "Retain IME assignment if no windows accept input." into klp-devCraig Mautner
2013-10-03Retain IME assignment if no windows accept input.Craig Mautner
Was skipping over the default assignment due to new null value for windows (ag/361266). Fixes bug 10987178. Change-Id: I89efd41ab54b42de384eec84c5e937cc2a59d099
2013-10-03Merge "Store decor rects per window for transition cropping." into klp-devJohn Spurlock
2013-10-03Merge "Private flags are masked in correct variable" into klp-devAdam Lesinski
2013-10-03Merge "Reduce max recents on lowram" into klp-devJohn Reck
2013-10-02Reduce max recents on lowramJohn Reck
Bug: 10918599 Reduce the number of recent tasks to 10 on lowram devices Use RGB_565 on low ram devices for thumbnails instead of ARGB_8888 Combined this saves ~9MB across system_process and systemui Change-Id: Ieddcb512c7341a90097bc7cbc72d7355a775b416
2013-10-02Private flags are masked in correct variableAdam Lesinski
Newly added private flags were being masked in the public flag variable as opposed to the correct privateFlags variable. bug:11033280 bug:11043194 Change-Id: Idda3a70a083457f3f1b7d4b46d231f4a7e704cf0
2013-10-02Merge "Don't reorder windows on non-default display." into klp-devCraig Mautner
2013-10-02Don't reorder windows on non-default display.Craig Mautner
At least not until we add tasks to those displays. Fixes bug 10264736. Change-Id: I3baed4bf324c4a11bbf5b07755218c2992f5af39