From 8f34df423d9f65c692d9bcf59d224e0f938f78ac Mon Sep 17 00:00:00 2001 From: Jiaquan He Date: Tue, 27 Dec 2016 15:38:44 -0800 Subject: [PATCH] Cut the Grid-based Recents title if it's too long. Bug: 33847657 Bug: 32101881 Change-Id: I040dafcb37c9259dded8fa2cd896e4e4a59aeae5 --- .../systemui/recents/views/TaskStackAnimationHelper.java | 2 +- .../systemui/recents/views/TaskStackLayoutAlgorithm.java | 7 +++++++ .../com/android/systemui/recents/views/TaskStackView.java | 8 ++++---- .../recents/views/grid/TaskGridLayoutAlgorithm.java | 4 ++++ 4 files changed, 16 insertions(+), 5 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackAnimationHelper.java b/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackAnimationHelper.java index 493e6187c83e4..34c0c64b3d13f 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackAnimationHelper.java +++ b/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackAnimationHelper.java @@ -424,7 +424,7 @@ public class TaskStackAnimationHelper { final ReferenceCountedTrigger postAnimationTrigger) { TaskStackLayoutAlgorithm stackLayout = mStackView.getStackAlgorithm(); - int offscreenXOffset = mStackView.getMeasuredWidth() - stackLayout.mTaskRect.left; + int offscreenXOffset = mStackView.getMeasuredWidth() - stackLayout.getTaskRect().left; int taskViewCount = taskViews.size(); for (int i = taskViewCount - 1; i >= 0; i--) { diff --git a/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackLayoutAlgorithm.java b/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackLayoutAlgorithm.java index ccc6518edc372..f46de5f53e543 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackLayoutAlgorithm.java +++ b/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackLayoutAlgorithm.java @@ -1320,6 +1320,13 @@ public class TaskStackLayoutAlgorithm { mFrontOfStackTransform.visible = true; } + /** + * Returns the proper task rectangle according to the current grid state. + */ + public Rect getTaskRect() { + return mGridState.useGridLayout() ? mTaskGridLayoutAlgorithm.getTaskGridRect() : mTaskRect; + } + public void dump(String prefix, PrintWriter writer) { String innerPrefix = prefix + " "; diff --git a/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackView.java b/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackView.java index d9020be2de547..56ea1920e1573 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackView.java +++ b/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackView.java @@ -1268,8 +1268,8 @@ public class TaskStackView extends FrameLayout implements TaskStack.TaskStackCal if (tv.getBackground() != null) { tv.getBackground().getPadding(padding); } - mTmpRect.set(mStableLayoutAlgorithm.mTaskRect); - mTmpRect.union(mLayoutAlgorithm.mTaskRect); + mTmpRect.set(mStableLayoutAlgorithm.getTaskRect()); + mTmpRect.union(mLayoutAlgorithm.getTaskRect()); tv.measure( MeasureSpec.makeMeasureSpec(mTmpRect.width() + padding.left + padding.right, MeasureSpec.EXACTLY), @@ -1314,8 +1314,8 @@ public class TaskStackView extends FrameLayout implements TaskStack.TaskStackCal if (tv.getBackground() != null) { tv.getBackground().getPadding(padding); } - mTmpRect.set(mStableLayoutAlgorithm.mTaskRect); - mTmpRect.union(mLayoutAlgorithm.mTaskRect); + mTmpRect.set(mStableLayoutAlgorithm.getTaskRect()); + mTmpRect.union(mLayoutAlgorithm.getTaskRect()); tv.cancelTransformAnimation(); tv.layout(mTmpRect.left - padding.left, mTmpRect.top - padding.top, mTmpRect.right + padding.right, mTmpRect.bottom + padding.bottom); diff --git a/packages/SystemUI/src/com/android/systemui/recents/views/grid/TaskGridLayoutAlgorithm.java b/packages/SystemUI/src/com/android/systemui/recents/views/grid/TaskGridLayoutAlgorithm.java index 714b6fb0c859f..be3af040c7485 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/views/grid/TaskGridLayoutAlgorithm.java +++ b/packages/SystemUI/src/com/android/systemui/recents/views/grid/TaskGridLayoutAlgorithm.java @@ -195,4 +195,8 @@ public class TaskGridLayoutAlgorithm { buttonRect.bottom = buttonRect.top + mPaddingTopBottom; return buttonRect; } + + public Rect getTaskGridRect() { + return mTaskGridRect; + } }