diff --git a/services/core/java/com/android/server/biometrics/log/BiometricContextProvider.java b/services/core/java/com/android/server/biometrics/log/BiometricContextProvider.java index 21ade1bbbc4a8..fc3d7c8114b02 100644 --- a/services/core/java/com/android/server/biometrics/log/BiometricContextProvider.java +++ b/services/core/java/com/android/server/biometrics/log/BiometricContextProvider.java @@ -156,7 +156,7 @@ public final class BiometricContextProvider implements BiometricContext { @Override public OperationContextExt updateContext(@NonNull OperationContextExt operationContext, boolean isCryptoOperation) { - return operationContext.update(this); + return operationContext.update(this, isCryptoOperation); } @Nullable @@ -238,7 +238,7 @@ public final class BiometricContextProvider implements BiometricContext { private void notifySubscribers() { mSubscribers.forEach((context, consumer) -> { - consumer.accept(context.update(this).toAidlContext()); + consumer.accept(context.update(this, context.isCrypto()).toAidlContext()); }); } diff --git a/services/core/java/com/android/server/biometrics/log/OperationContextExt.java b/services/core/java/com/android/server/biometrics/log/OperationContextExt.java index 4d821e9819b4e..4a10e8e428a3c 100644 --- a/services/core/java/com/android/server/biometrics/log/OperationContextExt.java +++ b/services/core/java/com/android/server/biometrics/log/OperationContextExt.java @@ -241,9 +241,10 @@ public class OperationContextExt { } /** Update this object with the latest values from the given context. */ - OperationContextExt update(@NonNull BiometricContext biometricContext) { + OperationContextExt update(@NonNull BiometricContext biometricContext, boolean isCrypto) { mAidlContext.isAod = biometricContext.isAod(); mAidlContext.displayState = toAidlDisplayState(biometricContext.getDisplayState()); + mAidlContext.isCrypto = isCrypto; setFirstSessionId(biometricContext); mIsDisplayOn = biometricContext.isDisplayOn(); diff --git a/services/tests/servicestests/src/com/android/server/biometrics/log/BiometricContextProviderTest.java b/services/tests/servicestests/src/com/android/server/biometrics/log/BiometricContextProviderTest.java index fb3a5f64d8087..a4423038a072a 100644 --- a/services/tests/servicestests/src/com/android/server/biometrics/log/BiometricContextProviderTest.java +++ b/services/tests/servicestests/src/com/android/server/biometrics/log/BiometricContextProviderTest.java @@ -316,13 +316,13 @@ public class BiometricContextProviderTest { assertThat(aidlContext.isAod).isEqualTo(false); assertThat(aidlContext.isCrypto).isEqualTo(false); - context = mProvider.updateContext(mOpContext, false /* crypto */); + context = mProvider.updateContext(mOpContext, true /* crypto */); aidlContext = context.toAidlContext(); assertThat(context).isSameInstanceAs(mOpContext); assertThat(aidlContext.id).isEqualTo(0); assertThat(aidlContext.reason).isEqualTo(OperationReason.UNKNOWN); assertThat(aidlContext.isAod).isEqualTo(false); - assertThat(aidlContext.isCrypto).isEqualTo(false); + assertThat(aidlContext.isCrypto).isEqualTo(true); } @Test diff --git a/services/tests/servicestests/src/com/android/server/biometrics/log/OperationContextExtTest.java b/services/tests/servicestests/src/com/android/server/biometrics/log/OperationContextExtTest.java index 5cf59602a43ba..32284fd7541a6 100644 --- a/services/tests/servicestests/src/com/android/server/biometrics/log/OperationContextExtTest.java +++ b/services/tests/servicestests/src/com/android/server/biometrics/log/OperationContextExtTest.java @@ -98,7 +98,7 @@ public class OperationContextExtTest { for (Map.Entry entry : map.entrySet()) { final OperationContextExt context = new OperationContextExt(newAidlContext(), true); when(mBiometricContext.getDisplayState()).thenReturn(entry.getKey()); - assertThat(context.update(mBiometricContext).getDisplayState()) + assertThat(context.update(mBiometricContext, context.isCrypto()).getDisplayState()) .isEqualTo(entry.getValue()); } } @@ -139,7 +139,7 @@ public class OperationContextExtTest { final OperationContextExt context = new OperationContextExt(newAidlContext(), sessionType == OperationReason.BIOMETRIC_PROMPT); - assertThat(context.update(mBiometricContext)).isSameInstanceAs(context); + assertThat(context.update(mBiometricContext, context.isCrypto())).isSameInstanceAs(context); if (sessionInfo != null) { assertThat(context.getId()).isEqualTo(sessionInfo.getId());