Loading quickstep/src/com/android/quickstep/views/OverviewActionsView.java +1 −3 Original line number Diff line number Diff line Loading @@ -56,7 +56,6 @@ public class OverviewActionsView<T extends OverlayUICallbacks> extends FrameLayo HIDDEN_NON_ZERO_ROTATION, HIDDEN_NO_TASKS, HIDDEN_NO_RECENTS, HIDDEN_FOCUSED_SCROLL, HIDDEN_SPLIT_SCREEN}) @Retention(RetentionPolicy.SOURCE) public @interface ActionsHiddenFlags { } Loading @@ -64,8 +63,7 @@ public class OverviewActionsView<T extends OverlayUICallbacks> extends FrameLayo 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; public static final int HIDDEN_SPLIT_SCREEN = 1 << 4; public static final int HIDDEN_SPLIT_SCREEN = 1 << 3; @IntDef(flag = true, value = { DISABLED_SCROLLING, Loading quickstep/src/com/android/quickstep/views/RecentsView.java +33 −15 Original line number Diff line number Diff line Loading @@ -378,6 +378,8 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T // OverScroll constants 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 ADDITION_TASK_DURATION = 200; private static final float INITIAL_DISMISS_TRANSLATION_INTERPOLATION_OFFSET = 0.55f; Loading Loading @@ -652,6 +654,8 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T private TaskView mMovingTaskView; private OverviewActionsView mActionsView; private ObjectAnimator mActionsViewAlphaAnimator; private float mActionsViewAlphaAnimatorFinalValue; private MultiWindowModeChangedListener mMultiWindowModeChangedListener = new MultiWindowModeChangedListener() { Loading Loading @@ -1145,6 +1149,11 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T 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. */ Loading Loading @@ -1191,13 +1200,15 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T @Override protected void onPageBeginTransition() { super.onPageBeginTransition(); if (!mActivity.getDeviceProfile().isTablet) { mActionsView.updateDisabledFlags(OverviewActionsView.DISABLED_SCROLLING, true); } } @Override protected void onPageEndTransition() { super.onPageEndTransition(); if (isClearAllHidden()) { if (isClearAllHidden() && !mActivity.getDeviceProfile().isTablet) { mActionsView.updateDisabledFlags(OverviewActionsView.DISABLED_SCROLLING, false); } if (getNextPage() > 0) { Loading Loading @@ -1808,16 +1819,24 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T } private void updateActionsViewFocusedScroll() { boolean hiddenFocusedScroll; if (showAsGrid()) { TaskView focusedTaskView = getFocusedTaskView(); hiddenFocusedScroll = focusedTaskView == null || !isTaskInExpectedScrollPosition(indexOfChild(focusedTaskView)); } else { hiddenFocusedScroll = false; float actionsViewAlphaValue = isFocusedTaskInExpectedScrollPosition() ? 1 : 0; // If animation is already in progress towards the same end value, do not restart. if (mActionsViewAlphaAnimator == null || !mActionsViewAlphaAnimator.isStarted() || (mActionsViewAlphaAnimator.isStarted() && mActionsViewAlphaAnimatorFinalValue != actionsViewAlphaValue)) { 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(); } /** Loading Loading @@ -2346,10 +2365,9 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T } private void animateActionsViewIn() { ObjectAnimator anim = ObjectAnimator.ofFloat( mActionsView.getVisibilityAlpha(), MultiValueAlpha.VALUE, 0, 1); anim.setDuration(TaskView.SCALE_ICON_DURATION); anim.start(); if (!showAsGrid() || isFocusedTaskInExpectedScrollPosition()) { animateActionsViewAlpha(1, TaskView.SCALE_ICON_DURATION); } } public void animateUpTaskIconScale() { Loading Loading @@ -3292,7 +3310,7 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T // Update various scroll-dependent UI. dispatchScrollChanged(); updateActionsViewFocusedScroll(); if (isClearAllHidden()) { if (isClearAllHidden() && !mActivity.getDeviceProfile().isTablet) { mActionsView.updateDisabledFlags(OverviewActionsView.DISABLED_SCROLLING, false); } Loading Loading
quickstep/src/com/android/quickstep/views/OverviewActionsView.java +1 −3 Original line number Diff line number Diff line Loading @@ -56,7 +56,6 @@ public class OverviewActionsView<T extends OverlayUICallbacks> extends FrameLayo HIDDEN_NON_ZERO_ROTATION, HIDDEN_NO_TASKS, HIDDEN_NO_RECENTS, HIDDEN_FOCUSED_SCROLL, HIDDEN_SPLIT_SCREEN}) @Retention(RetentionPolicy.SOURCE) public @interface ActionsHiddenFlags { } Loading @@ -64,8 +63,7 @@ public class OverviewActionsView<T extends OverlayUICallbacks> extends FrameLayo 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; public static final int HIDDEN_SPLIT_SCREEN = 1 << 4; public static final int HIDDEN_SPLIT_SCREEN = 1 << 3; @IntDef(flag = true, value = { DISABLED_SCROLLING, Loading
quickstep/src/com/android/quickstep/views/RecentsView.java +33 −15 Original line number Diff line number Diff line Loading @@ -378,6 +378,8 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T // OverScroll constants 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 ADDITION_TASK_DURATION = 200; private static final float INITIAL_DISMISS_TRANSLATION_INTERPOLATION_OFFSET = 0.55f; Loading Loading @@ -652,6 +654,8 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T private TaskView mMovingTaskView; private OverviewActionsView mActionsView; private ObjectAnimator mActionsViewAlphaAnimator; private float mActionsViewAlphaAnimatorFinalValue; private MultiWindowModeChangedListener mMultiWindowModeChangedListener = new MultiWindowModeChangedListener() { Loading Loading @@ -1145,6 +1149,11 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T 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. */ Loading Loading @@ -1191,13 +1200,15 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T @Override protected void onPageBeginTransition() { super.onPageBeginTransition(); if (!mActivity.getDeviceProfile().isTablet) { mActionsView.updateDisabledFlags(OverviewActionsView.DISABLED_SCROLLING, true); } } @Override protected void onPageEndTransition() { super.onPageEndTransition(); if (isClearAllHidden()) { if (isClearAllHidden() && !mActivity.getDeviceProfile().isTablet) { mActionsView.updateDisabledFlags(OverviewActionsView.DISABLED_SCROLLING, false); } if (getNextPage() > 0) { Loading Loading @@ -1808,16 +1819,24 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T } private void updateActionsViewFocusedScroll() { boolean hiddenFocusedScroll; if (showAsGrid()) { TaskView focusedTaskView = getFocusedTaskView(); hiddenFocusedScroll = focusedTaskView == null || !isTaskInExpectedScrollPosition(indexOfChild(focusedTaskView)); } else { hiddenFocusedScroll = false; float actionsViewAlphaValue = isFocusedTaskInExpectedScrollPosition() ? 1 : 0; // If animation is already in progress towards the same end value, do not restart. if (mActionsViewAlphaAnimator == null || !mActionsViewAlphaAnimator.isStarted() || (mActionsViewAlphaAnimator.isStarted() && mActionsViewAlphaAnimatorFinalValue != actionsViewAlphaValue)) { 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(); } /** Loading Loading @@ -2346,10 +2365,9 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T } private void animateActionsViewIn() { ObjectAnimator anim = ObjectAnimator.ofFloat( mActionsView.getVisibilityAlpha(), MultiValueAlpha.VALUE, 0, 1); anim.setDuration(TaskView.SCALE_ICON_DURATION); anim.start(); if (!showAsGrid() || isFocusedTaskInExpectedScrollPosition()) { animateActionsViewAlpha(1, TaskView.SCALE_ICON_DURATION); } } public void animateUpTaskIconScale() { Loading Loading @@ -3292,7 +3310,7 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T // Update various scroll-dependent UI. dispatchScrollChanged(); updateActionsViewFocusedScroll(); if (isClearAllHidden()) { if (isClearAllHidden() && !mActivity.getDeviceProfile().isTablet) { mActionsView.updateDisabledFlags(OverviewActionsView.DISABLED_SCROLLING, false); } Loading