2D Recents: Slightly darken header to differentiate from thumbnail

Bug: 34771148
Test: Locally on sw600dp device, sent screenshot to UX to confirm
Change-Id: I74282c6ed81d3b48d554f9acf55d4fafca2c73f4
This commit is contained in:
Manu Cornet
2017-02-06 17:47:42 -08:00
parent f47b9cf1c1
commit 017a3acc3c
4 changed files with 21 additions and 2 deletions

View File

@@ -646,6 +646,10 @@ public class RecentsImpl implements ActivityOptions.OnAnimationFinishedListener
synchronized (mHeaderBarLock) { synchronized (mHeaderBarLock) {
if (mHeaderBar.getMeasuredWidth() != taskViewWidth || if (mHeaderBar.getMeasuredWidth() != taskViewWidth ||
mHeaderBar.getMeasuredHeight() != mTaskBarHeight) { mHeaderBar.getMeasuredHeight() != mTaskBarHeight) {
if (mDummyStackView.useGridLayout()) {
mHeaderBar.setShouldDarkenBackgroundColor(true);
mHeaderBar.setNoUserInteractionState();
}
mHeaderBar.forceLayout(); mHeaderBar.forceLayout();
mHeaderBar.measure( mHeaderBar.measure(
MeasureSpec.makeMeasureSpec(taskViewWidth, MeasureSpec.EXACTLY), MeasureSpec.makeMeasureSpec(taskViewWidth, MeasureSpec.EXACTLY),

View File

@@ -151,7 +151,7 @@ public class TaskView extends FixedSizeFrameLayout implements Task.TaskCallbacks
@ViewDebug.ExportedProperty(deepExport=true, prefix="thumbnail_") @ViewDebug.ExportedProperty(deepExport=true, prefix="thumbnail_")
protected TaskViewThumbnail mThumbnailView; protected TaskViewThumbnail mThumbnailView;
@ViewDebug.ExportedProperty(deepExport=true, prefix="header_") @ViewDebug.ExportedProperty(deepExport=true, prefix="header_")
TaskViewHeader mHeaderView; protected TaskViewHeader mHeaderView;
private View mActionButtonView; private View mActionButtonView;
private View mIncompatibleAppToastView; private View mIncompatibleAppToastView;
private TaskViewCallbacks mCb; private TaskViewCallbacks mCb;

View File

@@ -91,6 +91,9 @@ public class TaskViewHeader extends FrameLayout
if (mColor != color || Float.compare(mDimAlpha, dimAlpha) != 0) { if (mColor != color || Float.compare(mDimAlpha, dimAlpha) != 0) {
mColor = color; mColor = color;
mDimAlpha = dimAlpha; mDimAlpha = dimAlpha;
if (mShouldDarkenBackgroundColor) {
color = getSecondaryColor(color, false /* useLightOverlayColor */);
}
mBackgroundPaint.setColor(color); mBackgroundPaint.setColor(color);
ColorUtils.colorToHSL(color, mTmpHSL); ColorUtils.colorToHSL(color, mTmpHSL);
@@ -179,6 +182,10 @@ public class TaskViewHeader extends FrameLayout
// Header dim, which is only used when task view hardware layers are not used // Header dim, which is only used when task view hardware layers are not used
private Paint mDimLayerPaint = new Paint(); private Paint mDimLayerPaint = new Paint();
// Whether the background color should be darkened to differentiate from the primary color.
// Used in grid layout.
private boolean mShouldDarkenBackgroundColor = false;
private CountDownTimer mFocusTimerCountDown; private CountDownTimer mFocusTimerCountDown;
public TaskViewHeader(Context context) { public TaskViewHeader(Context context) {
@@ -442,6 +449,13 @@ public class TaskViewHeader extends FrameLayout
} }
} }
/**
* Sets whether the background color should be darkened to differentiate from the primary color.
*/
public void setShouldDarkenBackgroundColor(boolean flag) {
mShouldDarkenBackgroundColor = flag;
}
/** /**
* Binds the bar view to the task. * Binds the bar view to the task.
*/ */
@@ -557,7 +571,7 @@ public class TaskViewHeader extends FrameLayout
* Mark this task view that the user does has not interacted with the stack after a certain * Mark this task view that the user does has not interacted with the stack after a certain
* time. * time.
*/ */
void setNoUserInteractionState() { public void setNoUserInteractionState() {
mDismissButton.setVisibility(View.VISIBLE); mDismissButton.setVisibility(View.VISIBLE);
mDismissButton.animate().cancel(); mDismissButton.animate().cancel();
mDismissButton.setAlpha(1f); mDismissButton.setAlpha(1f);

View File

@@ -53,6 +53,7 @@ public class GridTaskView extends TaskView {
mThumbnailView.setOverlayHeaderOnThumbnailActionBar(false); mThumbnailView.setOverlayHeaderOnThumbnailActionBar(false);
mThumbnailView.updateThumbnailScale(); mThumbnailView.updateThumbnailScale();
mThumbnailView.setTranslationY(mHeaderHeight); mThumbnailView.setTranslationY(mHeaderHeight);
mHeaderView.setShouldDarkenBackgroundColor(true);
} }
@Override @Override