Search in sources :

Example 6 with OverviewScrim

use of com.android.launcher3.graphics.OverviewScrim in project android_packages_apps_Launcher3 by crdroidandroid.

the class NoButtonQuickSwitchTouchController method setupOverviewAnimators.

private void setupOverviewAnimators() {
    final LauncherState fromState = QUICK_SWITCH;
    final LauncherState toState = OVERVIEW;
    // Set RecentView's initial properties.
    RECENTS_SCALE_PROPERTY.set(mRecentsView, fromState.getOverviewScaleAndOffset(mLauncher)[0]);
    ADJACENT_PAGE_HORIZONTAL_OFFSET.set(mRecentsView, 1f);
    mRecentsView.setContentAlpha(1);
    mRecentsView.setFullscreenProgress(fromState.getOverviewFullscreenProgress());
    mLauncher.getActionsView().getVisibilityAlpha().setValue((fromState.getVisibleElements(mLauncher) & OVERVIEW_ACTIONS) != 0 ? 1f : 0f);
    float[] scaleAndOffset = toState.getOverviewScaleAndOffset(mLauncher);
    // As we drag right, animate the following properties:
    // - RecentsView translationX
    // - OverviewScrim
    // - RecentsView fade (if it's empty)
    PendingAnimation xAnim = new PendingAnimation((long) (mXRange * 2));
    xAnim.setFloat(mRecentsView, ADJACENT_PAGE_HORIZONTAL_OFFSET, scaleAndOffset[1], LINEAR);
    xAnim.setViewBackgroundColor(mLauncher.getScrimView(), toState.getWorkspaceScrimColor(mLauncher), LINEAR);
    if (mRecentsView.getTaskViewCount() == 0) {
        xAnim.addFloat(mRecentsView, CONTENT_ALPHA, 0f, 1f, LINEAR);
    }
    mXOverviewAnim = xAnim.createPlaybackController();
    mXOverviewAnim.dispatchOnStart();
    // As we drag up, animate the following properties:
    // - RecentsView scale
    // - RecentsView fullscreenProgress
    PendingAnimation yAnim = new PendingAnimation((long) (mYRange * 2));
    yAnim.setFloat(mRecentsView, RECENTS_SCALE_PROPERTY, scaleAndOffset[0], SCALE_DOWN_INTERPOLATOR);
    yAnim.setFloat(mRecentsView, FULLSCREEN_PROGRESS, toState.getOverviewFullscreenProgress(), SCALE_DOWN_INTERPOLATOR);
    AnimatorPlaybackController yNormalController = yAnim.createPlaybackController();
    AnimatorControllerWithResistance yAnimWithResistance = AnimatorControllerWithResistance.createForRecents(yNormalController, mLauncher, mRecentsView.getPagedViewOrientedState(), mLauncher.getDeviceProfile(), mRecentsView, RECENTS_SCALE_PROPERTY, mRecentsView, TASK_SECONDARY_TRANSLATION);
    mYOverviewAnim = new AnimatedFloat(() -> {
        if (mYOverviewAnim != null) {
            yAnimWithResistance.setProgress(mYOverviewAnim.value, mMaxYProgress);
        }
    });
    yNormalController.dispatchOnStart();
}
Also used : AnimatedFloat(com.android.quickstep.AnimatedFloat) LauncherState(com.android.launcher3.LauncherState) PendingAnimation(com.android.launcher3.anim.PendingAnimation) AnimatorPlaybackController(com.android.launcher3.anim.AnimatorPlaybackController) AnimatorControllerWithResistance(com.android.quickstep.util.AnimatorControllerWithResistance)

Example 7 with OverviewScrim

use of com.android.launcher3.graphics.OverviewScrim in project Neo-Launcher by NeoApplications.

the class BaseRecentsViewStateController method setState.

@Override
public void setState(@NonNull LauncherState state) {
    ScaleAndTranslation scaleAndTranslation = state.getOverviewScaleAndTranslation(mLauncher);
    SCALE_PROPERTY.set(mRecentsView, scaleAndTranslation.scale);
    float translationX = scaleAndTranslation.translationX;
    if (mRecentsView.getLayoutDirection() == View.LAYOUT_DIRECTION_RTL) {
        translationX = -translationX;
    }
    mRecentsView.setTranslationX(translationX);
    mRecentsView.setTranslationY(scaleAndTranslation.translationY);
    getContentAlphaProperty().set(mRecentsView, state.overviewUi ? 1f : 0);
    OverviewScrim scrim = mLauncher.getDragLayer().getOverviewScrim();
    SCRIM_PROGRESS.set(scrim, state.getOverviewScrimAlpha(mLauncher));
}
Also used : ScaleAndTranslation(com.android.launcher3.LauncherState.ScaleAndTranslation) OverviewScrim(com.android.launcher3.graphics.OverviewScrim)

Example 8 with OverviewScrim

