History log of /frameworks/base/services/core/java/com/android/server/wm/DragState.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
0e8524719559f0be9c8145dbf9f52100e1fb60c3 15-Jun-2016 Yorke Lee <yorkelee@google.com> Limit global drags to apps targeting SDK 24 and above

Bug: 29127791

Change-Id: Ib5f85a207bdb79eeac0418fda78e452d225761bc
/frameworks/base/services/core/java/com/android/server/wm/DragState.java
f9d9ce7705475874c82af04eb9b208a7fb556792 13-May-2016 Michael Wright <michaelwr@google.com> DO NOT MERGE Rename PointerIcon and Pointer Capture APIs

This is a response to API council feedback.

Bug: 26830970
Change-Id: Ia2d284b5c1ab8365bedfdc37d129be4b8146036b
/frameworks/base/services/core/java/com/android/server/wm/DragState.java
729c640cc887da9fe7a1b57121167a7bf83fee97 21-Apr-2016 Vladislav Kaznacheev <kaznacheev@google.com> Merge "Rename DropPermissions to DragAndDropPermissions" into nyc-dev
377c32845bffaf68d5751d8cdf6fd60b8b3f5dc3 20-Apr-2016 Vladislav Kaznacheev <kaznacheev@google.com> Rename DropPermissions to DragAndDropPermissions

Bug: 28296057
Change-Id: Ic95cb4ae9c351d903df78628e983dec2bacd0ad5
/frameworks/base/services/core/java/com/android/server/wm/DragState.java
598d40d93713470b7a4b02036cbea8ba9ee7ef90 20-Apr-2016 Vladislav Kaznacheev <kaznacheev@google.com> Send ACTION_DRAG_EXITED when the pointer moves over a non-touchable window

Bug: 28276601
Change-Id: Ic8da5c5ae422a9c9dd2d5bef898ee36a66b73afd
/frameworks/base/services/core/java/com/android/server/wm/DragState.java
acaa4a22e180e5fd919afac488a160496f63e416 31-Mar-2016 Vladislav Kaznacheev <kaznacheev@google.com> Replace drag and drop mouse pointer shape

Use PointerIcon.STYLE_GRABBING (closed hand) instead of
PointerIcon.STYLE_GRAB (open hand) while drag by mouse is in progress.

Bug:27946394
Change-Id: I56089b2c2cc5d1271df059832282725a886fc982
/frameworks/base/services/core/java/com/android/server/wm/DragState.java
5d6bdebfeed73ab5efff03c451b3ff7460935d00 13-Feb-2016 Vladislav Kaznacheev <kaznacheev@google.com> Move more drag-related code to DragState

Pure refactoring: moving the code manipulating
DragState member variable into DragState.

Change-Id: I1f9feff32c8b18ae0ff451030d026d4276fecd5b
/frameworks/base/services/core/java/com/android/server/wm/DragState.java
989b58a633ed6f2192a172855525d86477452884 10-Feb-2016 Vladislav Kaznacheev <kaznacheev@google.com> Update pointer icon when View.setPointerIcon is called

Currently the updated pointer icon is only displayed after
the next mouse move.

Bug:27107871
Change-Id: Ieed57b07fe44699735179cf57968a9bb08981396
/frameworks/base/services/core/java/com/android/server/wm/DragState.java
da2f1943dfb23f080e6cd5f16d55eb958f1d2001 12-Feb-2016 Vladislav Kaznacheev <kaznacheev@google.com> Make drag and drop comply with cross profile copy paste policy

If UserManager.DISALLOW_CROSS_PROFILE_COPY_PASTE is false
then drag and drop is only possible between apps from the same
profile.

This CL also supports cross-profile content URI grants.

Bug:26772503
Change-Id: I2e160cfdc6259fee2ea5e561c6e21fc0547dca2e
/frameworks/base/services/core/java/com/android/server/wm/DragState.java
92b26c5bffd92a8e2251f60a6663e9eba4d5aa2d 25-Jan-2016 Vladislav Kaznacheev <kaznacheev@google.com> Merge "Restore correct mouse pointer after drag and drop"
ec6a447c86b03f5896fdb717de530c8abf8887f9 22-Jan-2016 Vladislav Kaznacheev <kaznacheev@google.com> Restore correct mouse pointer after drag and drop

This CL introduces IWindow.updatePointerIcon method.
When the drag is complete, this method is called on the window
directly under the pointer.

Same method can be used in the future to update mouse pointer
when a window appears or disappears.

