Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d2af33ba authored by Rajeev Kumar's avatar Rajeev Kumar Committed by Automerger Merge Worker
Browse files

Merge "Fix positioning bug in user switcher" into sc-dev am: d6a70b8b am: e99b5bcf

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/14925350

Change-Id: I24273dfcd6a334be39ee950e2e6674e22ca0c782
parents 67ebce5b e99b5bcf
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -76,7 +76,7 @@ public class KeyguardStatusViewController extends ViewController<KeyguardStatusV
        mDozeParameters = dozeParameters;
        mDozeParameters = dozeParameters;
        mKeyguardStateController = keyguardStateController;
        mKeyguardStateController = keyguardStateController;
        mKeyguardVisibilityHelper = new KeyguardVisibilityHelper(mView, keyguardStateController,
        mKeyguardVisibilityHelper = new KeyguardVisibilityHelper(mView, keyguardStateController,
                dozeParameters, unlockedScreenOffAnimationController);
                dozeParameters, unlockedScreenOffAnimationController, /* animateYPos= */ true);
        mKeyguardUnlockAnimationController = keyguardUnlockAnimationController;
        mKeyguardUnlockAnimationController = keyguardUnlockAnimationController;
        mSmartspaceTransitionController = smartspaceTransitionController;
        mSmartspaceTransitionController = smartspaceTransitionController;


+22 −16
Original line number Original line Diff line number Diff line
@@ -19,6 +19,7 @@ package com.android.keyguard;
import static com.android.systemui.statusbar.StatusBarState.KEYGUARD;
import static com.android.systemui.statusbar.StatusBarState.KEYGUARD;


import android.view.View;
import android.view.View;
import android.view.ViewPropertyAnimator;


