From b5d54fd8fab4d8c7e53197c528bc716cf6bce877 Mon Sep 17 00:00:00 2001 From: joshmccloskey Date: Wed, 30 Jan 2019 19:23:35 -0800 Subject: Placing intent on system handler. Bug: 123598428 Test: Verified behavior works correctly on BiometricDemo app. Change-Id: I9e9a9585e93dd34760d38e68489e949e63d297b0 --- .../android/server/biometrics/BiometricService.java | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/services/core/java/com/android/server/biometrics/BiometricService.java b/services/core/java/com/android/server/biometrics/BiometricService.java index 15d66e6e646f..8cc560ee94e9 100644 --- a/services/core/java/com/android/server/biometrics/BiometricService.java +++ b/services/core/java/com/android/server/biometrics/BiometricService.java @@ -719,14 +719,17 @@ public class BiometricService extends SystemService { // result back to the client. // TODO(b/123378871): Remove when moved. if (bundle.getBoolean(BiometricPrompt.KEY_ENABLE_FALLBACK)) { - mConfirmDeviceCredentialReceiver = receiver; - final KeyguardManager kgm = getContext().getSystemService(KeyguardManager.class); - // Use this so we don't need to duplicate logic.. - final Intent intent = kgm.createConfirmDeviceCredentialIntent(null /* title */, - null /* description */); - // Then give it the bundle to do magic behavior.. - intent.putExtra(KeyguardManager.EXTRA_BIOMETRIC_PROMPT_BUNDLE, bundle); - getContext().startActivityAsUser(intent, UserHandle.CURRENT); + mHandler.post(() -> { + mConfirmDeviceCredentialReceiver = receiver; + final KeyguardManager kgm = getContext().getSystemService( + KeyguardManager.class); + // Use this so we don't need to duplicate logic.. + final Intent intent = kgm.createConfirmDeviceCredentialIntent(null /* title */, + null /* description */); + // Then give it the bundle to do magic behavior.. + intent.putExtra(KeyguardManager.EXTRA_BIOMETRIC_PROMPT_BUNDLE, bundle); + getContext().startActivityAsUser(intent, UserHandle.CURRENT); + }); return; } -- cgit v1.2.3-59-g8ed1b