use of com.android.launcher3.graphics.OverviewScrim in project Neo-Launcher by NeoApplications.

the class NoButtonQuickSwitchTouchController method setupOverviewAnimators.

private void setupOverviewAnimators() {
    final LauncherState fromState = QUICK_SWITCH;
    final LauncherState toState = OVERVIEW;
    LauncherState.ScaleAndTranslation fromScaleAndTranslation = fromState.getOverviewScaleAndTranslation(mLauncher);
    LauncherState.ScaleAndTranslation toScaleAndTranslation = toState.getOverviewScaleAndTranslation(mLauncher);
    // Update RecentView's translationX to have it start offscreen.
    LauncherRecentsView recentsView = mLauncher.getOverviewPanel();
    float startScale = Utilities.mapRange(SCALE_DOWN_INTERPOLATOR.getInterpolation(Y_ANIM_MIN_PROGRESS), fromScaleAndTranslation.scale, toScaleAndTranslation.scale);
    fromScaleAndTranslation.translationX = recentsView.getOffscreenTranslationX(startScale);
    // Set RecentView's initial properties.
    recentsView.setScaleX(fromScaleAndTranslation.scale);
    recentsView.setScaleY(fromScaleAndTranslation.scale);
    recentsView.setTranslationX(fromScaleAndTranslation.translationX);
    recentsView.setTranslationY(fromScaleAndTranslation.translationY);
    recentsView.setContentAlpha(1);
    // As we drag right, animate the following properties:
    // - RecentsView translationX
    // - OverviewScrim
    AnimatorSet xOverviewAnim = new AnimatorSet();
    xOverviewAnim.play(ObjectAnimator.ofFloat(recentsView, View.TRANSLATION_X, toScaleAndTranslation.translationX));
    xOverviewAnim.play(ObjectAnimator.ofFloat(mLauncher.getDragLayer().getOverviewScrim(), OverviewScrim.SCRIM_PROGRESS, toState.getOverviewScrimAlpha(mLauncher)));
    long xAccuracy = (long) (mXRange * 2);
    xOverviewAnim.setDuration(xAccuracy);
    mXOverviewAnim = AnimatorPlaybackController.wrap(xOverviewAnim, xAccuracy);
    mXOverviewAnim.dispatchOnStart();
    // As we drag up, animate the following properties:
    // - RecentsView translationY
    // - RecentsView scale
    // - RecentsView fullscreenProgress
    AnimatorSet yAnimation = new AnimatorSet();
    Animator translateYAnim = ObjectAnimator.ofFloat(recentsView, View.TRANSLATION_Y, toScaleAndTranslation.translationY);
    Animator scaleAnim = ObjectAnimator.ofFloat(recentsView, SCALE_PROPERTY, toScaleAndTranslation.scale);
    Animator fullscreenProgressAnim = ObjectAnimator.ofFloat(recentsView, FULLSCREEN_PROGRESS, fromState.getOverviewFullscreenProgress(), toState.getOverviewFullscreenProgress());
    scaleAnim.setInterpolator(SCALE_DOWN_INTERPOLATOR);
    fullscreenProgressAnim.setInterpolator(SCALE_DOWN_INTERPOLATOR);
    yAnimation.play(translateYAnim);
    yAnimation.play(scaleAnim);
    yAnimation.play(fullscreenProgressAnim);
    long yAccuracy = (long) (mYRange * 2);
    yAnimation.setDuration(yAccuracy);
    mYOverviewAnim = AnimatorPlaybackController.wrap(yAnimation, yAccuracy);
    mYOverviewAnim.dispatchOnStart();
}
Also used : LauncherState(com.android.launcher3.LauncherState) Animator(android.animation.Animator) ObjectAnimator(android.animation.ObjectAnimator) ValueAnimator(android.animation.ValueAnimator) AnimatorSet(android.animation.AnimatorSet) LauncherRecentsView(com.android.quickstep.views.LauncherRecentsView)

Example 9 with OverviewScrim

use of com.android.launcher3.graphics.OverviewScrim in project android_packages_apps_Trebuchet by LineageOS.

the class BaseRecentsViewStateController method setState.

@Override
public void setState(@NonNull LauncherState state) {
    float[] scaleAndOffset = state.getOverviewScaleAndOffset(mLauncher);
    RECENTS_SCALE_PROPERTY.set(mRecentsView, scaleAndOffset[0]);
    ADJACENT_PAGE_OFFSET.set(mRecentsView, scaleAndOffset[1]);
    TASK_SECONDARY_TRANSLATION.set(mRecentsView, 0f);
    getContentAlphaProperty().set(mRecentsView, state.overviewUi ? 1f : 0);
    OverviewScrim scrim = mLauncher.getDragLayer().getOverviewScrim();
    SCRIM_PROGRESS.set(scrim, state.getOverviewScrimAlpha(mLauncher));
    SCRIM_MULTIPLIER.set(scrim, 1f);
    getTaskModalnessProperty().set(mRecentsView, state.getOverviewModalness());
}
Also used : OverviewScrim(com.android.launcher3.graphics.OverviewScrim)

