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

Commit c90a6bf6 authored by Lucas Dupin's avatar Lucas Dupin
Browse files

Tint lock icon when entering ambient mode

Lock screen might be using the light theme, where icons are black.
This would make the auth icon invisible in AOD.

Test: manual
Bug: 111405682
Change-Id: Ifc992348ea81f3ecadd4b1f02e5aff128b6adf04
parent 803a5249
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -54,10 +54,10 @@ public class KeyguardAffordanceView extends ImageView {
    public static final float MAX_ICON_SCALE_AMOUNT = 1.5f;
    public static final float MIN_ICON_SCALE_AMOUNT = 0.8f;

    protected final int mDarkIconColor;
    protected final int mNormalColor;
    private final int mMinBackgroundRadius;
    private final Paint mCirclePaint;
    private final int mDarkIconColor;
    private final int mNormalColor;
    private final ArgbEvaluator mColorInterpolator;
    private final FlingAnimationUtils mFlingAnimationUtils;
    private float mCircleRadius;
+1 −0
Original line number Diff line number Diff line
@@ -561,6 +561,7 @@ public class KeyguardBottomAreaView extends FrameLayout implements View.OnClickL
        }
        mDarkAmount = darkAmount;
        mIndicationArea.setAlpha(1f - darkAmount);
        mLockIcon.setDarkAmount(darkAmount);
    }

    private static boolean isSuccessfulLaunch(int result) {
+16 −2
Original line number Diff line number Diff line
@@ -18,13 +18,14 @@ package com.android.systemui.statusbar.phone;

import android.content.Context;
import android.content.res.Configuration;
import android.graphics.Color;
import android.graphics.PorterDuff;
import android.graphics.drawable.AnimatedVectorDrawable;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.InsetDrawable;
import android.util.AttributeSet;
import android.view.View;
import android.view.accessibility.AccessibilityNodeInfo;

import com.android.internal.graphics.ColorUtils;
import com.android.keyguard.KeyguardUpdateMonitor;
import com.android.systemui.R;
import com.android.systemui.statusbar.KeyguardAffordanceView;
@@ -58,6 +59,7 @@ public class LockIcon extends KeyguardAffordanceView implements OnUserInfoChange
    private int mDensity;

    private final Runnable mDrawOffTimeout = () -> update(true /* forceUpdate */);
    private float mDarkAmount;

    public LockIcon(Context context, AttributeSet attrs) {
        super(context, attrs);
@@ -130,6 +132,7 @@ public class LockIcon extends KeyguardAffordanceView implements OnUserInfoChange
                    ? (AnimatedVectorDrawable) icon
                    : null;
            setImageDrawable(icon, false);
            updateDarkTint();
            if (mHasFaceUnlockIcon) {
                announceForAccessibility(getContext().getString(
                    R.string.accessibility_scanning_face));
@@ -259,4 +262,15 @@ public class LockIcon extends KeyguardAffordanceView implements OnUserInfoChange
            return STATE_LOCKED;
        }
    }

    public void setDarkAmount(float darkAmount) {
        mDarkAmount = darkAmount;
        updateDarkTint();
    }

    private void updateDarkTint() {
        Drawable drawable = getDrawable().mutate();
        int color = ColorUtils.blendARGB(Color.TRANSPARENT, Color.WHITE, mDarkAmount);
        drawable.setColorFilter(color, PorterDuff.Mode.SRC_ATOP);
    }
}