From 6bb2be1526287245d04bab2fab5c3dd63a76c049 Mon Sep 17 00:00:00 2001 From: Sreyas Date: Wed, 15 Apr 2020 17:02:45 -0700 Subject: [PATCH] Assistive chip: Adding background scrim for chip. Change-Id: Ic6d0f0e0809c0c4acad4bb31c0e005d653cd0ae3 Bug: 153372670 --- .../res/drawable/chip_scrim_gradient.xml | 8 +++++ .../res/values/colors.xml | 1 + .../com/android/quickstep/views/TaskView.java | 30 ++++++++++++++++--- 3 files changed, 35 insertions(+), 4 deletions(-) create mode 100644 quickstep/recents_ui_overrides/res/drawable/chip_scrim_gradient.xml diff --git a/quickstep/recents_ui_overrides/res/drawable/chip_scrim_gradient.xml b/quickstep/recents_ui_overrides/res/drawable/chip_scrim_gradient.xml new file mode 100644 index 0000000000..5a2dfb7b4a --- /dev/null +++ b/quickstep/recents_ui_overrides/res/drawable/chip_scrim_gradient.xml @@ -0,0 +1,8 @@ + + + + \ No newline at end of file diff --git a/quickstep/recents_ui_overrides/res/values/colors.xml b/quickstep/recents_ui_overrides/res/values/colors.xml index 361f5f70c0..f03f118f38 100644 --- a/quickstep/recents_ui_overrides/res/values/colors.xml +++ b/quickstep/recents_ui_overrides/res/values/colors.xml @@ -15,6 +15,7 @@ --> #fff + #39000000 #61000000 #61FFFFFF diff --git a/quickstep/recents_ui_overrides/src/com/android/quickstep/views/TaskView.java b/quickstep/recents_ui_overrides/src/com/android/quickstep/views/TaskView.java index 12ef521b4e..560b5a6b56 100644 --- a/quickstep/recents_ui_overrides/src/com/android/quickstep/views/TaskView.java +++ b/quickstep/recents_ui_overrides/src/com/android/quickstep/views/TaskView.java @@ -42,6 +42,8 @@ import android.graphics.Outline; import android.graphics.Rect; import android.graphics.RectF; import android.graphics.drawable.Drawable; +import android.graphics.drawable.GradientDrawable; +import android.graphics.drawable.InsetDrawable; import android.os.Bundle; import android.os.Handler; import android.os.Process; @@ -256,14 +258,21 @@ public class TaskView extends FrameLayout implements PageCallbacks, Reusable { footer.animateHide(); } } + if (mContextualChipWrapper != null) { + mContextualChipWrapper.animate().alpha(0f).setDuration(300); + } if (mContextualChip != null) { mContextualChip.animate().scaleX(0f).scaleY(0f).setDuration(300); } + mIconView.animate().alpha(0.0f); } else { if (mContextualChip != null) { mContextualChip.animate().scaleX(1f).scaleY(1f).setDuration(300); } + if (mContextualChipWrapper != null) { + mContextualChipWrapper.animate().alpha(1f).setDuration(300); + } mIconView.animate().alpha(1.0f); } @@ -678,20 +687,33 @@ public class TaskView extends FrameLayout implements PageCallbacks, Reusable { LayoutParams layoutParams = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); layoutParams.gravity = BOTTOM | CENTER_HORIZONTAL; + int expectedChipHeight = getExpectedViewHeight(view); + float chipOffset = getResources().getDimension(R.dimen.chip_hint_vertical_offset); layoutParams.bottomMargin = (int) (((MarginLayoutParams) mSnapshotView.getLayoutParams()).bottomMargin - - getExpectedViewHeight(view) + getResources().getDimension( - R.dimen.chip_hint_vertical_offset)); + - expectedChipHeight + chipOffset); mContextualChip = ((FrameLayout) mContextualChipWrapper).getChildAt(0); mContextualChip.setScaleX(0f); mContextualChip.setScaleY(0f); + GradientDrawable scrimDrawable = (GradientDrawable) getResources().getDrawable( + R.drawable.chip_scrim_gradient, mActivity.getTheme()); + float cornerRadius = TaskCornerRadius.get(mActivity); + scrimDrawable.setCornerRadii( + new float[]{0, 0, 0, 0, cornerRadius, cornerRadius, cornerRadius, + cornerRadius}); + InsetDrawable scrimDrawableInset = new InsetDrawable(scrimDrawable, 0, 0, 0, + (int) (expectedChipHeight - chipOffset)); + mContextualChipWrapper.setBackground(scrimDrawableInset); + mContextualChipWrapper.setPadding(0, 0, 0, 0); + mContextualChipWrapper.setAlpha(0f); addView(view, getChildCount(), layoutParams); - view.setAlpha(mFooterAlpha); if (mContextualChip != null) { mContextualChip.animate().scaleX(1f).scaleY(1f).setDuration(50); } + if (mContextualChipWrapper != null) { + mContextualChipWrapper.animate().alpha(1f).setDuration(50); + } } - } /**