Bug: 24415739
Change-Id: Ia7b0522448cb3cd754da5e24696060d3b3bf2e50
/frameworks/base/services/core/java/com/android/server/wm/DragState.java
c8680438c0481b9c1e2b0bc856f900057ea14ba2 23-Jan-2016 Vladislav Kaznacheev <kaznacheev@google.com> Merge "Change mouse pointer when drag and drop is active"
ba761124e624ffed2681a9e171cd3f7d8c6ed59e 22-Jan-2016 Vladislav Kaznacheev <kaznacheev@google.com> Change mouse pointer when drag and drop is active

Mouse pointer is set to STYLE_GRAB when the drag has started and
reset to STYLE_DEFAULT when the drag has ended.

Resetting the pointer shape to the one defined by an underlying
view will be handled in a separate patch.

Bug: 24415739
Change-Id: I8df0a08c5701a34a48f10ec6b43c2cf2e6362d61
/frameworks/base/services/core/java/com/android/server/wm/DragState.java
829ab6daf5ea43cf805f6d8df4791189b2d3ee7e 22-Jan-2016 Vladislav Kaznacheev <kaznacheev@google.com> Merge "Zero out DragEvent position when it should not be available"
cc010b2a9865ccef23d85f2b31d680c58ef6aeaa 22-Jan-2016 Vladislav Kaznacheev <kaznacheev@google.com> Zero out DragEvent position when it should not be available

Bug: 26729675
Change-Id: I46507198deea89c100cb1b99a1ab7ec0719efb12
/frameworks/base/services/core/java/com/android/server/wm/DragState.java
d0ed8937ce07e7243d8349d6eb859e8bff24f50b 16-Jan-2016 Vladislav Kaznacheev <kaznacheev@google.com> Send ACTION_DRAG_LOCATION right after ACTION_DRAG_STARTED

When an app is both drag and drop origin and recipient, it might not
get ACTION_DRAG_ENTERED in some cases. Specifically, when
mouse is long-pressed and released in place, the sequence
of drag events is: ACTION_DRAG_STARTED, ACTION_DROP,
ACTION_DRAG_ENDED. This is happening because
ACTION_DRAG_ENTERED is emitted from ACTION_DRAG_LOCATION
handler (which is never called since mouse has not moved).

This problem does not exist with touch because (at least according
to observable behavior on Nexus 9) when drag and drop is initiated
by touch, MotionEvent.ACTION_MOVE immediately follows
MotionEvent.ACTION_DOWN (which normally causes
View.startDragAndDrop).

This CL fixes this problem by sending a single ACTION_DRAG_LOCATION
right after ACTION_DRAG_STARTED.

Bug: 26566708
Change-Id: Ifc8dd1005c04a5c8f0dc3f14be9e4839204cf281
/frameworks/base/services/core/java/com/android/server/wm/DragState.java
9149d2b117aef40f38a7d62c0f8c2bb76eb4e244 15-Dec-2015 Vladislav Kaznacheev <kaznacheev@google.com> Rename and simplify DropPermissionHolder

Rename DropPermissionHolder to DropPermissions and move
all server-side implementation details into a separate class.
Rename DragEvent.getDropPermissionHolder to
requestDropPermissions and make it take the permissions
implicitly.

Change-Id: Ia83f7cb8af07ce13ba9536d24b0f9d63331d8736
/frameworks/base/services/core/java/com/android/server/wm/DragState.java
0bd180d8880b3d1b9677f154c034a2af840b4796 08-Dec-2015 Filip Gruszczynski <gruszczy@google.com> Improve debugging setup for window manager package.

This moves debug flags to a dedicated class and also provides a
mechanism to either have fine grained tags or one common tag for easier
grepping the logcat. This mimicks the approach in activity manager
package.

Change-Id: Ie8c08b9a3d8b182335ee5547ee05d21b5933db6b
/frameworks/base/services/core/java/com/android/server/wm/DragState.java
ce2aef9f12f18fdc7811ff0de8c1c37177e7f645 21-Nov-2015 Vladislav Kaznacheev <kaznacheev@google.com> Animate drag shadow when the drag is cancelled

Added a placeholder animation (scale and alpha going down to 0).
Final UX spec is pending.

Change-Id: I324635d270cc4d7f865c9fe9ad2802b975d1e9ca
/frameworks/base/services/core/java/com/android/server/wm/DragState.java
a56b2b97872e43c2afe5ee6b09ac05bc90d38508 21-Nov-2015 Vladislav Kaznacheev <kaznacheev@google.com> Prevent animated drag shadow from being dragged.

Make sure that touch events do not affect the drag shadow
while it is being animated at the end of an unconsumed drop.

