2D Recents: Fix a glitch during task relayout after a dismiss
This delays the resizing of the focus frame until all task views relayout animations have ended. Bug: 35258018 Test: Took before/after screencasts on local sw600dp device Change-Id: Ifbf8932f4141bf90a3dfef20b2938d6801383706
This commit is contained in:
@@ -20,6 +20,8 @@ import static android.app.ActivityManager.StackId.FREEFORM_WORKSPACE_STACK_ID;
|
||||
import static android.app.ActivityManager.StackId.FULLSCREEN_WORKSPACE_STACK_ID;
|
||||
import static android.app.ActivityManager.StackId.INVALID_STACK_ID;
|
||||
|
||||
import android.animation.Animator;
|
||||
import android.animation.AnimatorListenerAdapter;
|
||||
import android.animation.ObjectAnimator;
|
||||
import android.animation.ValueAnimator;
|
||||
import android.annotation.IntDef;
|
||||
@@ -1496,11 +1498,6 @@ public class TaskStackView extends FrameLayout implements TaskStack.TaskStackCal
|
||||
// Remove the task from the ignored set
|
||||
removeIgnoreTask(removedTask);
|
||||
|
||||
// Resize the grid layout task view focus frame
|
||||
if (mTaskViewFocusFrame != null) {
|
||||
mTaskViewFocusFrame.resize();
|
||||
}
|
||||
|
||||
// If requested, relayout with the given animation
|
||||
if (animation != null) {
|
||||
updateLayoutAlgorithm(true /* boundScroll */);
|
||||
@@ -1838,6 +1835,17 @@ public class TaskStackView extends FrameLayout implements TaskStack.TaskStackCal
|
||||
announceForAccessibility(getContext().getString(
|
||||
R.string.accessibility_recents_item_dismissed, event.task.title));
|
||||
|
||||
if (useGridLayout() && event.animation != null) {
|
||||
event.animation.setListener(new AnimatorListenerAdapter() {
|
||||
public void onAnimationEnd(Animator animator) {
|
||||
if (mTaskViewFocusFrame != null) {
|
||||
// Resize the grid layout task view focus frame
|
||||
mTaskViewFocusFrame.resize();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// Remove the task from the stack
|
||||
mStack.removeTask(event.task, event.animation, false /* fromDockGesture */);
|
||||
EventBus.getDefault().send(new DeleteTaskDataEvent(event.task));
|
||||
|
||||
@@ -269,7 +269,6 @@ public class TaskView extends FixedSizeFrameLayout implements Task.TaskCallbacks
|
||||
return super.onInterceptTouchEvent(ev);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void measureContents(int width, int height) {
|
||||
int widthWithoutPadding = width - mPaddingLeft - mPaddingRight;
|
||||
|
||||
Reference in New Issue
Block a user