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

Commit f8afdce2 authored by Kevin Chyn's avatar Kevin Chyn
Browse files

Ensure face icon controller is deactivated when view is detached

Fixes: 197397546

Check AuthBiometricFaceView logs in the below cases:
Test: start auth, dismiss while face is scanning
Test: start auth, turn off screen while face is scanning

Change-Id: I8ed98f80998fce4a1e67e57380ee7f19c811b4d8
parent 43057f8d
Loading
Loading
Loading
Loading
+15 −1
Original line number Diff line number Diff line
@@ -16,7 +16,6 @@

package com.android.systemui.biometrics;

import android.annotation.NonNull;
import android.content.Context;
import android.graphics.drawable.Animatable2;
import android.graphics.drawable.AnimatedVectorDrawable;
@@ -30,6 +29,7 @@ import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;

import com.android.internal.annotations.VisibleForTesting;
@@ -163,6 +163,18 @@ public class AuthBiometricFaceView extends AuthBiometricView {
    }

    @Nullable @VisibleForTesting IconController mFaceIconController;
    @NonNull private final OnAttachStateChangeListener mOnAttachStateChangeListener =
            new OnAttachStateChangeListener() {
        @Override
        public void onViewAttachedToWindow(View v) {

        }

        @Override
        public void onViewDetachedFromWindow(View v) {
            mFaceIconController.deactivate();
        }
    };

    public AuthBiometricFaceView(Context context) {
        this(context, null);
@@ -181,6 +193,8 @@ public class AuthBiometricFaceView extends AuthBiometricView {
    protected void onFinishInflate() {
        super.onFinishInflate();
        mFaceIconController = new IconController(mContext, mIconView, mIndicatorView);

        addOnAttachStateChangeListener(mOnAttachStateChangeListener);
    }

    @Override