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

Commit 37fa2b76 authored by Kevin Chyn's avatar Kevin Chyn Committed by Android (Google) Code Review
Browse files

Merge changes Id1439137,Iad79331e

* changes:
  8/n: Schedule invalidation request
  7/n: Add HalClientMonitor
parents 3b82486c 6034d30e
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -805,7 +805,7 @@ public final class AuthSession implements IBinder.DeathRecipient {
    @Override
    public String toString() {
        return "State: " + mState
                + "\nisCrypto: " + isCrypto()
                + "\nPreAuthInfo: " + mPreAuthInfo;
                + ", isCrypto: " + isCrypto()
                + ", PreAuthInfo: " + mPreAuthInfo;
    }
}
+6 −7
Original line number Diff line number Diff line
@@ -169,12 +169,11 @@ public abstract class BiometricSensor {
    @Override
    public String toString() {
        return "ID(" + id + ")"
                + "\n oemStrength: " + oemStrength
                + "\n updatedStrength: " + mUpdatedStrength
                + "\n modality " + modality
                + "\n state: " + mSensorState
                + "\n cookie: " + mCookie
                + "\n authenticator: " + impl
                + "\n";
                + ", oemStrength: " + oemStrength
                + ", updatedStrength: " + mUpdatedStrength
                + ", modality " + modality
                + ", state: " + mSensorState
                + ", cookie: " + mCookie
                + ", authenticator: " + impl;
    }
}
+25 −4
Original line number Diff line number Diff line
@@ -252,12 +252,14 @@ public class BiometricService extends SystemService {
        @NonNull private final IInvalidationCallback mClientCallback;
        @NonNull private final Set<Integer> mSensorsPendingInvalidation;

        public static InvalidationTracker start(@NonNull ArrayList<BiometricSensor> sensors,
        public static InvalidationTracker start(@NonNull Context context,
                @NonNull ArrayList<BiometricSensor> sensors,
                int userId, int fromSensorId, @NonNull IInvalidationCallback clientCallback) {
            return new InvalidationTracker(sensors, userId, fromSensorId, clientCallback);
            return new InvalidationTracker(context, sensors, userId, fromSensorId, clientCallback);
        }

        private InvalidationTracker(@NonNull ArrayList<BiometricSensor> sensors, int userId,
        private InvalidationTracker(@NonNull Context context,
                @NonNull ArrayList<BiometricSensor> sensors, int userId,
                int fromSensorId, @NonNull IInvalidationCallback clientCallback) {
            mClientCallback = clientCallback;
            mSensorsPendingInvalidation = new ArraySet<>();
@@ -271,6 +273,14 @@ public class BiometricService extends SystemService {
                    continue;
                }

                try {
                    if (!sensor.impl.hasEnrolledTemplates(userId, context.getOpPackageName())) {
                        continue;
                    }
                } catch (RemoteException e) {
                    Slog.e(TAG, "Remote Exception", e);
                }

                Slog.d(TAG, "Requesting authenticatorId invalidation for sensor: " + sensor.id);

                synchronized (this) {
@@ -288,6 +298,17 @@ public class BiometricService extends SystemService {
                    Slog.d(TAG, "RemoteException", e);
                }
            }

            synchronized (this) {
                if (mSensorsPendingInvalidation.isEmpty()) {
                    try {
                        Slog.d(TAG, "No sensors require invalidation");
                        mClientCallback.onCompleted();
                    } catch (RemoteException e) {
                        Slog.e(TAG, "Remote Exception", e);
                    }
                }
            }
        }

        @VisibleForTesting
@@ -742,7 +763,7 @@ public class BiometricService extends SystemService {
                IInvalidationCallback callback) {
            checkInternalPermission();

            InvalidationTracker.start(mSensors, userId, fromSensorId, callback);
            InvalidationTracker.start(getContext(), mSensors, userId, fromSensorId, callback);
        }

        @Override // Binder call
+1 −1
Original line number Diff line number Diff line
@@ -408,7 +408,7 @@ public class Utils {
        return hasPermission && keyguardPackage != null && keyguardPackage.equals(clientPackage);
    }

    public static String getClientName(@Nullable BaseClientMonitor<?> client) {
    public static String getClientName(@Nullable BaseClientMonitor client) {
        return client != null ? client.getClass().getSimpleName() : "null";
    }

+2 −2
Original line number Diff line number Diff line
@@ -29,10 +29,10 @@ import android.os.Vibrator;
import android.util.Slog;

/**
 * Abstract {@link BaseClientMonitor} subclass that operations eligible/interested in acquisition
 * Abstract {@link HalClientMonitor} subclass that operations eligible/interested in acquisition
 * messages should extend.
 */
public abstract class AcquisitionClient<T> extends BaseClientMonitor<T> implements Interruptable {
public abstract class AcquisitionClient<T> extends HalClientMonitor<T> implements Interruptable {

    private static final String TAG = "Biometrics/AcquisitionClient";

Loading