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

Commit 9d19909f authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Remove StateProvider from LockIcon" into rvc-dev am: 645fdff0 am: ad1fa686

Change-Id: Ib1db4499c4313eb3a2a14db4dc96e65080e15668
parents 108ddae7 ad1fa686
Loading
Loading
Loading
Loading
+14 −17
Original line number Diff line number Diff line
@@ -50,19 +50,22 @@ public class LockIcon extends KeyguardAffordanceView {
    static final int STATE_BIOMETRICS_ERROR = 3;
    private float mDozeAmount;
    private int mIconColor;
    private StateProvider mStateProvider;
    private int mOldState;
    private int mState;
    private boolean mPulsing;
    private boolean mDozing;
    private boolean mKeyguardJustShown;
    private boolean mPredrawRegistered;
    private final SparseArray<Drawable> mDrawableCache = new SparseArray<>();

    private final OnPreDrawListener mOnPreDrawListener = new OnPreDrawListener() {
        @Override
        public boolean onPreDraw() {
            getViewTreeObserver().removeOnPreDrawListener(this);
            mPredrawRegistered = false;

            int newState = mStateProvider.getState();
            int newState = mState;
            mOldState = mState;
            Drawable icon = getIcon(newState);
            setImageDrawable(icon, false);

@@ -80,7 +83,7 @@ public class LockIcon extends KeyguardAffordanceView {
                            @Override
                            public void onAnimationEnd(Drawable drawable) {
                                if (getDrawable() == animation
                                        && newState == mStateProvider.getState()
                                        && newState == mState
                                        && newState == STATE_SCANNING_FACE) {
                                    animation.start();
                                } else {
@@ -100,10 +103,6 @@ public class LockIcon extends KeyguardAffordanceView {
        super(context, attrs);
    }

    void setStateProvider(StateProvider stateProvider) {
        mStateProvider = stateProvider;
    }

    @Override
    protected void onConfigurationChanged(Configuration newConfig) {
        super.onConfigurationChanged(newConfig);
@@ -135,14 +134,17 @@ public class LockIcon extends KeyguardAffordanceView {
        return false;
    }

    void update(int oldState, boolean pulsing, boolean dozing, boolean keyguardJustShown) {
        mOldState = oldState;
    void update(int newState, boolean pulsing, boolean dozing, boolean keyguardJustShown) {
        mState = newState;
        mPulsing = pulsing;
        mDozing = dozing;
        mKeyguardJustShown = keyguardJustShown;

        if (!mPredrawRegistered) {
            mPredrawRegistered = true;
            getViewTreeObserver().addOnPreDrawListener(mOnPreDrawListener);
        }
    }

    void setDozeAmount(float dozeAmount) {
        mDozeAmount = dozeAmount;
@@ -175,7 +177,7 @@ public class LockIcon extends KeyguardAffordanceView {
        return mDrawableCache.get(iconRes);
    }

    static int getIconForState(int state) {
    private static int getIconForState(int state) {
        int iconRes;
        switch (state) {
            case STATE_LOCKED:
@@ -196,7 +198,7 @@ public class LockIcon extends KeyguardAffordanceView {
        return iconRes;
    }

    static int getAnimationIndexForTransition(int oldState, int newState, boolean pulsing,
    private static int getAnimationIndexForTransition(int oldState, int newState, boolean pulsing,
            boolean dozing, boolean keyguardJustShown) {

        // Never animate when screen is off
@@ -260,9 +262,4 @@ public class LockIcon extends KeyguardAffordanceView {
        }
        return LOCK_ANIM_RES_IDS[0][lockAnimIndex];
    }

    interface StateProvider {
        int getState();
    }

}
+1 −2
Original line number Diff line number Diff line
@@ -352,7 +352,6 @@ public class LockscreenLockIconController {
        mLockIcon.setOnClickListener(this::handleClick);
        mLockIcon.setOnLongClickListener(this::handleLongClick);
        mLockIcon.setAccessibilityDelegate(mAccessibilityDelegate);
        mLockIcon.setStateProvider(this::getState);

        if (mLockIcon.isAttachedToWindow()) {
            mOnAttachStateChangeListener.onViewAttachedToWindow(mLockIcon);
@@ -462,7 +461,7 @@ public class LockscreenLockIconController {
            shouldUpdate = false;
        }
        if (shouldUpdate && mLockIcon != null) {
            mLockIcon.update(mLastState, mPulsing, mDozing, mKeyguardJustShown);
            mLockIcon.update(state, mPulsing, mDozing, mKeyguardJustShown);
        }
        mLastState = state;
        mKeyguardJustShown = false;