Merge "Release input surface of drag completely"
diff --git a/services/core/java/com/android/server/wm/DragState.java b/services/core/java/com/android/server/wm/DragState.java
index 553b0ff..c8f7af5 100644
--- a/services/core/java/com/android/server/wm/DragState.java
+++ b/services/core/java/com/android/server/wm/DragState.java
@@ -147,12 +147,6 @@
return mIsClosing;
}
- private void hideInputSurface() {
- if (mInputSurface != null) {
- mTransaction.hide(mInputSurface).apply();
- }
- }
-
private void showInputSurface() {
if (mInputSurface == null) {
mInputSurface = mService.makeSurfaceBuilder(
@@ -198,8 +192,6 @@
mInputInterceptor = null;
}
- hideInputSurface();
-
// Send drag end broadcast if drag start has been sent.
if (mDragInProgress) {
final int myPid = Process.myPid();
@@ -239,6 +231,10 @@
}
// Clear the internal variables.
+ if (mInputSurface != null) {
+ mTransaction.remove(mInputSurface).apply();
+ mInputSurface = null;
+ }
if (mSurfaceControl != null) {
mTransaction.reparent(mSurfaceControl, null).apply();
mSurfaceControl = null;