29479ebe1007361222bf6ab4d5e2a27927d4b8e8 |
|
14-Feb-2013 |
Mathias Agopian <mathias@google.com> |
clean-up following Surface split Change-Id: I853a76d92d957ee38a36fcdd280d6407ec316987
/frameworks/base/services/java/com/android/server/wm/DragState.java
|
3866f0d581ceaa165710feeee9f37fe1b0d7067d |
|
12-Feb-2013 |
Mathias Agopian <mathias@google.com> |
split Surface in two classes: SurfaceControl and Surface SurfaceControl is the window manager side; it can control the attributes of a surface but cannot push buffers to it. Surface on the other hand is the application (producer) side and is used to push buffers to the surface. Change-Id: Ib6754c968924e87e8dd02a2073c7a447f729f4dd
/frameworks/base/services/java/com/android/server/wm/DragState.java
|
2d5618c22101cfc4d6478cfe1d846798389540c1 |
|
18-Oct-2012 |
Craig Mautner <cmautner@google.com> |
Allow getDisplayContentLocked to return null... ... and check for null returns. This prevents DisplayContent objects from containing null Display references. Bug: 7368565 fixed. Change-Id: I830fb4c1349204c366193657a95a92c48ccee66c
/frameworks/base/services/java/com/android/server/wm/DragState.java
|
5c0e78c445ed4b12fec295f1c7f0799d1e79bf72 |
|
13-Sep-2012 |
Craig Mautner <cmautner@google.com> |
Rename variables and methods for clarity. Change-Id: I2a1b2f2d5605123e55f264d45b1e7292852f2a7f
/frameworks/base/services/java/com/android/server/wm/DragState.java
|
398341927f3dca68d71024483aa276d10af4c080 |
|
02-Sep-2012 |
Craig Mautner <cmautner@google.com> |
Minor refactors. - Refactor DragState to take Display instead of DisplayContent. - Rename xxxAnimationLw methods in WindowManagerPolicy to xxxPostLayout to reflect animation refactoring. Change-Id: I502f2aa45a699ad395a249a12abf9843294623f0
/frameworks/base/services/java/com/android/server/wm/DragState.java
|
3486b9696d81da8873ef595daa35b2d39fc83146 |
|
27-Aug-2012 |
Craig Mautner <cmautner@google.com> |
Fix drag bug. Previous assumption -- that the drag window was defined at time of DragState construction -- was false. The window, and hence the Display, is not known until performDrag. This change delays assigning DragState.mDisplayContent until the window/Display is known. Fixes bug 7028203. Change-Id: I5799005652c484ff0c45ab340ce3b9e4b784883e
/frameworks/base/services/java/com/android/server/wm/DragState.java
|
59c009776dae5ccbdfb93d7151ff2065ca049dc3 |
|
30-Jul-2012 |
Craig Mautner <cmautner@google.com> |
Introduce multiple displays with DisplayContent. Fix a couple of bugs that turned up. Remove touch/focus from display. Add iterators for access. Respond to comments. Remove TODOs, and some deviceId parameters. Change-Id: Idcdb4f1979aa7b14634d450fd0333d6eff26994d
/frameworks/base/services/java/com/android/server/wm/DragState.java
|
fa25bf5382467b1018bd9af7f1cb30a23d7d59f7 |
|
24-Jul-2012 |
Jeff Brown <jeffbrown@google.com> |
Add display manager skeleton. The purpose of this change is to remove direct reliance on SurfaceFlinger for describing the size and characteristics of displays. This patch also starts to make a distinction between logical displays and physical display devices. Currently, the window manager owns the concept of a logical display whereas the new display manager owns the concept of a physical display device. Change-Id: I7e0761f83f033be6c06fd1041280c21500bcabc0
/frameworks/base/services/java/com/android/server/wm/DragState.java
|
4532e6158474a263d9d26c2b42240bcf7ce9b172 |
|
05-Apr-2012 |
Jeff Brown <jeffbrown@google.com> |
Refactor input system into its own service. Extracted the input system from the window manager service into a new input manager service. This will make it easier to offer new input-related features to applications. Cleaned up the input manager service JNI layer somewhat to get rid of all of the unnecessary checks for whether the input manager had been initialized. Simplified the callback layer as well. Change-Id: I3175d01307aed1420780d3c093d2694b41edf66e
/frameworks/base/services/java/com/android/server/wm/DragState.java
|
32cbc3855c2a971aa5a801fd339fb6a37db91a1a |
|
01-Dec-2011 |
Jeff Brown <jeffbrown@google.com> |
Refactor InputQueue as InputEventReceiver. This change simplifies the code associated with receiving input events from input channels and makes it more robust. It also does a better job of ensuring that input events are properly recycled (sometimes we dropped them on the floor). This change also adds a sequence number to all events, which is handy for determining whether we are looking at the same event or a new one, particularly when events are recycled. Change-Id: I4ebd88f73b5f77f3e150778cd550e7f91956aac2
/frameworks/base/services/java/com/android/server/wm/DragState.java
|
36991744a221c30a47085442e6416bdde40b85e8 |
|
12-Oct-2011 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #5445966: WindowManager reporting -long on prime when it shouldn't be. The window manager now uses the app screen dimensions to compute the various configuration properties, as it should. This means that prime is official a "not long" device. Poor prime. It probably feels inadequate now. Because it is. Oh and all that other stuff? Debugging logs. Turned off. And why the heck not, debugging logs are great. Change-Id: Iaaf8ef270d986d34fd046d699ef4c0ecea1981fc
/frameworks/base/services/java/com/android/server/wm/DragState.java
|
df89e65bf0fcc651d20b208c8d8d0b848fb43418 |
|
07-Oct-2011 |
Dianne Hackborn <hackbod@google.com> |
Fix how we hide and show the nav bar. The PhoneWindowManager is now responsible for hiding and showing the nav bar. For hiding, it just moves it off the screen (easy way to get a nice slide animation on and off). At the same time, we use a new WM facility to put up a fake input window to capture all touch events. When a touch event is received, we force the system UI to clear the navigation hiding bit so it will be shown again. This removes a bunch of code from the system UI for hiding and showing the nav bar. Also removes the code calling from userActivity() to the system UI, which was bad. (Also no longer using userActivity() fixes bugs around re-showing the nav bar due to key presses and other wrong things.) Change-Id: I8c3174873b5bcaa36a92322a51e8f7993e88e551
/frameworks/base/services/java/com/android/server/wm/DragState.java
|
01a98ddbdfbaf1f0d2bc602537e6e314364902a3 |
|
21-Sep-2011 |
Jeff Brown <jeffbrown@google.com> |
Handle orientation changes more systematically. Bug: 4981385 Simplify the orientation changing code path in the WindowManager. Instead of the policy calling setRotation() when the sensor determined orientation changes, it calls updateRotation(), which figures everything out. For the most part, the rotation actually passed to setRotation() was more or less ignored and just added confusion, particularly when handling deferred orientation changes. Ensure that 180 degree rotations are disallowed even when the application specifies SCREEN_ORIENTATION_SENSOR_*. These rotations are only enabled when docked upside-down for some reason or when the application specifies SCREEN_ORIENTATION_FULL_SENSOR. Ensure that special modes like HDMI connected, lid switch, dock and rotation lock all cause the sensor to be ignored even when the application asks for sensor-based orientation changes. The sensor is not relevant in these modes because some external factor (or the user) is determining the preferred rotation. Currently, applications can still override the preferred rotation even when there are special modes in play that might say otherwise. We could tweak this so that some special modes trump application choices completely (resulting in a letter-boxed application, perhaps). I tested this sort of tweak (not included in the patch) and it seems to work fine, including transitions between applications with varying orientation. Delete dead code related to animFlags. Handle pausing/resuming orientation changes more precisely. Ensure that a deferred orientation change is performed when a drag completes, even if endDragLw() is not called because the drag was aborted before the drop happened. We pause the orientation change in register() and resume in unregister() because those methods appear to always be called as needed. Change-Id: If0a31de3d057251e581fdee64819f2b19e676e9a
/frameworks/base/services/java/com/android/server/wm/DragState.java
|
d040edbae968d826aa2c82d382345811a45c646b |
|
31-Aug-2011 |
Dianne Hackborn <hackbod@google.com> |
Use floating point window positions. Gets rid of gapps between windows during animations. Change-Id: I17d2ef0af214008f0eabd7eb19268f145fe83b39
/frameworks/base/services/java/com/android/server/wm/DragState.java
|
cc4f7db698f88b633a286d8ab1105b28a474cd09 |
|
31-Aug-2011 |
Jeff Brown <jeffbrown@google.com> |
Fix input channel leak. Bug: 5156144 Input channels could leak or simply live longer than they should in some cases. 1. Monitor channels (used by the pointer location overlay) are never unregistered, so they would leak. Added code to handle failures in the receive callback by closing the input channel. 2. The DragState held onto its input window and application handles even after the input channel was disposed. Added code to null these handles out when they are no longer needed. 3. Input channels previously used as input event targets would stick around until the targets were cleared (usually on the next event). Added code to detect when the input dispatcher is in an idle state and to proactively clear the targets then to ensure that resources are released promptly. 4. Native input window handles held onto the input channel even after the input window was removed from the input dispatcher. Consequently, the input channel would not be disposed until the input window handle itself was freed. Since the input window handle is held from managed code, this meant that the window's input channel could stick around until the next GC. Refactored the input window handle to separate the properties (info) and identify (handle) state into different objects. Then modified the dispatcher to release the properties (info) when no longer needed, including the input channel. 7. The pointer location overlay does not actually use its standard input channel, only the monitor input channel. Added INPUT_FEATURE_NO_INPUT_CHANNEL to allow windows to request that they not be provided with an input channel at all. Improved some of the error handling logic to emit the status code as part of the exception message. Change-Id: I01988d4391a70c6678c8b0e936ca051af680b1a5
/frameworks/base/services/java/com/android/server/wm/DragState.java
|
bc68a59c024bdb745dac8e2ec7408a9f30595f1a |
|
25-Jul-2011 |
Jeff Brown <jeffbrown@google.com> |
Report the external display size to the input reader. The input reader needs this information so that it knows how to interpolate touches on an external touch screen. Changed Display so that it asks the WindowManager what the real display size is (as opposed to the raw display size). This means it now takes into the forced display size set by adb shell am display-size. Replaced all calls to getRealWidth() / getRealHeight() / getRealMetrics() in the WindowManager and replaced them with direct usages of the mCurDisplayWidth / mCurDisplayHeight so that the WM doesn't end up making a reentrant Binder call into itself. Fixed the table status bar HeightReceiver so that it updates the height on all configuration changes since it is possible that the display size changed independently of an external HDMI display being plugged / unplugged. Improved the Display class documentation to make the distinctions betweeen the various sizes clearer. Change-Id: I3f75de559d3ebffed532ab46c4ae52c5e7f1da2b
/frameworks/base/services/java/com/android/server/wm/DragState.java
|
ea4265512c3a2c352f6b99b65094138b96f6de75 |
|
19-Jul-2011 |
Jeff Brown <jeffbrown@google.com> |
Fix drag and drop regression. Bug: 5032496 Change-Id: I6504df1261f563092dadc84155d413f43e921ab8
/frameworks/base/services/java/com/android/server/wm/DragState.java
|
ffb3d939cc78cae523f14a0f8ab37061b5bffc20 |
|
18-May-2011 |
Dianne Hackborn <hackbod@google.com> |
Improve compat mode scaling implementation. Rip out the old funky code for trying to restrict the app window sizes to be within the compat mode range. Instead, we know rely entirely on scaling -- we deal with windows always with the scaling applied so that the window manager doesn't have to deal with them specially. Instead, we just apply the inverse scale at the few points we need to do something the app sees. Change-Id: I785409dd4513b5f738684e1635dc8f770c249651
/frameworks/base/services/java/com/android/server/wm/DragState.java
|
6e1eb76f02ccc9dbc309b938f62d39312da8cafe |
|
18-Feb-2011 |
Dianne Hackborn <hackbod@google.com> |
Explode WindowManagerService. Change-Id: I3d73ed4c9a1b5d730aeffeb2df24ce5e6117d698
/frameworks/base/services/java/com/android/server/wm/DragState.java
|