From 12731af30d6b51da3ecfe6fb5ecb2757d0ffe977 Mon Sep 17 00:00:00 2001 From: Saumya Prakash Date: Tue, 11 Oct 2022 00:25:59 +0000 Subject: [PATCH] Removed disabled overview actions at end of scroll Updated visibility of the overview action bar so that when viewing the clear all button at the end of the tasks it becomes hidden. Previously, the overview actions were disabled so they were not usable anyways. Updated the corresponding tests because expected behavior was changed. Test: Manual Fix: 230508197 Change-Id: I64c91c682009808690d696032ffadefc86dfbac9 --- .../quickstep/views/ClearAllButton.java | 4 +++ .../quickstep/views/OverviewActionsView.java | 8 ++++- .../android/quickstep/views/RecentsView.java | 3 ++ .../android/launcher3/tapl/BaseOverview.java | 32 ++++++++----------- 4 files changed, 28 insertions(+), 19 deletions(-) diff --git a/quickstep/src/com/android/quickstep/views/ClearAllButton.java b/quickstep/src/com/android/quickstep/views/ClearAllButton.java index 50be5ea565..d098ffc2fb 100644 --- a/quickstep/src/com/android/quickstep/views/ClearAllButton.java +++ b/quickstep/src/com/android/quickstep/views/ClearAllButton.java @@ -99,6 +99,10 @@ public class ClearAllButton extends Button { return false; } + public float getScrollAlpha() { + return mScrollAlpha; + } + public void setContentAlpha(float alpha) { if (mContentAlpha != alpha) { mContentAlpha = alpha; diff --git a/quickstep/src/com/android/quickstep/views/OverviewActionsView.java b/quickstep/src/com/android/quickstep/views/OverviewActionsView.java index a16ff8fca1..eeabdc83d1 100644 --- a/quickstep/src/com/android/quickstep/views/OverviewActionsView.java +++ b/quickstep/src/com/android/quickstep/views/OverviewActionsView.java @@ -82,6 +82,8 @@ public class OverviewActionsView extends FrameLayo private static final int INDEX_FULLSCREEN_ALPHA = 2; private static final int INDEX_HIDDEN_FLAGS_ALPHA = 3; private static final int INDEX_SHARE_TARGET_ALPHA = 4; + private static final int INDEX_SCROLL_ALPHA = 5; + private static final int NUM_ALPHAS = 6; public @interface SplitButtonHiddenFlags { } public static final int FLAG_IS_NOT_TABLET = 1 << 0; @@ -126,7 +128,7 @@ public class OverviewActionsView extends FrameLayo @Override protected void onFinishInflate() { super.onFinishInflate(); - mMultiValueAlpha = new MultiValueAlpha(findViewById(R.id.action_buttons), 5); + mMultiValueAlpha = new MultiValueAlpha(findViewById(R.id.action_buttons), NUM_ALPHAS); mMultiValueAlpha.setUpdateVisibility(true); findViewById(R.id.action_screenshot).setOnClickListener(this); @@ -247,6 +249,10 @@ public class OverviewActionsView extends FrameLayo return mMultiValueAlpha.get(INDEX_SHARE_TARGET_ALPHA); } + public MultiProperty getIndexScrollAlpha() { + return mMultiValueAlpha.get(INDEX_SCROLL_ALPHA); + } + /** * Offsets OverviewActionsView horizontal position based on 3 button nav container in taskbar. */ diff --git a/quickstep/src/com/android/quickstep/views/RecentsView.java b/quickstep/src/com/android/quickstep/views/RecentsView.java index ce96b7168e..ecc23ba338 100644 --- a/quickstep/src/com/android/quickstep/views/RecentsView.java +++ b/quickstep/src/com/android/quickstep/views/RecentsView.java @@ -1913,6 +1913,9 @@ public abstract class RecentsView= 1) { + return false; + } + // Overview actions aren't visible for split screen tasks. return !task.isTaskSplit(); } private void verifyActionsViewVisibility() { - if (!hasTasks() || !isActionsViewVisible()) { - return; - } try (LauncherInstrumentation.Closable c = mLauncher.addContextLayer( "want to assert overview actions view visibility")) { - if (mLauncher.isTablet() && !isOverviewSnappedToFocusedTaskForTablet()) { - mLauncher.waitUntilOverviewObjectGone("action_buttons"); - } else { + if (isActionsViewVisible()) { mLauncher.waitForOverviewObject("action_buttons"); + } else { + mLauncher.waitUntilOverviewObjectGone("action_buttons"); } } } - /** - * Returns if focused task is currently snapped task in tablet grid overview. - */ - private boolean isOverviewSnappedToFocusedTaskForTablet() { - OverviewTask focusedTask = getFocusedTaskForTablet(); - if (focusedTask == null) { - return false; - } - return Math.abs(focusedTask.getExactCenterX() - mLauncher.getExactScreenCenterX()) < 1; - } - /** * Returns Overview focused task if it exists. *