summaryrefslogtreecommitdiffstats
path: root/services/java/com/android/server/wm
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | Merge "Private flags are masked in correct variable" into klp-devAdam Lesinski2013-10-035-10/+17
|\ \ \ \ \
| * | | | | Private flags are masked in correct variableAdam Lesinski2013-10-025-10/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | | Merge "Reduce max recents on lowram" into klp-devJohn Reck2013-10-031-2/+6
|\ \ \ \ \ \
| * | | | | | Reduce max recents on lowramJohn Reck2013-10-021-2/+6
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | | Merge "Don't reorder windows on non-default display." into klp-devCraig Mautner2013-10-021-5/+2
|\ \ \ \ \ \ | |_|/ / / / |/| | | | |
| * | | | | Don't reorder windows on non-default display.Craig Mautner2013-10-021-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At least not until we add tasks to those displays. Fixes bug 10264736. Change-Id: I3baed4bf324c4a11bbf5b07755218c2992f5af39
* | | | | | Merge "Create new window-side task on demand." into klp-devCraig Mautner2013-10-021-10/+15
|\ \ \ \ \ \ | |/ / / / / | | / / / / | |/ / / / |/| | | |
| * | | | Create new window-side task on demand.Craig Mautner2013-10-021-10/+15
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The activity manager can create a new task under certain circumstances in resetTargetTaskIfNeededLocked(). In that case the window manager was not told to create a new task. This fix creates the task in window manager when it recognizes that there is a new task required. Fixes bug 10412588. Change-Id: Ife9ecfeb7f53f9df5950322c9359c836adc258a2
* | | | Fix issue #11005453: [SUW] G+ profile creation for new user brokenDianne Hackborn2013-10-012-2/+2
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The main problem here was a mistake when turning a single process structure to a multi-package-process structure with a common process. When we cloned the original process state, if there were any services already created for the process for that package, they would be left with their process pointer still referencing the original now common process instead of the package-specific process, allowing the active counts to get bad. Now we switch any of those processes over to the new package-specific process. There was also another smaller issue with how ServiceRecord is associated with a ServiceState -- we could be waiting for an old ServiceRecord to be destroyed while at the same time creating a new ServiceRecord for that same service class. These would share the same ServiceState, so when the old record finally finished destroying itself it would trample over whatever the new service is doing. This is fixed by changing the model to instead of using an "active" reference count, we have an object identifying the current owner of the ServiceState. Then when the old ServiceRecord is cleaning up, we know if it is still the owner at that point. Also some other small things along the way -- new Log.wtfStack() method that is convenient, new suite of Slog.wtf methods, fixed some services to use Slog.wtf when catching exceptions being returned to the caller so that we actually know about them. Change-Id: I75674ce38050b6423fd3c6f43d1be172b470741f
* | | Merge "Make room for new public flags" into klp-devAdam Lesinski2013-10-022-3/+3
|\ \ \
| * | | Make room for new public flagsAdam Lesinski2013-10-012-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Moved two hidden flags to private bug:11033280 Change-Id: Icca867b073aff643eefdaf84df68de86bb6b05ac
* | | | Add a timeout for removing starting windows.Craig Mautner2013-10-011-11/+41
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If two activities are started at the same time the first activity can add a starting window but never start. In that case there is no event that will clear the starting window. This change adds a 10 second timeout for the starting window to be cleared after which it will clear the starting window automatically. Fixes bug 10797865. Change-Id: I1d59c3058c63367ff688d426474e8a6f006b2e0d
* | | Merge "Ensure correct window ordering." into klp-devCraig Mautner2013-09-292-2/+2
|\ \ \
| * | | Ensure correct window ordering.Craig Mautner2013-09-282-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make sure that moveStackWindowsLocked() is called every time that the stack ordering changes. This will rebuild the window list. Previously the call was being made after the moveStack() call which got forgotten in the addAppToken() causing the home stack to obscure incoming phone and video calls. Fixes bug 10023223. Fixes bug 10678010. Maybe fixes bug 10858941. Change-Id: I59922dc979a19210008eac1f528704984c63c886
* | | | Fix permissions on WindowManagerService.showAssistant()Jim Miller2013-09-271-10/+0
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | Since binder call permissions are not transitive by design, the proper way to fix this is to have the call talk directly to keyguard from the navigation bar. Fixes bug 9409008 Change-Id: Ibd90a79bb638c969b514455a2ad93c6ff668222d
* | | Merge "Remove Rect allocation in each layout pass." into klp-devJohn Spurlock2013-09-241-3/+3
|\ \ \
| * | | Remove Rect allocation in each layout pass.John Spurlock2013-09-241-3/+3
| | | | | | | | | | | | | | | | | | | | Bug:10786445 Change-Id: I0cb1ab7697f33e02adeb5319bae19d3a1d20753c
* | | | Merge "Fix method for determining focused window." into klp-devCraig Mautner2013-09-241-53/+30
|\ \ \ \ | |/ / / |/| | |
| * | | Fix method for determining focused window.Craig Mautner2013-09-241-53/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Method had been rewritten to be task-based and there were errors when a task had no apptokens. New version is much easier to maintain. Maybe fixes bug 10689184. Change-Id: I5e4c8447a33a4f5686296c20b9f9fe302c9ae49f
* | | | Issue #10461551: KLP API Review: AppOpsManagerDianne Hackborn2013-09-231-2/+2
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changed public constants from integers to strings. Internally everything is still integers, since we want that more efficient representation for most things. Changed the Callback interface to OnOpChangedListener. We also have a private versin that again takes an int, and tricks to make both work. Reworked the class documentation to be appropriate to the SDK (as much as it can be); most of the existing documentation is moved to the private implementation. Also added documentation of the MODE constants. Change-Id: I4f7e73cc99fe66beff9194e960e072e2aa9458f8
* | | Merge "Remove over-aggressive stack movement." into klp-devCraig Mautner2013-09-201-1/+0
|\ \ \
| * | | Remove over-aggressive stack movement.Craig Mautner2013-09-201-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Moving a task to the bottom was also moving its stack to the back. Since chrome always finishes by calling moveTaskToBack this put the home stack in front of the application stack and would cause bizarre window layering effects. Definitely fixes 10764463. Maybe fixes 10678010. Change-Id: Ic202ae4fad44b36a8444255764d2135fccd4743d
* | | | Debug for b/10689184.Craig Mautner2013-09-191-5/+4
|/ / / | | | | | | | | | Change-Id: I67b7a4bd7fb902b0d0275af0665625593dc1af00
* | | Merge "Do not assign InputMethod to non-input windows." into klp-devCraig Mautner2013-09-171-7/+6
|\ \ \
| * | | Do not assign InputMethod to non-input windows.Craig Mautner2013-09-171-7/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The InputMethod window was being assigned to the bottommost window as a fall-through situation when no window could receive input. This fix changes that so that if the bottommost window cannot receive IME input then the InputMethod will be unassigned. In most ANRs associated with bug 10689184 mInputMethodTarget was assigned to the Wallpaper window and the InputMethod was placed directly above it. When the ANR occurred the window that was awaiting focused was then always placed immediately above the InputMethod. This fix will keep that situation from happening. Change-Id: Ic247e8132a907f2712a9f8a89e43c099142ec851
* | | | More debugging for b/106899184Craig Mautner2013-09-171-17/+17
|/ / / | | | | | | | | | Change-Id: I729a2c5bae087713765d782daaa7309ee6cd5b5a
* | | Add debug logging for b/10689184.Craig Mautner2013-09-155-24/+32
| | | | | | | | | | | | | | | | | | Focus is now on focus. Remove logging when fixed. Change-Id: Ic0cd2d6bd4e65dac9dd40f4745dd12fb84f687ce
* | | Merge "Surface: Change OutOfResourcesException to be a runtime exception" ↵Igor Murashkin2013-09-118-30/+32
|\ \ \ | | | | | | | | | | | | into klp-dev
| * | | Surface: Change OutOfResourcesException to be a runtime exceptionIgor Murashkin2013-09-098-30/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Deprecates SurfaceTexture.OutOfResourcesException, it wasn't used - Make all JNI code throw only Surface.OutOfResourcesException - Get rid of redundant SurfaceControl.OutOfResourcesException Bug: 10566539 Change-Id: I58126260771b9ccff6a69c672ce7719b9f98138d
* | | | Propagate input ANR reason to activity manager log.Jeff Brown2013-09-102-8/+16
|/ / / | | | | | | | | | | | | | | | | | | | | | Make it a little easier to diagnose input dispatch timeouts by providing the detailed reason as the ANR annotation in the log. Bug: 10689184 Change-Id: Ie18fd9ad066b0673d1f57c030e027ad0085f4650
* | | Merge "When adding a window evaluate all tasks." into klp-devCraig Mautner2013-08-271-6/+3
|\ \ \
| * | | When adding a window evaluate all tasks.Craig Mautner2013-08-271-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously the code was adding a window based only on the tasks on the stack belonging to the window being added. But if a window from another stack was on top the window would be added out of order. In particular when there was a dialog over the launcher app and the device was rotated, the launcher window was being added over the dialog. This caused the launcher icons to obscure the dialog and for the dialog buttons to be untouchable. Fixes bug 9984067. Change-Id: I9a57eb641d118f4a90e98af8ca77127ab5364e79
* | | | Allow wallpaper to extend into the entire screen.John Spurlock2013-08-272-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously it was constrained to displayInfo.appWidth/appHeight which comes from PWM.getNonDecorDisplayWidth/Height, which includes the nav bar. Also adjust window layout to entire screen. This allows wallpaper to extend into the navigation bar region, important if the nav bar is hidden or transparent. Bug:10505328 Change-Id: Ia6057b9c57b476a48f3b2d8b6368fd631e944a3e
* | | | Drop touch events when no window was touched.Jeff Brown2013-08-221-0/+7
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Prevent spurious ANRs in the case where an input event is simply undeliverable because there is no window at the touched location. Previously, we would assume that we were just waiting for an application to start and become available to handle the event but this assumption is no longer valid. Monkeys in particular have a tendency to inject events outside of the boundaries of the display which results in spurious ANRs. So we should just reject them. Bug: 9774124 Change-Id: I5c40ce4c942f0557593a229dc5253a0e0bdb8466
* | | fix race condition when a new display is addedkeunyoung2013-08-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - When a new display is added, display add event triggers handleDisplayAddedLocked in WindowManagerService asynchronously. - After creating virtual display, application can move on and call addWindow before handleDisplayAddedLock is called. - Application's addWindow leads into creating a new DisplayContent, and a window will be added there. - But when handleDisplayAddedLocked is called later, it will create a new DisplayContent for the display, and the window added by the application will be lost. - This CL tries to fix the issue by checking the presence of DisplayContent before creating a new one. bug: 9975297 Change-Id: I9fac7ffb57c3e1effa8f0e950539cfae73e7e1c6
* | | Merge "Put animation background behind visible wallpaper" into klp-devCraig Mautner2013-08-101-14/+7
|\ \ \
| * | | Put animation background behind visible wallpaperCraig Mautner2013-08-101-14/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new wallpaper positioning associated with multiple activity stacks put animation backgrounds in front of the wallpaper. This caused hideous jank. Testing for visible wallpaper and moving the background behind it fixes the jank. Fixes bug 10078282. Possibly fixes bug 10247094. Change-Id: I3f4e07accd7276d59725192081904b791f77781f
* | | | Add extra layout pass after draw finished.Craig Mautner2013-08-091-0/+5
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Once content has been drawn another pass through layout is required to set mHasContent in the LogicalDisplay. Previously this pass was occuring because of a delayed animation step. When timing of that step changed that pass occurred before the draw completed. This is why Presentations were immediately displayed in jb-mr1 and not jb-mr2. Fixes bug 10154780. Change-Id: I0075c5a73d5cdf972e73fdd59c1fde46df64e245
* | | Fix propagation of display overscan information.Jeff Brown2013-08-071-34/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix several problems in the way that the overscan was plumbed in which could result in information not being delivered to applications. There was also a violation of certain invariants regarding the immutability of returned DisplayInfo objects. Bug: 10213771 Change-Id: I21184a14305e44278b5e81353bf95d511e8517fb
* | | Merge "Destroy surfaces when display is removed."Jeff Brown2013-08-073-1/+17
|\ \ \
| * | | Destroy surfaces when display is removed.Craig Mautner2013-08-073-1/+17
| | | | | | | | | | | | | | | | | | | | | | | | Fixes bug 10226153. Change-Id: I4eb8b14258985768d36745260ad4e62ba6c78844
* | | | Merge "Fix a bug where window animation could be janky"Mathias Agopian2013-08-071-3/+5
|\ \ \ \ | |/ / / |/| | |
| * | | Fix a bug where window animation could be jankyMathias Agopian2013-08-071-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SurfaceControl.closeTransaction() will block until the transaction takes effect and this happens at the next vsync -- in practice it means this call blocks for ~15ms. Immediately after that we ask the choreographer to schedule the next frame, which will happen at the next vsync. depending the timing, this would cause the window manager to animate at 30 fps instead of 60. This is fixed here by calling the choreographer before we call closeTransaction(). In the near future, we should be able to fix this by using an offseted vsync for the window manager and it won't need closeTransaction() to block at all. Bug: 10209014 Change-Id: I33d0c5ecfc25154b2859f3023a8cda6e641826bf
* | | | Create SurfaceSession before creating DimLayer.Craig Mautner2013-08-071-1/+1
|/ / / | | | | | | | | | | | | | | | Fixes "java.lang.IllegalArgumentException: session must not be null" Change-Id: Id7e77a44e59e5169ed8944682ab79783631182dd
* | | Add home StackBox to all DisplayContent.Craig Mautner2013-08-064-22/+27
| | | | | | | | | | | | | | | | | | | | | | | | Each display needs a stack and a stack box to contain windows. Fixes bug 10161525. Change-Id: Ic617cdf5a082ae68f0589e826ecbb37d8fba52ac
* | | Merge "Add force default orientation."Craig Mautner2013-08-035-48/+116
|\ \ \
| * | | Add force default orientation.Craig Mautner2013-08-025-48/+116
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Devices can be configured to remain in their default landscape or portrait orientation by setting config_forceDefaultOrientation true in overlay/.../values/config.xml. Activities that desire to run in the non-default orientation are supported by creating a logical display within the physical display. Transitions to and from the activity perform a crossfade rather than the normal rotation animation. Also, improve SurfaceTrace debug output. Fixes bug 9695710. Change-Id: I053e136cd2b9ae200028595f245b6ada5927cfe9
* | | | Fix some oom tuning and display size stuff.Dianne Hackborn2013-07-291-2/+2
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix a problem where we would not respect the device's override display density/size if those had been reset at some point (to an empty string). Tweak the tuning of low RAM devices to consider 480x800 as the base line resolution. That is our target these days. Improve output of oom and meminfo to include this tuning information. Change-Id: Ic9a85b0391b075178c4ac17e64086ef21889f430
* | | Update configuration before setting override size.Craig Mautner2013-07-251-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PhoneWindowManager.setInitialDisplaySize() uses Resources to determine the height of the Status and Navigation bars. Previous to this CL the Configuration was being updated after setInitialDisplaySize() was called which caused the Status and Navigation Bar heights to use the initial size and density and not the override values. This fix moves the updateConfiguration after the override values are read in but before setInitialDisplaySize() is called. Fixes bug 9966940. Change-Id: If5b033f520e14f32080d0f2aebbdc6bdae714f88
* | | Merge "Add null check to StackBox containment test."Craig Mautner2013-07-221-2/+2
|\ \ \