From f3d7328518201927e364c7a7529e311a4bb00607 Mon Sep 17 00:00:00 2001 From: Sunny Goyal Date: Fri, 20 Apr 2018 09:29:45 -0700 Subject: [PATCH] Using the activity size for swipe-dow animation in fallback+multiWindow mode Bug: 77281732 Change-Id: I2d652b801bcecd339fed00a43677b20d782997c6 --- .../com/android/quickstep/fallback/FallbackRecentsView.java | 5 +++++ .../src/com/android/quickstep/util/ClipAnimationHelper.java | 5 +++-- .../src/com/android/quickstep/util/TaskViewDrawable.java | 2 +- .../src/com/android/quickstep/views/LauncherRecentsView.java | 5 +++++ quickstep/src/com/android/quickstep/views/RecentsView.java | 2 ++ 5 files changed, 16 insertions(+), 3 deletions(-) diff --git a/quickstep/src/com/android/quickstep/fallback/FallbackRecentsView.java b/quickstep/src/com/android/quickstep/fallback/FallbackRecentsView.java index 3d64cc8c71..a4d3a50ff0 100644 --- a/quickstep/src/com/android/quickstep/fallback/FallbackRecentsView.java +++ b/quickstep/src/com/android/quickstep/fallback/FallbackRecentsView.java @@ -66,4 +66,9 @@ public class FallbackRecentsView extends RecentsView { LayoutUtils.calculateFallbackTaskSize(getContext(), dp, outRect); } + @Override + public boolean shouldUseMultiWindowTaskSizeStrategy() { + // Just use the activity task size for multi-window as well. + return false; + } } diff --git a/quickstep/src/com/android/quickstep/util/ClipAnimationHelper.java b/quickstep/src/com/android/quickstep/util/ClipAnimationHelper.java index 9dd83d20a6..2b621e8dc2 100644 --- a/quickstep/src/com/android/quickstep/util/ClipAnimationHelper.java +++ b/quickstep/src/com/android/quickstep/util/ClipAnimationHelper.java @@ -27,6 +27,7 @@ import com.android.launcher3.R; import com.android.launcher3.Utilities; import com.android.launcher3.dragndrop.DragLayer; import com.android.launcher3.views.BaseDragLayer; +import com.android.quickstep.views.RecentsView; import com.android.quickstep.views.TaskThumbnailView; import com.android.systemui.shared.recents.utilities.RectFEvaluator; import com.android.systemui.shared.system.RemoteAnimationTargetCompat; @@ -135,7 +136,7 @@ public class ClipAnimationHelper { } } - public void fromTaskThumbnailView(TaskThumbnailView ttv) { + public void fromTaskThumbnailView(TaskThumbnailView ttv, RecentsView rv) { BaseDraggingActivity activity = BaseDraggingActivity.fromContext(ttv.getContext()); BaseDragLayer dl = activity.getDragLayer(); @@ -144,7 +145,7 @@ public class ClipAnimationHelper { mHomeStackBounds.set(0, 0, dl.getWidth(), dl.getHeight()); mHomeStackBounds.offset(pos[0], pos[1]); - if (activity.isInMultiWindowModeCompat()) { + if (rv.shouldUseMultiWindowTaskSizeStrategy()) { // TODO: Fetch multi-window target bounds from system-ui DeviceProfile fullDp = activity.getDeviceProfile().getFullScreenProfile(); // Use availableWidthPx and availableHeightPx instead of widthPx and heightPx to diff --git a/quickstep/src/com/android/quickstep/util/TaskViewDrawable.java b/quickstep/src/com/android/quickstep/util/TaskViewDrawable.java index 0fa0023aad..e1910a62be 100644 --- a/quickstep/src/com/android/quickstep/util/TaskViewDrawable.java +++ b/quickstep/src/com/android/quickstep/util/TaskViewDrawable.java @@ -64,7 +64,7 @@ public class TaskViewDrawable extends Drawable { mThumbnailView = tv.getThumbnail(); mClipAnimationHelper = new ClipAnimationHelper(); - mClipAnimationHelper.fromTaskThumbnailView(mThumbnailView); + mClipAnimationHelper.fromTaskThumbnailView(mThumbnailView, parent); } public void setProgress(float progress) { diff --git a/quickstep/src/com/android/quickstep/views/LauncherRecentsView.java b/quickstep/src/com/android/quickstep/views/LauncherRecentsView.java index 90b4bd2c35..06e5311410 100644 --- a/quickstep/src/com/android/quickstep/views/LauncherRecentsView.java +++ b/quickstep/src/com/android/quickstep/views/LauncherRecentsView.java @@ -138,4 +138,9 @@ public class LauncherRecentsView extends RecentsView { } super.onTaskLaunched(success); } + + @Override + public boolean shouldUseMultiWindowTaskSizeStrategy() { + return mActivity.isInMultiWindowModeCompat(); + } } diff --git a/quickstep/src/com/android/quickstep/views/RecentsView.java b/quickstep/src/com/android/quickstep/views/RecentsView.java index 6a2df0b878..a41b36e393 100644 --- a/quickstep/src/com/android/quickstep/views/RecentsView.java +++ b/quickstep/src/com/android/quickstep/views/RecentsView.java @@ -1095,6 +1095,8 @@ public abstract class RecentsView return mPendingAnimation; } + public abstract boolean shouldUseMultiWindowTaskSizeStrategy(); + protected void onTaskLaunched(boolean success) { resetTaskVisuals(); }