Move error delay logic from Manager to Service

For BiometricPrompt, sometimes the error should be delayed. E.g. after
receiving certain signal from the daemon, the UI needs to show the message
for a few seconds before the application should receive the actual error.
The logic was previously added in FingerprintManager and missed a case.
It's cleaner to have it done at the service level, since it will
automatically be inherited for each modality.

Fixes: 78546315
Bug: 77337939
Bug: 78185698

Test: Keyguard (FingerprintManager) errors are not affected

Test: Using BiometricPromptDemo test app, do the following
Test: Starting authentication without FP enrolled returns error immediately
Test: Start authentication, lock device - error returns immediately
Test: User canceled (tapping outside) returns error immediately
Test: User canceled (negative button) returns error immediately
Test: Lockout returns error when dialog dismisses

Change-Id: Ie828e0cf1fd4261ded31bb0b0adb6d93e7692993
4 files changed