Loading quickstep/src/com/android/quickstep/views/ClearAllButton.java +4 −0 Original line number Diff line number Diff line Loading @@ -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; Loading quickstep/src/com/android/quickstep/views/OverviewActionsView.java +7 −1 Original line number Diff line number Diff line Loading @@ -82,6 +82,8 @@ public class OverviewActionsView<T extends OverlayUICallbacks> 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; Loading Loading @@ -126,7 +128,7 @@ public class OverviewActionsView<T extends OverlayUICallbacks> 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); Loading Loading @@ -247,6 +249,10 @@ public class OverviewActionsView<T extends OverlayUICallbacks> extends FrameLayo return mMultiValueAlpha.get(INDEX_SHARE_TARGET_ALPHA); } public AlphaProperty getIndexScrollAlpha() { return mMultiValueAlpha.getProperty(INDEX_SCROLL_ALPHA); } /** * Offsets OverviewActionsView horizontal position based on 3 button nav container in taskbar. */ Loading quickstep/src/com/android/quickstep/views/RecentsView.java +3 −0 Original line number Diff line number Diff line Loading @@ -1913,6 +1913,9 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T } int scroll = mOrientationHandler.getPrimaryScroll(this); mClearAllButton.onRecentsViewScroll(scroll, mOverviewGridEnabled); // Clear all button alpha was set by the previous line. mActionsView.getIndexScrollAlpha().setValue(1 - mClearAllButton.getScrollAlpha()); } @Override Loading tests/tapl/com/android/launcher3/tapl/BaseOverview.java +14 −18 Original line number Diff line number Diff line Loading @@ -244,42 +244,38 @@ public class BaseOverview extends LauncherInstrumentation.VisibleContainer { * Returns if clear all button is visible. */ public boolean isClearAllVisible() { return mLauncher.hasLauncherObject(mLauncher.getOverviewObjectSelector("clear_all")); return verifyActiveContainer().hasObject( mLauncher.getOverviewObjectSelector("clear_all")); } protected boolean isActionsViewVisible() { if (!hasTasks() || isClearAllVisible()) { return false; } OverviewTask task = mLauncher.isTablet() ? getFocusedTaskForTablet() : getCurrentTask(); if (task == null) { return false; } // In tablets, if focused task is not in center, overview actions aren't visible. if (mLauncher.isTablet() && Math.abs(task.getExactCenterX() - mLauncher.getExactScreenCenterX()) >= 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. * Loading Loading
quickstep/src/com/android/quickstep/views/ClearAllButton.java +4 −0 Original line number Diff line number Diff line Loading @@ -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; Loading
quickstep/src/com/android/quickstep/views/OverviewActionsView.java +7 −1 Original line number Diff line number Diff line Loading @@ -82,6 +82,8 @@ public class OverviewActionsView<T extends OverlayUICallbacks> 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; Loading Loading @@ -126,7 +128,7 @@ public class OverviewActionsView<T extends OverlayUICallbacks> 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); Loading Loading @@ -247,6 +249,10 @@ public class OverviewActionsView<T extends OverlayUICallbacks> extends FrameLayo return mMultiValueAlpha.get(INDEX_SHARE_TARGET_ALPHA); } public AlphaProperty getIndexScrollAlpha() { return mMultiValueAlpha.getProperty(INDEX_SCROLL_ALPHA); } /** * Offsets OverviewActionsView horizontal position based on 3 button nav container in taskbar. */ Loading
quickstep/src/com/android/quickstep/views/RecentsView.java +3 −0 Original line number Diff line number Diff line Loading @@ -1913,6 +1913,9 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T } int scroll = mOrientationHandler.getPrimaryScroll(this); mClearAllButton.onRecentsViewScroll(scroll, mOverviewGridEnabled); // Clear all button alpha was set by the previous line. mActionsView.getIndexScrollAlpha().setValue(1 - mClearAllButton.getScrollAlpha()); } @Override Loading
tests/tapl/com/android/launcher3/tapl/BaseOverview.java +14 −18 Original line number Diff line number Diff line Loading @@ -244,42 +244,38 @@ public class BaseOverview extends LauncherInstrumentation.VisibleContainer { * Returns if clear all button is visible. */ public boolean isClearAllVisible() { return mLauncher.hasLauncherObject(mLauncher.getOverviewObjectSelector("clear_all")); return verifyActiveContainer().hasObject( mLauncher.getOverviewObjectSelector("clear_all")); } protected boolean isActionsViewVisible() { if (!hasTasks() || isClearAllVisible()) { return false; } OverviewTask task = mLauncher.isTablet() ? getFocusedTaskForTablet() : getCurrentTask(); if (task == null) { return false; } // In tablets, if focused task is not in center, overview actions aren't visible. if (mLauncher.isTablet() && Math.abs(task.getExactCenterX() - mLauncher.getExactScreenCenterX()) >= 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. * Loading