summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Vladislav Kaznacheev <kaznacheev@google.com> 2015-04-07 23:32:06 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2015-04-07 23:32:10 +0000
commit17494017a61330f80aa99f5d0184b73fcfa333fd (patch)
tree20de84e6a59c25b349beef5d17ee69d6bef21a3d
parent550a901ce13269c700b6a913cfc4d7f1864c483c (diff)
parentc7ad0a0cb06aa446d0e3777ead0f2e4ba8d5c349 (diff)
Merge "Constrain 'touch modal' behavior to the activity stack."
-rw-r--r--services/core/java/com/android/server/wm/DragState.java8
1 files changed, 8 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/wm/DragState.java b/services/core/java/com/android/server/wm/DragState.java
index c6951bd4f9f6..1a125d4bfae2 100644
--- a/services/core/java/com/android/server/wm/DragState.java
+++ b/services/core/java/com/android/server/wm/DragState.java
@@ -24,6 +24,7 @@ import com.android.server.wm.WindowManagerService.H;
import android.content.ClipData;
import android.content.ClipDescription;
import android.graphics.Point;
+import android.graphics.Rect;
import android.graphics.Region;
import android.os.IBinder;
import android.os.Message;
@@ -63,6 +64,7 @@ class DragState {
Display mDisplay;
private final Region mTmpRegion = new Region();
+ private final Rect mTmpRect = new Rect();
DragState(WindowManagerService service, IBinder token, SurfaceControl surface,
int flags, IBinder localWin) {
@@ -411,6 +413,12 @@ class DragState {
continue;
}
+ child.getStackBounds(mTmpRect);
+ if (!mTmpRect.contains(x, y)) {
+ // outside of this window's activity stack == don't tell about drags
+ continue;
+ }
+
child.getTouchableRegion(mTmpRegion);
final int touchFlags = flags &