mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-02-27 23:36:47 +00:00
Merge "Removed disabled overview actions at end of scroll" into tm-qpr-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
ccc8e9fcf4
@@ -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;
|
||||
|
||||
@@ -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.
|
||||
*/
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user