Change-Id: I4ead3148f5e67db8fb312b9f9b0383815f8b2809
/frameworks/base/services/core/java/com/android/server/wm/DragState.java
8b6f38c7c7dee7d0a543bfdb4cfd936b3fd42c07 20-Nov-2015 Vladislav Kaznacheev <kaznacheev@google.com> 'Drag and drop failed' animation

If the drop has not been consumed (DragState.mDragResult is false)
the drag shadow surface is not immediately destroyed, but animated
back into the position where the drag started.

The current animation is an OK placeholder, still waiting for the
final word from UX.

Bug: 24415573

Change-Id: Ia30135ce1e85655c8ba16e28dc69f0ebf9b36239
/frameworks/base/services/core/java/com/android/server/wm/DragState.java
f52dd205b9d31e0edcfdfff4ed98259c07ca38b7 16-Nov-2015 Filip Gruszczynski <gruszczy@google.com> Don't animate move triggered by resizing using dock divider.

Also includes some small, nice refactoring:
* move code that sets the move animation into WindowStateAnimator;
* a few fields can be made private in WindowStateAnimator this way;
* one boolean flag in WindowStateAnimator popped out as unused after
being privatized, so could be deleted.

Bug: 25690109
Change-Id: I8144114244892c4f27aff21455e8e76eddbd039f
/frameworks/base/services/core/java/com/android/server/wm/DragState.java
4c9ba52acad52f1c1087415e04b2a17614707e40 11-Nov-2015 Chong Zhang <chz@google.com> Fixes for dim bounds and touch bounds

- Change dimming and touch related usage to use task's "max visible
bounds", which is the app within a task that's covering the maximum
visible area looking down from top. This solves the problem where
an app pops up a dialog window. We should dimming (and allow touch)
the entire task area, not just the dialog's visible area.

- Fix initial bounds used in drag moving/resizing, this should be
visible bounds of the app main window, not the original task bounds.

- Fix touch region set up for freeform apps, even when task is not
full screen, we should get the max visible bounds first (as freeform
app could have dialogs too).

bug: 25494928
bug: 25487005
bug: 25613403

Change-Id: Ib1c6a1665fb83ded2fcb0a7ea92cf1def5372edd
/frameworks/base/services/core/java/com/android/server/wm/DragState.java
c748241523e12121015e793f5f368638b98a11fe 05-Nov-2015 Vladislav Kaznacheev <kaznacheev@google.com> Expose the desktop location of an unconsumed drag and drop

When dispatching DragEvent for ACTION_DRAG_ENDED action
getX and getY will return the location of the drop if it was not
consumed by any app.

Consumed drops will return (0,0) location as before.

Bug: 25486808
Change-Id: Ic57d94b42de62d8327e9ce47d92ba335c21b8ae2
/frameworks/base/services/core/java/com/android/server/wm/DragState.java
077794468a1bfee705366e02ff226fda2366d456 26-Oct-2015 Vladislav Kaznacheev <kaznacheev@google.com> Merge "Fix drag and drop URI permission grants"
e71a321305381d039e3fe637f22e1f82b3dc9e91 24-Oct-2015 Vladislav Kaznacheev <kaznacheev@google.com> Fix drag and drop URI permission grants

Currently cross app drag and drop with content URIs
only works for Owner. This is because the source Uid
is initialized after a Binder.clearCallingIdentity call.
The real source app identity is lost and things work
by accident for Owner only.

Bug: 25232077
Change-Id: Iaaaa735a04909a3b05fae7a7a421dbf02206cd68
/frameworks/base/services/core/java/com/android/server/wm/DragState.java
68dd2e864412851cd4e8b00c02a3a9ff0347df32 23-Oct-2015 Vladislav Kaznacheev <kaznacheev@google.com> Fix cross-app drag and drop crash.

A DragEvent created in DragState.broadcastDragEndedLw
could be recycled twice if one of the notified windows
belongs to the system process. In this case the same
instance of DragEvent is recycled first inside the event
handler, and then the second time before exiting the
function (which causes a RuntimeException).

Added a Pid check similar to another four places in this
class where dispatchDragEvent is called.

Bug: 25079983
Change-Id: Ia7c1b9258a0c624bc7e2451650e2fb362848a16d
/frameworks/base/services/core/java/com/android/server/wm/DragState.java
03b56c228a0492ad711acd6904c96493c13e44e9 17-Sep-2015 Vladislav Kaznacheev <kaznacheev@google.com> Merge "Handle content URI permissions on drop"
61b009e0591df4fcaf5c57c6ce598044263d952f 17-Sep-2015 Wale Ogunwale <ogunwale@google.com> Don't crop home activity windows to stack bounds.

