summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SystemUI/res/layout/recents_stack_action_button.xml1
-rw-r--r--packages/SystemUI/src/com/android/systemui/recents/events/ui/dragndrop/DragDropTargetChangedEvent.java2
-rw-r--r--packages/SystemUI/src/com/android/systemui/recents/views/RecentsView.java46
-rw-r--r--packages/SystemUI/src/com/android/systemui/recents/views/TaskViewHeader.java4
4 files changed, 35 insertions, 18 deletions
diff --git a/packages/SystemUI/res/layout/recents_stack_action_button.xml b/packages/SystemUI/res/layout/recents_stack_action_button.xml
index 2b2ce4e53483..625e9c111672 100644
--- a/packages/SystemUI/res/layout/recents_stack_action_button.xml
+++ b/packages/SystemUI/res/layout/recents_stack_action_button.xml
@@ -18,7 +18,6 @@
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:gravity="start|center_vertical"
android:paddingStart="14dp"
android:paddingEnd="14dp"
android:paddingTop="12dp"
diff --git a/packages/SystemUI/src/com/android/systemui/recents/events/ui/dragndrop/DragDropTargetChangedEvent.java b/packages/SystemUI/src/com/android/systemui/recents/events/ui/dragndrop/DragDropTargetChangedEvent.java
index b85ddac62b19..216be6121f8d 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/events/ui/dragndrop/DragDropTargetChangedEvent.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/events/ui/dragndrop/DragDropTargetChangedEvent.java
@@ -23,7 +23,7 @@ import com.android.systemui.recents.views.DropTarget;
/**
* This event is sent when a user drags in/out of a drop target.
*/
-public class DragDropTargetChangedEvent extends EventBus.Event {
+public class DragDropTargetChangedEvent extends EventBus.AnimatedEvent {
// The task that is currently being dragged
public final Task task;
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 da2f7212cae0..9a3a41738c26 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/views/RecentsView.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/views/RecentsView.java
@@ -59,7 +59,6 @@ import com.android.systemui.recents.events.activity.HideStackActionButtonEvent;
import com.android.systemui.recents.events.activity.LaunchTaskEvent;
import com.android.systemui.recents.events.activity.ShowStackActionButtonEvent;
import com.android.systemui.recents.events.ui.AllTaskViewsDismissedEvent;
-import com.android.systemui.recents.events.ui.DeleteTaskDataEvent;
import com.android.systemui.recents.events.ui.DismissAllTaskViewsEvent;
import com.android.systemui.recents.events.ui.DraggingInRecentsEndedEvent;
import com.android.systemui.recents.events.ui.DraggingInRecentsEvent;
@@ -344,10 +343,10 @@ public class RecentsView extends FrameLayout {
if (RecentsDebugFlags.Static.EnableStackActionButton) {
// Measure the stack action button within the constraints of the space above the stack
- Rect actionButtonRect = mTaskStackView.mLayoutAlgorithm.mStackActionButtonRect;
+ Rect buttonBounds = getStackActionButtonBoundsFromStackLayout();
measureChild(mStackActionButton,
- MeasureSpec.makeMeasureSpec(actionButtonRect.width(), MeasureSpec.AT_MOST),
- MeasureSpec.makeMeasureSpec(actionButtonRect.height(), MeasureSpec.AT_MOST));
+ MeasureSpec.makeMeasureSpec(buttonBounds.width(), MeasureSpec.AT_MOST),
+ MeasureSpec.makeMeasureSpec(buttonBounds.height(), MeasureSpec.AT_MOST));
}
setMeasuredDimension(width, height);
@@ -376,16 +375,9 @@ public class RecentsView extends FrameLayout {
if (RecentsDebugFlags.Static.EnableStackActionButton) {
// Layout the stack action button such that its drawable is start-aligned with the
// stack, vertically centered in the available space above the stack
- Rect actionButtonRect = mTaskStackView.mLayoutAlgorithm.mStackActionButtonRect;
- int buttonLeft = isLayoutRtl()
- ? actionButtonRect.right + mStackActionButton.getPaddingStart()
- - mStackActionButton.getMeasuredWidth()
- : actionButtonRect.left - mStackActionButton.getPaddingStart();
- int buttonTop = actionButtonRect.top +
- (actionButtonRect.height() - mStackActionButton.getMeasuredHeight()) / 2;
- mStackActionButton.layout(buttonLeft, buttonTop,
- buttonLeft + mStackActionButton.getMeasuredWidth(),
- buttonTop + mStackActionButton.getMeasuredHeight());
+ Rect buttonBounds = getStackActionButtonBoundsFromStackLayout();
+ mStackActionButton.layout(buttonBounds.left, buttonBounds.top, buttonBounds.right,
+ buttonBounds.bottom);
}
if (mAwaitingFirstLayout) {
@@ -479,6 +471,17 @@ public class RecentsView extends FrameLayout {
false /* isDefaultDockState */, -1, true /* animateAlpha */,
true /* animateBounds */);
}
+ if (mStackActionButton != null) {
+ event.addPostAnimationCallback(new Runnable() {
+ @Override
+ public void run() {
+ // Move the clear all button to its new position
+ Rect buttonBounds = getStackActionButtonBoundsFromStackLayout();
+ mStackActionButton.setLeftTopRightBottom(buttonBounds.left, buttonBounds.top,
+ buttonBounds.right, buttonBounds.bottom);
+ }
+ });
+ }
}
public final void onBusEvent(final DragEndEvent event) {
@@ -735,4 +738,19 @@ public class RecentsView extends FrameLayout {
: Interpolators.ALPHA_IN);
mBackgroundScrimAnimator.start();
}
+
+ /**
+ * @return the bounds of the stack action button.
+ */
+ private Rect getStackActionButtonBoundsFromStackLayout() {
+ Rect actionButtonRect = new Rect(mTaskStackView.mLayoutAlgorithm.mStackActionButtonRect);
+ int left = isLayoutRtl()
+ ? actionButtonRect.left - mStackActionButton.getPaddingLeft()
+ : actionButtonRect.right + mStackActionButton.getPaddingRight()
+ - mStackActionButton.getMeasuredWidth();
+ int top = actionButtonRect.top +
+ (actionButtonRect.height() - mStackActionButton.getMeasuredHeight()) / 2;
+ actionButtonRect.offsetTo(left, top);
+ return actionButtonRect;
+ }
}
diff --git a/packages/SystemUI/src/com/android/systemui/recents/views/TaskViewHeader.java b/packages/SystemUI/src/com/android/systemui/recents/views/TaskViewHeader.java
index ddea4d98ae0e..a2f61c267f03 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/views/TaskViewHeader.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/views/TaskViewHeader.java
@@ -267,9 +267,9 @@ public class TaskViewHeader extends FrameLayout
lp = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT, Gravity.START | Gravity.CENTER_VERTICAL);
lp.setMarginStart(mHeaderBarHeight);
- lp.rightMargin = mMoveTaskButton != null
+ lp.setMarginEnd(mMoveTaskButton != null
? 2 * mHeaderBarHeight
- : mHeaderBarHeight;
+ : mHeaderBarHeight);
title.setLayoutParams(lp);
if (secondaryButton != null) {
lp = new FrameLayout.LayoutParams(mHeaderBarHeight, mHeaderBarHeight, Gravity.END);