Example 10 with OverviewScrim

use of com.android.launcher3.graphics.OverviewScrim in project android_packages_apps_Launcher3 by AOSPA.

the class NoButtonQuickSwitchTouchController method setupOverviewAnimators.

private void setupOverviewAnimators() {
    final LauncherState fromState = QUICK_SWITCH;
    final LauncherState toState = OVERVIEW;
    // Set RecentView's initial properties.
    RECENTS_SCALE_PROPERTY.set(mRecentsView, fromState.getOverviewScaleAndOffset(mLauncher)[0]);
    ADJACENT_PAGE_HORIZONTAL_OFFSET.set(mRecentsView, 1f);
    mRecentsView.setContentAlpha(1);
    mRecentsView.setFullscreenProgress(fromState.getOverviewFullscreenProgress());
    mLauncher.getActionsView().getVisibilityAlpha().setValue((fromState.getVisibleElements(mLauncher) & OVERVIEW_ACTIONS) != 0 ? 1f : 0f);
    float[] scaleAndOffset = toState.getOverviewScaleAndOffset(mLauncher);
    // As we drag right, animate the following properties:
    // - RecentsView translationX
    // - OverviewScrim
    // - RecentsView fade (if it's empty)
    PendingAnimation xAnim = new PendingAnimation((long) (mXRange * 2));
    xAnim.setFloat(mRecentsView, ADJACENT_PAGE_HORIZONTAL_OFFSET, scaleAndOffset[1], LINEAR);
    // Use QuickSwitchState instead of OverviewState to determine scrim color,
    // since we need to take potential taskbar into account.
    xAnim.setViewBackgroundColor(mLauncher.getScrimView(), QUICK_SWITCH.getWorkspaceScrimColor(mLauncher), LINEAR);
    if (mRecentsView.getTaskViewCount() == 0) {
        xAnim.addFloat(mRecentsView, CONTENT_ALPHA, 0f, 1f, LINEAR);
    }
    mXOverviewAnim = xAnim.createPlaybackController();
    mXOverviewAnim.dispatchOnStart();
    // As we drag up, animate the following properties:
    // - RecentsView scale
    // - RecentsView fullscreenProgress
    PendingAnimation yAnim = new PendingAnimation((long) (mYRange * 2));
    yAnim.setFloat(mRecentsView, RECENTS_SCALE_PROPERTY, scaleAndOffset[0], SCALE_DOWN_INTERPOLATOR);
    yAnim.setFloat(mRecentsView, FULLSCREEN_PROGRESS, toState.getOverviewFullscreenProgress(), SCALE_DOWN_INTERPOLATOR);
    AnimatorPlaybackController yNormalController = yAnim.createPlaybackController();
    AnimatorControllerWithResistance yAnimWithResistance = AnimatorControllerWithResistance.createForRecents(yNormalController, mLauncher, mRecentsView.getPagedViewOrientedState(), mLauncher.getDeviceProfile(), mRecentsView, RECENTS_SCALE_PROPERTY, mRecentsView, TASK_SECONDARY_TRANSLATION);
    mYOverviewAnim = new AnimatedFloat(() -> {
        if (mYOverviewAnim != null) {
            yAnimWithResistance.setProgress(mYOverviewAnim.value, mMaxYProgress);
        }
    });
    yNormalController.dispatchOnStart();
}
Also used : AnimatedFloat(com.android.quickstep.AnimatedFloat) LauncherState(com.android.launcher3.LauncherState) PendingAnimation(com.android.launcher3.anim.PendingAnimation) AnimatorPlaybackController(com.android.launcher3.anim.AnimatorPlaybackController) AnimatorControllerWithResistance(com.android.quickstep.util.AnimatorControllerWithResistance)

Aggregations

LauncherState (com.android.launcher3.LauncherState)7 AnimatorPlaybackController (com.android.launcher3.anim.AnimatorPlaybackController)6 PendingAnimation (com.android.launcher3.anim.PendingAnimation)6 AnimatedFloat (com.android.quickstep.AnimatedFloat)6 AnimatorControllerWithResistance (com.android.quickstep.util.AnimatorControllerWithResistance)6 OverviewScrim (com.android.launcher3.graphics.OverviewScrim)4 ScaleAndTranslation (com.android.launcher3.LauncherState.ScaleAndTranslation)2 Animator (android.animation.Animator)1 AnimatorSet (android.animation.AnimatorSet)1 ObjectAnimator (android.animation.ObjectAnimator)1 ValueAnimator (android.animation.ValueAnimator)1 Interpolator (android.view.animation.Interpolator)1 PropertySetter (com.android.launcher3.anim.PropertySetter)1 LauncherRecentsView (com.android.quickstep.views.LauncherRecentsView)1