Merge "Revert "Animate overivew actions view hiding on scroll."" into tm-dev am: 9ef75227c0
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/17661889 Change-Id: Ie2d7d284f71bbe88d1e92008cc72fef880887c3c Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -58,6 +58,7 @@ public class OverviewActionsView<T extends OverlayUICallbacks> extends FrameLayo
|
|||||||
HIDDEN_NON_ZERO_ROTATION,
|
HIDDEN_NON_ZERO_ROTATION,
|
||||||
HIDDEN_NO_TASKS,
|
HIDDEN_NO_TASKS,
|
||||||
HIDDEN_NO_RECENTS,
|
HIDDEN_NO_RECENTS,
|
||||||
|
HIDDEN_FOCUSED_SCROLL,
|
||||||
HIDDEN_SPLIT_SCREEN})
|
HIDDEN_SPLIT_SCREEN})
|
||||||
@Retention(RetentionPolicy.SOURCE)
|
@Retention(RetentionPolicy.SOURCE)
|
||||||
public @interface ActionsHiddenFlags { }
|
public @interface ActionsHiddenFlags { }
|
||||||
@@ -65,7 +66,8 @@ public class OverviewActionsView<T extends OverlayUICallbacks> extends FrameLayo
|
|||||||
public static final int HIDDEN_NON_ZERO_ROTATION = 1 << 0;
|
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_TASKS = 1 << 1;
|
||||||
public static final int HIDDEN_NO_RECENTS = 1 << 2;
|
public static final int HIDDEN_NO_RECENTS = 1 << 2;
|
||||||
public static final int HIDDEN_SPLIT_SCREEN = 1 << 3;
|
public static final int HIDDEN_FOCUSED_SCROLL = 1 << 3;
|
||||||
|
public static final int HIDDEN_SPLIT_SCREEN = 1 << 4;
|
||||||
|
|
||||||
@IntDef(flag = true, value = {
|
@IntDef(flag = true, value = {
|
||||||
DISABLED_SCROLLING,
|
DISABLED_SCROLLING,
|
||||||
|
|||||||
@@ -376,8 +376,6 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
|
|||||||
// OverScroll constants
|
// OverScroll constants
|
||||||
private static final int OVERSCROLL_PAGE_SNAP_ANIMATION_DURATION = 270;
|
private static final int OVERSCROLL_PAGE_SNAP_ANIMATION_DURATION = 270;
|
||||||
|
|
||||||
private static final int DEFAULT_ACTIONS_VIEW_ALPHA_ANIMATION_DURATION = 300;
|
|
||||||
|
|
||||||
private static final int DISMISS_TASK_DURATION = 300;
|
private static final int DISMISS_TASK_DURATION = 300;
|
||||||
private static final int ADDITION_TASK_DURATION = 200;
|
private static final int ADDITION_TASK_DURATION = 200;
|
||||||
private static final float INITIAL_DISMISS_TRANSLATION_INTERPOLATION_OFFSET = 0.55f;
|
private static final float INITIAL_DISMISS_TRANSLATION_INTERPOLATION_OFFSET = 0.55f;
|
||||||
@@ -651,8 +649,6 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
|
|||||||
private TaskView mMovingTaskView;
|
private TaskView mMovingTaskView;
|
||||||
|
|
||||||
private OverviewActionsView mActionsView;
|
private OverviewActionsView mActionsView;
|
||||||
private ObjectAnimator mActionsViewAlphaAnimator;
|
|
||||||
private float mActionsViewAlphaAnimatorFinalValue;
|
|
||||||
|
|
||||||
private MultiWindowModeChangedListener mMultiWindowModeChangedListener =
|
private MultiWindowModeChangedListener mMultiWindowModeChangedListener =
|
||||||
new MultiWindowModeChangedListener() {
|
new MultiWindowModeChangedListener() {
|
||||||
@@ -1138,11 +1134,6 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
|
|||||||
return getScrollForPage(taskIndex) == getPagedOrientationHandler().getPrimaryScroll(this);
|
return getScrollForPage(taskIndex) == getPagedOrientationHandler().getPrimaryScroll(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean isFocusedTaskInExpectedScrollPosition() {
|
|
||||||
TaskView focusedTask = getFocusedTaskView();
|
|
||||||
return focusedTask != null && isTaskInExpectedScrollPosition(indexOfChild(focusedTask));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a {@link TaskView} that has taskId matching {@code taskId} or null if no match.
|
* Returns a {@link TaskView} that has taskId matching {@code taskId} or null if no match.
|
||||||
*/
|
*/
|
||||||
@@ -1189,15 +1180,13 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
|
|||||||
@Override
|
@Override
|
||||||
protected void onPageBeginTransition() {
|
protected void onPageBeginTransition() {
|
||||||
super.onPageBeginTransition();
|
super.onPageBeginTransition();
|
||||||
if (!mActivity.getDeviceProfile().isTablet) {
|
mActionsView.updateDisabledFlags(OverviewActionsView.DISABLED_SCROLLING, true);
|
||||||
mActionsView.updateDisabledFlags(OverviewActionsView.DISABLED_SCROLLING, true);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onPageEndTransition() {
|
protected void onPageEndTransition() {
|
||||||
super.onPageEndTransition();
|
super.onPageEndTransition();
|
||||||
if (isClearAllHidden() && !mActivity.getDeviceProfile().isTablet) {
|
if (isClearAllHidden()) {
|
||||||
mActionsView.updateDisabledFlags(OverviewActionsView.DISABLED_SCROLLING, false);
|
mActionsView.updateDisabledFlags(OverviewActionsView.DISABLED_SCROLLING, false);
|
||||||
}
|
}
|
||||||
if (getNextPage() > 0) {
|
if (getNextPage() > 0) {
|
||||||
@@ -1798,24 +1787,16 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void updateActionsViewFocusedScroll() {
|
private void updateActionsViewFocusedScroll() {
|
||||||
|
boolean hiddenFocusedScroll;
|
||||||
if (showAsGrid()) {
|
if (showAsGrid()) {
|
||||||
float actionsViewAlphaValue = isFocusedTaskInExpectedScrollPosition() ? 1 : 0;
|
TaskView focusedTaskView = getFocusedTaskView();
|
||||||
// If animation is already in progress towards the same end value, do not restart.
|
hiddenFocusedScroll = focusedTaskView == null
|
||||||
if (mActionsViewAlphaAnimator == null || !mActionsViewAlphaAnimator.isStarted()
|
|| !isTaskInExpectedScrollPosition(indexOfChild(focusedTaskView));
|
||||||
|| (mActionsViewAlphaAnimator.isStarted()
|
} else {
|
||||||
&& mActionsViewAlphaAnimatorFinalValue != actionsViewAlphaValue)) {
|
hiddenFocusedScroll = false;
|
||||||
animateActionsViewAlpha(actionsViewAlphaValue,
|
|
||||||
DEFAULT_ACTIONS_VIEW_ALPHA_ANIMATION_DURATION);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
mActionsView.updateHiddenFlags(OverviewActionsView.HIDDEN_FOCUSED_SCROLL,
|
||||||
|
hiddenFocusedScroll);
|
||||||
private void animateActionsViewAlpha(float alphaValue, long duration) {
|
|
||||||
mActionsViewAlphaAnimator = ObjectAnimator.ofFloat(
|
|
||||||
mActionsView.getVisibilityAlpha(), MultiValueAlpha.VALUE, alphaValue);
|
|
||||||
mActionsViewAlphaAnimatorFinalValue = alphaValue;
|
|
||||||
mActionsViewAlphaAnimator.setDuration(duration);
|
|
||||||
mActionsViewAlphaAnimator.start();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -2346,9 +2327,10 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void animateActionsViewIn() {
|
private void animateActionsViewIn() {
|
||||||
if (!showAsGrid() || isFocusedTaskInExpectedScrollPosition()) {
|
ObjectAnimator anim = ObjectAnimator.ofFloat(
|
||||||
animateActionsViewAlpha(1, TaskView.SCALE_ICON_DURATION);
|
mActionsView.getVisibilityAlpha(), MultiValueAlpha.VALUE, 0, 1);
|
||||||
}
|
anim.setDuration(TaskView.SCALE_ICON_DURATION);
|
||||||
|
anim.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void animateUpTaskIconScale() {
|
public void animateUpTaskIconScale() {
|
||||||
@@ -3284,7 +3266,7 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
|
|||||||
// Update various scroll-dependent UI.
|
// Update various scroll-dependent UI.
|
||||||
dispatchScrollChanged();
|
dispatchScrollChanged();
|
||||||
updateActionsViewFocusedScroll();
|
updateActionsViewFocusedScroll();
|
||||||
if (isClearAllHidden() && !mActivity.getDeviceProfile().isTablet) {
|
if (isClearAllHidden()) {
|
||||||
mActionsView.updateDisabledFlags(OverviewActionsView.DISABLED_SCROLLING,
|
mActionsView.updateDisabledFlags(OverviewActionsView.DISABLED_SCROLLING,
|
||||||
false);
|
false);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user