Merge "Hide overview actions when focused task is not snapped" into sc-v2-dev

This commit is contained in:
Alex Chau
2021-09-06 14:58:23 +00:00
committed by Android (Google) Code Review
2 changed files with 17 additions and 21 deletions

View File

@@ -53,13 +53,15 @@ public class OverviewActionsView<T extends OverlayUICallbacks> extends FrameLayo
@IntDef(flag = true, value = {
HIDDEN_NON_ZERO_ROTATION,
HIDDEN_NO_TASKS,
HIDDEN_NO_RECENTS})
HIDDEN_NO_RECENTS,
HIDDEN_FOCUSED_SCROLL})
@Retention(RetentionPolicy.SOURCE)
public @interface ActionsHiddenFlags { }
public static final int HIDDEN_NON_ZERO_ROTATION = 1 << 0;
public static final int HIDDEN_NO_TASKS = 1 << 1;
public static final int HIDDEN_NO_RECENTS = 1 << 2;
public static final int HIDDEN_FOCUSED_SCROLL = 1 << 3;
@IntDef(flag = true, value = {
DISABLED_SCROLLING,
@@ -76,7 +78,6 @@ public class OverviewActionsView<T extends OverlayUICallbacks> extends FrameLayo
private static final int INDEX_VISIBILITY_ALPHA = 1;
private static final int INDEX_FULLSCREEN_ALPHA = 2;
private static final int INDEX_HIDDEN_FLAGS_ALPHA = 3;
private static final int INDEX_SCROLL_ALPHA = 4;
private final MultiValueAlpha mMultiValueAlpha;
private View mSplitButton;
@@ -196,10 +197,6 @@ public class OverviewActionsView<T extends OverlayUICallbacks> extends FrameLayo
return mMultiValueAlpha.getProperty(INDEX_FULLSCREEN_ALPHA);
}
public AlphaProperty getScrollAlpha() {
return mMultiValueAlpha.getProperty(INDEX_SCROLL_ALPHA);
}
private void updateHorizontalPadding() {
setPadding(mInsets.left, 0, mInsets.right, 0);
}

View File

@@ -29,7 +29,6 @@ import static com.android.launcher3.LauncherAnimUtils.VIEW_ALPHA;
import static com.android.launcher3.LauncherState.BACKGROUND_APP;
import static com.android.launcher3.QuickstepTransitionManager.RECENTS_LAUNCH_DURATION;
import static com.android.launcher3.Utilities.EDGE_NAV_BAR;
import static com.android.launcher3.Utilities.boundToRange;
import static com.android.launcher3.Utilities.mapToRange;
import static com.android.launcher3.Utilities.squaredHypot;
import static com.android.launcher3.Utilities.squaredTouchSlop;
@@ -1691,28 +1690,28 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
// After scrolling, update the visible task's data
loadVisibleTaskData(TaskView.FLAG_UPDATE_ALL);
// After scrolling, update ActionsView's visibility.
updateActionsViewScrollAlpha();
}
// Update ActionsView's visibility when scroll changes.
updateActionsViewFocusedScroll();
// Update the high res thumbnail loader state
mModel.getThumbnailCache().getHighResLoadingState().setFlingingFast(isFlingingFast);
return scrolling;
}
private void updateActionsViewScrollAlpha() {
float scrollAlpha = 1f;
private void updateActionsViewFocusedScroll() {
boolean hiddenFocusedScroll;
if (showAsGrid()) {
TaskView focusedTaskView = getFocusedTaskView();
if (focusedTaskView != null) {
float scrollDiff = Math.abs(getScrollForPage(indexOfChild(focusedTaskView))
- mOrientationHandler.getPrimaryScroll(this));
float delta = (mGridSideMargin - scrollDiff) / (float) mGridSideMargin;
scrollAlpha = Utilities.boundToRange(delta, 0, 1);
}
hiddenFocusedScroll = focusedTaskView == null
|| getScrollForPage(indexOfChild(focusedTaskView))
!= mOrientationHandler.getPrimaryScroll(this);
} else {
hiddenFocusedScroll = false;
}
mActionsView.getScrollAlpha().setValue(scrollAlpha);
mActionsView.updateHiddenFlags(OverviewActionsView.HIDDEN_FOCUSED_SCROLL,
hiddenFocusedScroll);
}
/**
@@ -3091,7 +3090,7 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
setCurrentPage(pageToSnapTo);
// Update various scroll depedent UI.
dispatchScrollChanged();
updateActionsViewScrollAlpha();
updateActionsViewFocusedScroll();
if (isClearAllHidden()) {
mActionsView.updateDisabledFlags(OverviewActionsView.DISABLED_SCROLLING,
false);
@@ -4560,7 +4559,7 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
public void setOverviewGridEnabled(boolean overviewGridEnabled) {
if (mOverviewGridEnabled != overviewGridEnabled) {
mOverviewGridEnabled = overviewGridEnabled;
updateActionsViewScrollAlpha();
updateActionsViewFocusedScroll();
// Request layout to ensure scroll position is recalculated with updated mGridProgress.
requestLayout();
}