import com.android.systemui.animation.Interpolators;
import com.android.systemui.animation.Interpolators;
import com.android.systemui.statusbar.StatusBarState;
import com.android.systemui.statusbar.StatusBarState;
@@ -40,6 +41,7 @@ public class KeyguardVisibilityHelper {
    private final KeyguardStateController mKeyguardStateController;
    private final KeyguardStateController mKeyguardStateController;
    private final DozeParameters mDozeParameters;
    private final DozeParameters mDozeParameters;
    private final UnlockedScreenOffAnimationController mUnlockedScreenOffAnimationController;
    private final UnlockedScreenOffAnimationController mUnlockedScreenOffAnimationController;
    private boolean mAnimateYPos;
    private boolean mKeyguardViewVisibilityAnimating;
    private boolean mKeyguardViewVisibilityAnimating;
    private boolean mLastOccludedState = false;
    private boolean mLastOccludedState = false;
    private final AnimationProperties mAnimationProperties = new AnimationProperties();
    private final AnimationProperties mAnimationProperties = new AnimationProperties();
@@ -47,11 +49,13 @@ public class KeyguardVisibilityHelper {
    public KeyguardVisibilityHelper(View view,
    public KeyguardVisibilityHelper(View view,
            KeyguardStateController keyguardStateController,
            KeyguardStateController keyguardStateController,
            DozeParameters dozeParameters,
            DozeParameters dozeParameters,
            UnlockedScreenOffAnimationController unlockedScreenOffAnimationController) {
            UnlockedScreenOffAnimationController unlockedScreenOffAnimationController,
            boolean animateYPos) {
        mView = view;
        mView = view;
        mKeyguardStateController = keyguardStateController;
        mKeyguardStateController = keyguardStateController;
        mDozeParameters = dozeParameters;
        mDozeParameters = dozeParameters;
        mUnlockedScreenOffAnimationController = unlockedScreenOffAnimationController;
        mUnlockedScreenOffAnimationController = unlockedScreenOffAnimationController;
        mAnimateYPos = animateYPos;
    }
    }


    public boolean isVisibilityAnimating() {
    public boolean isVisibilityAnimating() {
@@ -98,23 +102,25 @@ public class KeyguardVisibilityHelper {
        } else if (statusBarState == KEYGUARD) {
        } else if (statusBarState == KEYGUARD) {
            if (keyguardFadingAway) {
            if (keyguardFadingAway) {
                mKeyguardViewVisibilityAnimating = true;
                mKeyguardViewVisibilityAnimating = true;
                ViewPropertyAnimator animator = mView.animate()
                        .alpha(0)
                        .setInterpolator(Interpolators.FAST_OUT_LINEAR_IN)
                        .withEndAction(mAnimateKeyguardStatusViewInvisibleEndRunnable);
                if (mAnimateYPos) {
                    float target = mView.getY() - mView.getHeight() * 0.05f;
                    float target = mView.getY() - mView.getHeight() * 0.05f;
                    int delay = 0;
                    int delay = 0;
                    int duration = 125;
                    int duration = 125;
                // We animate the Y properly separately using the PropertyAnimator, as the panel
                    // We animate the Y property separately using the PropertyAnimator, as the panel
                // view als needs to update the end position.
                    // view also needs to update the end position.
                    mAnimationProperties.setDuration(duration).setDelay(delay);
                    mAnimationProperties.setDuration(duration).setDelay(delay);
                    PropertyAnimator.cancelAnimation(mView, AnimatableProperty.Y);
                    PropertyAnimator.cancelAnimation(mView, AnimatableProperty.Y);
                    PropertyAnimator.setProperty(mView, AnimatableProperty.Y, target,
                    PropertyAnimator.setProperty(mView, AnimatableProperty.Y, target,
                            mAnimationProperties,
                            mAnimationProperties,
                            true /* animate */);
                            true /* animate */);
                mView.animate()
                    animator.setDuration(duration)
                        .alpha(0)
                            .setStartDelay(delay);
                        .setInterpolator(Interpolators.FAST_OUT_LINEAR_IN)
                }
                        .setDuration(duration)
                animator.start();
                        .setStartDelay(delay)
                        .withEndAction(mAnimateKeyguardStatusViewInvisibleEndRunnable)
                        .start();
            } else if (mLastOccludedState && !isOccluded) {
            } else if (mLastOccludedState && !isOccluded) {
                // An activity was displayed over the lock screen, and has now gone away
                // An activity was displayed over the lock screen, and has now gone away
                mView.setVisibility(View.VISIBLE);
                mView.setVisibility(View.VISIBLE);
+2 −1
Original line number Original line Diff line number Diff line
@@ -137,7 +137,8 @@ public class KeyguardQsUserSwitchController extends ViewController<UserAvatarVie
        mConfigurationController = configurationController;
        mConfigurationController = configurationController;
        mStatusBarStateController = statusBarStateController;
        mStatusBarStateController = statusBarStateController;
        mKeyguardVisibilityHelper = new KeyguardVisibilityHelper(mView,
        mKeyguardVisibilityHelper = new KeyguardVisibilityHelper(mView,
                keyguardStateController, dozeParameters, unlockedScreenOffAnimationController);
                keyguardStateController, dozeParameters,
                unlockedScreenOffAnimationController,  /* animateYPos= */ false);
        mUserDetailAdapter = new KeyguardUserDetailAdapter(context, userDetailViewAdapterProvider);
        mUserDetailAdapter = new KeyguardUserDetailAdapter(context, userDetailViewAdapterProvider);
    }
    }


+2 −1
Original line number Original line Diff line number Diff line
@@ -173,7 +173,8 @@ public class KeyguardUserSwitcherController extends ViewController<KeyguardUserS
        mAdapter = new KeyguardUserAdapter(mContext, resources, layoutInflater,
        mAdapter = new KeyguardUserAdapter(mContext, resources, layoutInflater,
                mUserSwitcherController, this);
                mUserSwitcherController, this);
        mKeyguardVisibilityHelper = new KeyguardVisibilityHelper(mView,
        mKeyguardVisibilityHelper = new KeyguardVisibilityHelper(mView,
                keyguardStateController, dozeParameters, unlockedScreenOffAnimationController);
                keyguardStateController, dozeParameters,
                unlockedScreenOffAnimationController, /* animateYPos= */ false);
        mBackground = new KeyguardUserSwitcherScrim(context);
        mBackground = new KeyguardUserSwitcherScrim(context);
    }
    }