Fixing regression in drag view
- We should be removing the dragged task view after it is dropped on a
drag target
- Also fixing issue with ViewPropertyAnimator listeners not being reset
causing callbacks to be called in later animations
Change-Id: Ib9815d77f4e427c575f5a77fa58ea5a22f39f10f
diff --git a/packages/SystemUI/src/com/android/systemui/recents/views/RecentsView.java b/packages/SystemUI/src/com/android/systemui/recents/views/RecentsView.java
index 5616018..551f067 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/views/RecentsView.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/views/RecentsView.java
@@ -470,6 +470,25 @@
if (event.dropTarget instanceof TaskStack.DockState) {
final TaskStack.DockState dockState = (TaskStack.DockState) event.dropTarget;
+ // Remove the task after it is docked
+ if (event.taskView.isFocusedTask()) {
+ mTaskStackView.resetFocusedTask();
+ }
+ event.taskView.animate()
+ .alpha(0f)
+ .setDuration(150)
+ .setInterpolator(mFastOutLinearInInterpolator)
+ .setUpdateListener(null)
+ .setListener(null)
+ .withEndAction(new Runnable() {
+ @Override
+ public void run() {
+ mTaskStackView.getStack().removeTask(event.task);
+ }
+ })
+ .withLayer()
+ .start();
+
// Dock the task and launch it
SystemServicesProxy ssp = Recents.getSystemServices();
ssp.startTaskInDockedMode(event.task.key.id, dockState.createMode);