Merge "Add logging for AuthSession cancellation path" into sc-dev am: 34944f74c8

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15145669

Change-Id: Id29dd40b30c5dfbcf7cc70790696e749bccd92f9
This commit is contained in:
Kevin Chyn
2021-06-29 22:11:33 +00:00
committed by Automerger Merge Worker
6 changed files with 20 additions and 15 deletions

View File

@@ -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) {

View File

@@ -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,

View File

@@ -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();
}
}

View File

@@ -579,6 +579,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);

View File

@@ -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");

View File

@@ -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));
}