Add logging for AuthSession cancellation path
Also updates outdated documentation in BiometricService#authenticateInternal Bug: 190987014 Test: Builds Change-Id: I8b32cfcfc0dd1ea1d27cf81737796a06dc2509ae
This commit is contained in:
@@ -366,10 +366,9 @@ public final class AuthSession implements IBinder.DeathRecipient {
|
||||
// sending the final error callback to the application.
|
||||
for (BiometricSensor sensor : mPreAuthInfo.eligibleSensors) {
|
||||
try {
|
||||
if (filter.apply(sensor)) {
|
||||
if (DEBUG) {
|
||||
Slog.v(TAG, "Canceling sensor: " + sensor.id);
|
||||
}
|
||||
final boolean shouldCancel = filter.apply(sensor);
|
||||
Slog.d(TAG, "sensorId: " + sensor.id + ", shouldCancel: " + shouldCancel);
|
||||
if (shouldCancel) {
|
||||
sensor.goToStateCancelling(mToken, mOpPackageName);
|
||||
}
|
||||
} catch (RemoteException e) {
|
||||
|
||||
@@ -1369,11 +1369,11 @@ public class BiometricService extends SystemService {
|
||||
/**
|
||||
* handleAuthenticate() (above) which is called from BiometricPrompt determines which
|
||||
* modality/modalities to start authenticating with. authenticateInternal() should only be
|
||||
* used for:
|
||||
* 1) Preparing <Biometric>Services for authentication when BiometricPrompt#authenticate is,
|
||||
* invoked, shortly after which BiometricPrompt is shown and authentication starts
|
||||
* 2) Preparing <Biometric>Services for authentication when BiometricPrompt is already shown
|
||||
* and the user has pressed "try again"
|
||||
* used for preparing <Biometric>Services for authentication when BiometricPrompt#authenticate
|
||||
* is invoked, shortly after which BiometricPrompt is shown and authentication starts.
|
||||
*
|
||||
* Note that this path is NOT invoked when the BiometricPrompt "Try again" button is pressed.
|
||||
* In that case, see {@link #handleOnTryAgainPressed()}.
|
||||
*/
|
||||
private void authenticateInternal(IBinder token, long operationId, int userId,
|
||||
IBiometricServiceReceiver receiver, String opPackageName, PromptInfo promptInfo,
|
||||
|
||||
@@ -408,22 +408,22 @@ class PreAuthInfo {
|
||||
public String toString() {
|
||||
StringBuilder string = new StringBuilder(
|
||||
"BiometricRequested: " + mBiometricRequested
|
||||
+ "\nStrengthRequested: " + mBiometricStrengthRequested
|
||||
+ "\nCredentialRequested: " + credentialRequested);
|
||||
string.append("\nEligible:{");
|
||||
+ ", StrengthRequested: " + mBiometricStrengthRequested
|
||||
+ ", CredentialRequested: " + credentialRequested);
|
||||
string.append(", Eligible:{");
|
||||
for (BiometricSensor sensor: eligibleSensors) {
|
||||
string.append(sensor.id).append(" ");
|
||||
}
|
||||
string.append("}");
|
||||
|
||||
string.append("\nIneligible:{");
|
||||
string.append(", Ineligible:{");
|
||||
for (Pair<BiometricSensor, Integer> ineligible : ineligibleSensors) {
|
||||
string.append(ineligible.first).append(":").append(ineligible.second).append(" ");
|
||||
}
|
||||
string.append("}");
|
||||
|
||||
string.append("\nCredentialAvailable: ").append(credentialAvailable);
|
||||
string.append("\n");
|
||||
string.append(", CredentialAvailable: ").append(credentialAvailable);
|
||||
string.append(", ");
|
||||
return string.toString();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -569,6 +569,9 @@ public class BiometricScheduler {
|
||||
final boolean isCorrectClient = isAuthenticationOrDetectionOperation(mCurrentOperation);
|
||||
final boolean tokenMatches = mCurrentOperation.mClientMonitor.getToken() == token;
|
||||
|
||||
Slog.d(getTag(), "cancelAuthenticationOrDetection, isCorrectClient: " + isCorrectClient
|
||||
+ ", tokenMatches: " + tokenMatches);
|
||||
|
||||
if (isCorrectClient && tokenMatches) {
|
||||
Slog.d(getTag(), "Cancelling: " + mCurrentOperation);
|
||||
cancelInternal(mCurrentOperation);
|
||||
|
||||
@@ -498,6 +498,8 @@ public class FingerprintService extends SystemService {
|
||||
|
||||
Utils.checkPermission(getContext(), MANAGE_BIOMETRIC);
|
||||
|
||||
Slog.d(TAG, "cancelAuthenticationFromService, sensorId: " + sensorId);
|
||||
|
||||
final ServiceProvider provider = getProviderForSensor(sensorId);
|
||||
if (provider == null) {
|
||||
Slog.w(TAG, "Null provider for cancelAuthenticationFromService");
|
||||
|
||||
@@ -632,6 +632,7 @@ public class Fingerprint21 implements IHwBinder.DeathRecipient, ServiceProvider
|
||||
|
||||
@Override
|
||||
public void cancelAuthentication(int sensorId, @NonNull IBinder token) {
|
||||
Slog.d(TAG, "cancelAuthentication, sensorId: " + sensorId);
|
||||
mHandler.post(() -> mScheduler.cancelAuthenticationOrDetection(token));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user