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

Commit 8ee2881f authored by Beverly's avatar Beverly Committed by Beverly Tai
Browse files

Update lock icon color on config change

+ update udfps icon color logic. Make sure alpha values are
between 0 and 255, else the drawable's color can be wrong.

Test: manual
Fixes: 186549545
Fixes: 187138534
Change-Id: I7e9787db3ca44568209ebae373cdf48482a10417
parent 65782cf2
Loading
Loading
Loading
Loading
+33 −5
Original line number Diff line number Diff line
@@ -45,6 +45,7 @@ import com.android.systemui.plugins.FalsingManager;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.statusbar.StatusBarState;
import com.android.systemui.statusbar.phone.dagger.StatusBarComponent;
import com.android.systemui.statusbar.policy.ConfigurationController;
import com.android.systemui.statusbar.policy.KeyguardStateController;
import com.android.systemui.util.ViewController;

@@ -68,6 +69,7 @@ public class LockIconViewController extends ViewController<LockIconView> impleme
    @NonNull private final FalsingManager mFalsingManager;
    @NonNull private final AuthController mAuthController;
    @NonNull private final AccessibilityManager mAccessibilityManager;
    @NonNull private final ConfigurationController mConfigurationController;

    private boolean mHasUdfpsOrFaceAuthFeatures;
    private boolean mUdfpsEnrolled;
@@ -103,7 +105,8 @@ public class LockIconViewController extends ViewController<LockIconView> impleme
            @NonNull FalsingManager falsingManager,
            @NonNull AuthController authController,
            @NonNull DumpManager dumpManager,
            @NonNull AccessibilityManager accessibilityManager
            @NonNull AccessibilityManager accessibilityManager,
            @NonNull ConfigurationController configurationController
    ) {
        super(view);
        mStatusBarStateController = statusBarStateController;
@@ -113,6 +116,7 @@ public class LockIconViewController extends ViewController<LockIconView> impleme
        mKeyguardStateController = keyguardStateController;
        mFalsingManager = falsingManager;
        mAccessibilityManager = accessibilityManager;
        mConfigurationController = configurationController;

        final Context context = view.getContext();
        mButton = context.getResources().getDrawable(
@@ -178,10 +182,8 @@ public class LockIconViewController extends ViewController<LockIconView> impleme
        mCanDismissLockScreen = mKeyguardStateController.canDismissLockScreen();
        mStatusBarState = mStatusBarStateController.getState();

        mUnlockIcon.setTint(Utils.getColorAttrDefaultColor(mView.getContext(),
                R.attr.wallpaperTextColorAccent));
        mLockIcon.setTint(Utils.getColorAttrDefaultColor(mView.getContext(),
                R.attr.wallpaperTextColorAccent));
        updateColors();
        mConfigurationController.addCallback(mConfigurationListener);

        mKeyguardUpdateMonitor.registerCallback(mKeyguardUpdateMonitorCallback);
        mStatusBarStateController.addCallback(mStatusBarStateListener);
@@ -194,6 +196,7 @@ public class LockIconViewController extends ViewController<LockIconView> impleme

    @Override
    protected void onViewDetached() {
        mConfigurationController.removeCallback(mConfigurationListener);
        mKeyguardUpdateMonitor.removeCallback(mKeyguardUpdateMonitorCallback);
        mStatusBarStateController.removeCallback(mStatusBarStateListener);
        mKeyguardStateController.removeCallback(mKeyguardStateCallback);
@@ -306,6 +309,13 @@ public class LockIconViewController extends ViewController<LockIconView> impleme
                && !mKeyguardStateController.isKeyguardGoingAway();
    }

    private void updateColors() {
        final int color = Utils.getColorAttrDefaultColor(mView.getContext(),
                R.attr.wallpaperTextColorAccent);
        mUnlockIcon.setTint(color);
        mLockIcon.setTint(color);
    }

    @Override
    public void dump(@NonNull FileDescriptor fd, @NonNull PrintWriter pw, @NonNull String[] args) {
        pw.println("  mShowBouncerButton: " + mShowButton);
@@ -385,6 +395,24 @@ public class LockIconViewController extends ViewController<LockIconView> impleme
        }
    };

    private final ConfigurationController.ConfigurationListener mConfigurationListener =
            new ConfigurationController.ConfigurationListener() {
        @Override
        public void onUiModeChanged() {
            updateColors();
        }

        @Override
        public void onThemeChanged() {
            updateColors();
        }

        @Override
        public void onOverlayChanged() {
            updateColors();
        }
    };

    private final AccessibilityManager.TouchExplorationStateChangeListener
            mTouchExplorationStateChangeListener = enabled -> updateClickListener();
}
+2 −1
Original line number Diff line number Diff line
@@ -69,7 +69,8 @@ public class UdfpsKeyguardDrawable extends UdfpsDrawable implements DozeReceiver
        mHintAnimator.setInterpolator(Interpolators.FAST_OUT_SLOW_IN);
        mHintAnimator.addUpdateListener(anim -> setStrokeWidth((float) anim.getAnimatedValue()));

        mLockScreenColor = Utils.getColorAttrDefaultColor(mContext, R.attr.wallpaperTextColor);
        mLockScreenColor = Utils.getColorAttrDefaultColor(mContext,
                R.attr.wallpaperTextColorAccent);
        mAmbientDisplayColor = Color.WHITE;

        updateIcon();
+1 −1
Original line number Diff line number Diff line
@@ -272,7 +272,7 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud
    private void updateAlpha() {
        // fade icon on transition to showing bouncer
        int alpha = mShowingUdfpsBouncer ? 255
                : Math.abs((int) MathUtils.map(.4f, 0f, .7f, 255f,
                : Math.abs((int) MathUtils.constrainedMap(0f, 255f, .4f, .7f,
                        mInputBouncerHiddenAmount));
        mView.setUnpausedAlpha(alpha);
    }