From 83b4bb0421a2bb6c299dbf4b550ca9c82b587abd Mon Sep 17 00:00:00 2001 From: Vadim Tryshev Date: Mon, 30 Apr 2018 12:14:58 -0700 Subject: [PATCH] Making sure Clear-all button can't be clicked when transparent There are times when the button is visible, but completely transparent. Fixing: now when transparent, it's invisible, consequently, unclickable. Bug: 72222505 Test: Manual Change-Id: I1be162b56d6e694199fad7845c64f3438415a190 --- .../android/quickstep/views/RecentsView.java | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/quickstep/src/com/android/quickstep/views/RecentsView.java b/quickstep/src/com/android/quickstep/views/RecentsView.java index 51b787ba0e..6159cef343 100644 --- a/quickstep/src/com/android/quickstep/views/RecentsView.java +++ b/quickstep/src/com/android/quickstep/views/RecentsView.java @@ -304,7 +304,7 @@ public abstract class RecentsView extends PagedView impl private float calculateClearAllButtonAlpha() { final int childCount = getChildCount(); - if (mClearAllButton.getVisibility() != View.VISIBLE || childCount == 0) return 0; + if (mShowEmptyMessage || childCount == 0) return 0; // Current visible coordinate of the end of the oldest task. final View lastChild = getChildAt(childCount - 1); @@ -356,7 +356,9 @@ public abstract class RecentsView extends PagedView impl private void updateClearAllButtonAlpha() { if (mClearAllButton != null) { - mClearAllButton.setAlpha(calculateClearAllButtonAlpha() * mContentAlpha); + final float alpha = calculateClearAllButtonAlpha(); + mClearAllButton.setAlpha(alpha * mContentAlpha); + mClearAllButton.setVisibility(alpha == 0 ? INVISIBLE : VISIBLE); } } @@ -1027,9 +1029,6 @@ public abstract class RecentsView extends PagedView impl mShowEmptyMessage = isEmpty; updateEmptyStateUi(hasSizeChanged); invalidate(); - if (mClearAllButton != null) { - updateClearAllButtonVisibility(); - } } @Override @@ -1044,7 +1043,7 @@ public abstract class RecentsView extends PagedView impl mEmptyTextLayout = null; mLastMeasureSize.set(getWidth(), getHeight()); } - updateClearAllButtonVisibility(); + updateClearAllButtonAlpha(); if (!mShowEmptyMessage) return; @@ -1238,14 +1237,8 @@ public abstract class RecentsView extends PagedView impl return mIsRtl ? additionalScrollForClearAllButton() : 0; } - private void updateClearAllButtonVisibility() { - if (mClearAllButton == null) return; - mClearAllButton.setVisibility(mShowEmptyMessage ? GONE : VISIBLE); - updateClearAllButtonAlpha(); - } - public void setClearAllButton(View clearAllButton) { mClearAllButton = clearAllButton; - updateClearAllButtonVisibility(); + updateClearAllButtonAlpha(); } }