Merge "Removed disabled overview actions at end of scroll" into tm-qpr-dev

This commit is contained in:
Saumya Prakash
2022-11-02 18:30:21 +00:00
committed by Android (Google) Code Review
4 changed files with 28 additions and 19 deletions

View File

@@ -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;

View File

@@ -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;
@@ -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);
@@ -247,6 +249,10 @@ public class OverviewActionsView<T extends OverlayUICallbacks> 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.
*/

View File

@@ -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

View File

@@ -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.
*