We crop windows to their stack bounds when the docked stack
exists. We don't want to do this for the home activity since
the docked stack isn't visible when the home activity is visible.

Change-Id: Ibb3157dabbb6c979358ddc2098a01c6ddf6540e8
/frameworks/base/services/core/java/com/android/server/wm/DragState.java
3b2658011819cfe1bed61763bb666bde6e919f79 16-Sep-2015 Wale Ogunwale <ogunwale@google.com> Use stack bounds to determine input bounds for window.

We were previously using the task bounds to determine the input
bounds for the window. This doesn't work for the case where the
docked stack is next to a non-resizeable activity/task. In this
case the task is still fullscreen, but the window surface is
cropped to the stack size which isn't fullscreen since the docked
stack is up. By using the stack bounds the input region matches
what is displayed on screen.

Change-Id: Ia4d2b3a7a050eff38d651e511f5822c4428e137d
/frameworks/base/services/core/java/com/android/server/wm/DragState.java
ede5f5480e58dac9f6ddbd36a3085592d79c98ef 16-Jul-2015 Vladislav Kaznacheev <kaznacheev@google.com> Handle content URI permissions on drop

Change-Id: I846071f01ecd1eff8e3a54a1806e68e1a4b335d2
/frameworks/base/services/core/java/com/android/server/wm/DragState.java
8e89b31a62fb9ec5ad33908c5e8e9c7ab2fd949f 10-Sep-2015 Chong Zhang <chz@google.com> Move window moving and resizing handling to WindowManager

- add a startMoving API to initiate a window move from app, once
the move starts WindowManager will take over the event handling.

- detect touch events along window's outside border and start
a resize if necessary

Change-Id: Ic7e8baba34e0aa27a43173e044ffb46e93e219e0
/frameworks/base/services/core/java/com/android/server/wm/DragState.java
f932e56bd8abd737e471e841f175c787c4f20826 20-Aug-2015 Skuhne <skuhne@google.com> Adding a touchable area around a task

To allow task/window resizing through decors drawn
outside the task bounds (e.g. shadows) on the free form
desktop.

Bug: 23324672
Change-Id: Iaf88ec658e235aa74317a0f33d25fee83f959ac3
/frameworks/base/services/core/java/com/android/server/wm/DragState.java
e4a0c5722b1d8db95dfc842d716452dbbf02c86d 30-Jun-2015 Wale Ogunwale <ogunwale@google.com> Allow stacks to hold tasks on various sizes.

Tasks are now resizeable just like stacks. Adjusting the size
of a stack will also adjust the size of all it's containing
tasks. This model allows us to be more flexible
in using stacks as workspaces (like you would have in a
desktop environment) and tasks as the resizeable windows
within the workspace.

Also added "adb shell dumpsys window visible-apps" for
getting the list of visible app windows.

Bug: 22068114
Bug: 19182363

Change-Id: I5bf77063252a5abae4e327f6fc42e607091749f9
/frameworks/base/services/core/java/com/android/server/wm/DragState.java
c7ad0a0cb06aa446d0e3777ead0f2e4ba8d5c349 19-Mar-2015 Vladislav Kaznacheev <kaznacheev@google.com> Constrain 'touch modal' behavior to the activity stack.

Currently a 'touch modal' window grabs drag events
from the entire screen. Since 'touch modal' is the
default, this makes dragging between apps impossible.

This change allows such grabbing behavior only for
events that are still over the same activity stack.

Bug:19548858
Change-Id: I7d48b58e7fcb620521361e17cb70914913afae03
/frameworks/base/services/core/java/com/android/server/wm/DragState.java
c08eab81f30a3120ec0929d3508b4a78d498e1ff 11-Nov-2014 Craig Mautner <cmautner@google.com> Show error dialogs over apps that dismiss keyguard

Error dialogs absorb all input to ensure that they are not missed.
This can cause the screen to lock up if they are not displayed but
are still absorbing touches. This was what was happening when there
was an error dialog up at the same time as a phone call came in as
in b/17648830.

This fix recognizes when an app is dismissing the keyguard and
forces any error dialogs to be shown over such an app.

This also removes the private flags from the input system as they
are no longer needed.

Fixes bug 17648830.

Change-Id: I5c98b8265a1448b445fdb2f745fc78892f8656a4
/frameworks/base/services/core/java/com/android/server/wm/DragState.java
49782e46c0eb85a25ae2abcf80880c48dbab5aea 20-Dec-2013 Amith Yamasani <yamasani@google.com> am 9158825f: Move some system services to separate directories

* commit '9158825f9c41869689d6b1786d7c7aa8bdd524ce':
Move some system services to separate directories
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/DragState.java