Inline TaskView#resetVisualProperties() into RecentsView

- This was only used in RecentsView#resetTaskVisuals() anyway
- Previously resetVisualProperties() just called resetViewTransforms()
  plus setFullscreenProgress(0) and setModalness(0)
- The latter 2, specificially setFullscreenProgress(0) led to problems
  such as the bug below. Instead, we should reset to the current
  mFullscreenProgress and mTaskModalness.

Bug: task view sometimes shifted up during quick switch
Steps:
- Do the quick switch gesture very quickly
- At the start of the gesture, we call getTasks(), which calls
  applyLoadPlan() asynchronously
- applyLoadPlan() calls resetTaskVisuals(), so if this happened
  after the gesture ended, we would setFullscreenProgress(0) on all
  the task views, hence the upwards shift (if the gesture was still in
  progress, it would reapply the real fullscreen progress)

Fixes: 157105795
Change-Id: Idb9d91ff89701d726838b47f955d4300f5ef13bd
This commit is contained in:
Tony Wickham 2020-06-18 19:57:43 -05:00
parent 946696124a
commit d2fffa6ea5
2 changed files with 4 additions and 8 deletions

View File

@ -791,8 +791,10 @@ public abstract class RecentsView<T extends BaseActivity> extends PagedView impl
for (int i = getTaskViewCount() - 1; i >= 0; i--) {
TaskView taskView = getTaskViewAt(i);
if (mIgnoreResetTaskId != taskView.getTask().key.id) {
taskView.resetVisualProperties();
taskView.resetViewTransforms();
taskView.setStableAlpha(mContentAlpha);
taskView.setFullscreenProgress(mFullscreenProgress);
taskView.setModalness(mTaskModalness);
}
}
if (mRunningTaskTileHidden) {

View File

@ -543,7 +543,7 @@ public class TaskView extends FrameLayout implements PageCallbacks, Reusable {
setIconAndDimTransitionProgress(iconScale, invert);
}
private void resetViewTransforms() {
protected void resetViewTransforms() {
setCurveScale(1);
setTranslationX(0f);
setTranslationY(0f);
@ -552,12 +552,6 @@ public class TaskView extends FrameLayout implements PageCallbacks, Reusable {
setIconScaleAndDim(1);
}
public void resetVisualProperties() {
resetViewTransforms();
setFullscreenProgress(0);
setModalness(0);
}
public void setStableAlpha(float parentAlpha) {
mStableAlpha = parentAlpha;
setAlpha(mStableAlpha);