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

Commit e13ad7b6 authored by Dave Mankoff's avatar Dave Mankoff Committed by android-build-merger
Browse files

Merge "Clear authentication data whenever the phone transitions to DOZE_AOD or...

Merge "Clear authentication data whenever the phone transitions to DOZE_AOD or DOZE." into qt-r1-dev
am: e28cd160

Change-Id: Ie2fbd51f96e874e270a51bd5af04af355a1583c7
parents 537554f3 e28cd160
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -2325,6 +2325,13 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener {
        mUserFaceAuthenticated.clear();
        mTrustManager.clearAllBiometricRecognized(BiometricSourceType.FINGERPRINT);
        mTrustManager.clearAllBiometricRecognized(BiometricSourceType.FACE);

        for (int i = 0; i < mCallbacks.size(); i++) {
            KeyguardUpdateMonitorCallback cb = mCallbacks.get(i).get();
            if (cb != null) {
                cb.onBiometricsCleared();
            }
        }
    }

    public boolean isSimPinVoiceSecure() {
+5 −0
Original line number Diff line number Diff line
@@ -314,4 +314,9 @@ public class KeyguardUpdateMonitorCallback {
     */
    public void onLogoutEnabledChanged() { }

    /**
     * Called when authenticated biometrics are cleared.
     */
    public void onBiometricsCleared() { }

}
+43 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2019 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.android.systemui.doze;

import android.content.Context;

import com.android.keyguard.KeyguardUpdateMonitor;

/**
 * Controls removing Keyguard authorization when the phone goes to sleep.
 */
public class DozeAuthRemover implements DozeMachine.Part {

    KeyguardUpdateMonitor mKeyguardUpdateMonitor;

    public DozeAuthRemover(Context context) {
        mKeyguardUpdateMonitor = KeyguardUpdateMonitor.getInstance(context);
    }

    @Override
    public void transitionTo(DozeMachine.State oldState, DozeMachine.State newState) {
        if (newState == DozeMachine.State.DOZE || newState == DozeMachine.State.DOZE_AOD) {
            int currentUser = KeyguardUpdateMonitor.getCurrentUser();
            if (mKeyguardUpdateMonitor.getUserUnlockedWithBiometric(currentUser)) {
                mKeyguardUpdateMonitor.clearBiometricRecognized();
            }
        }
    }
}
+2 −1
Original line number Diff line number Diff line
@@ -71,7 +71,8 @@ public class DozeFactory {
                createDozeScreenBrightness(context, wrappedService, sensorManager, host, params,
                        handler),
                new DozeWallpaperState(context),
                new DozeDockHandler(context, machine, host, config, handler, dockManager)
                new DozeDockHandler(context, machine, host, config, handler, dockManager),
                new DozeAuthRemover(dozeService)
        });

        return machine;
+5 −0
Original line number Diff line number Diff line
@@ -149,6 +149,11 @@ public class LockIcon extends KeyguardAffordanceView implements OnUserInfoChange
                public void onStrongAuthStateChanged(int userId) {
                    update();
                }

                @Override
                public void onBiometricsCleared() {
                    update();
                }
    };

    @Inject