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

Commit 2a8ab5ef authored by Curtis Belmonte's avatar Curtis Belmonte
Browse files

Fix fingerprint dialog color contrast for dark theme

The code to set the color of the help text shown on the fingerprint
dialog does not currently check the context theme. This means that the
wrong color is used when the system is using a dark theme.

This commit fixes the issue by ensuring the appropriate themed color is
used.

Test: Manual
1. Turn on system dark theme (Settings > Display > Dark theme)
2. Trigger the fingerprint dialog (e.g. Wi-Fi > Network details > Share)

Bug: 174831630
Change-Id: I41dfb536e72063ae8ea84d51fa0e50613f920090
Merged-In: I41dfb536e72063ae8ea84d51fa0e50613f920090
parent 76f79a77
Loading
Loading
Loading
Loading
+6 −7
Original line number Diff line number Diff line
@@ -160,12 +160,12 @@ public class AuthBiometricFaceView extends AuthBiometricView {

    @Override
    protected void handleResetAfterError() {
        resetErrorView(mContext, mIndicatorView);
        resetErrorView();
    }

    @Override
    protected void handleResetAfterHelp() {
        resetErrorView(mContext, mIndicatorView);
        resetErrorView();
    }

    @Override
@@ -185,7 +185,7 @@ public class AuthBiometricFaceView extends AuthBiometricView {

        if (newState == STATE_AUTHENTICATING_ANIMATING_IN ||
                (newState == STATE_AUTHENTICATING && mSize == AuthDialog.SIZE_MEDIUM)) {
            resetErrorView(mContext, mIndicatorView);
            resetErrorView();
        }

        // Do this last since the state variable gets updated.
@@ -204,9 +204,8 @@ public class AuthBiometricFaceView extends AuthBiometricView {
        super.onAuthenticationFailed(failureReason);
    }

    static void resetErrorView(Context context, TextView textView) {
        textView.setTextColor(context.getResources().getColor(
                R.color.biometric_dialog_gray, context.getTheme()));
        textView.setVisibility(View.INVISIBLE);
    private void resetErrorView() {
        mIndicatorView.setTextColor(mTextColorHint);
        mIndicatorView.setVisibility(View.INVISIBLE);
    }
}
+1 −1
Original line number Diff line number Diff line
@@ -78,7 +78,7 @@ public class AuthBiometricFingerprintView extends AuthBiometricView {

    private void showTouchSensorString() {
        mIndicatorView.setText(R.string.fingerprint_dialog_touch_sensor);
        mIndicatorView.setTextColor(R.color.biometric_dialog_gray);
        mIndicatorView.setTextColor(mTextColorHint);
    }

    private void updateIcon(int lastState, int newState) {
+4 −4
Original line number Diff line number Diff line
@@ -155,8 +155,8 @@ public abstract class AuthBiometricView extends LinearLayout {
    private final Injector mInjector;
    private final Handler mHandler;
    private final AccessibilityManager mAccessibilityManager;
    private final int mTextColorError;
    private final int mTextColorHint;
    protected final int mTextColorError;
    protected final int mTextColorHint;

    private AuthPanelController mPanelController;
    private Bundle mBiometricPromptBundle;
@@ -169,7 +169,7 @@ public abstract class AuthBiometricView extends LinearLayout {
    private TextView mSubtitleView;
    private TextView mDescriptionView;
    protected ImageView mIconView;
    @VisibleForTesting protected TextView mIndicatorView;
    protected TextView mIndicatorView;
    @VisibleForTesting Button mNegativeButton;
    @VisibleForTesting Button mPositiveButton;
    @VisibleForTesting Button mTryAgainButton;