This is already semi-combined in the Fingerprint/FaceService layer,
for example authenticate() already updates the active group. This
change makes the remainder of user-specific operations (resetLockout,
enroll, etc) atomic from a caller's perspective.
Also fixed some fingerprint naming (passing userId through groupId
parameter since groupId is not used). GroupId is going to be removed
in a follow-up CL.
Removed unused rename() from IFaceService.aidl / FaceService.java
Bug: 157790417
Test: For fingerprint/face, do each of the following
Test: Enroll, rename, auth, remove each for multiple users
Test: 1) Set up work profile with shared challenge
2) Lock out owner and work profile
3) Unlock keyguard via password
4) BiometricPromptDemo for work profile and owner have
lockout reset
Change-Id: I71d33cccba40e0df09e0faa8a4d3973e77470b93
Do not disallow reprocessable session to use physical streams.
At the same time, we cannot claim reprocessing to/from physical streams
work because:
1. It's undefined behavior to reprocess an input buffer into a physical
stream of different physical camera, or an input physical stream buffer
into an output buffer of different physical camera.
2. If the reprocessing input buffer comes from different physical cameras
with different sizes, because the current HAL API doesn't support sending
different size buffers through input stream, there isn't a
non-vendor-specific solution available.
Bug: 157123506
Test: vendor testing
Change-Id: I1ccf2b3918c1cb475b1baec10d35c6785b25208d
Allow physical stream's field-of-view to be larger than that of the
logical stream, thus enabling more robust depth-from-stereo or motion
tracking.
Test: Build
Bug: 153583897
Bug: 157676445
Bug: 157138779
Bug: 155393103
Change-Id: Ibc059396e9d5e7db80b6c2632d26f48774aad4d4
* changes:
11/n: Remove unnecessary things from BiometricAuthenticator
10/n: Split ClientMonitor functionality into appropriate subclasses
9/n: Remove MetricsLogger and Constants from biometrics
8/n: Move acquire message ignoring to face subclasses
7/n: Move Fingerprint/Face AuthenticationClients to their own file
6/n: Decouple remainder of lockout stuff
5/n: Virtualize biometric performance stats
4/n: Start moving fingerprint lockout to its own class
3/n: Move internal cleanup to its own ClientMonitor subclass
2/n: Clean up ClientMonitor
1/n: Move modality-specific files into new subdirectory
This interface was created before the existence of BiometricService.
Since the sensor registration, arbitration, etc all exist in
BiometricService layer, most of the things here can be removed and
split into separate classes.
Bug: 157790417
Test: Builds
Change-Id: I91ebc13959943b86b93d4fff46ee99050f2cb7bc
A11y service cannot get focus of bubbles because it's not a
System owned display. This patch makes System UI owned display
a trusted display. Moreover, this patch refactors the logic to
identify a trusted display by introducing FLAG_TRUSTED and
removes the trusted display check along with supportsSystemDecorations()
because the check has been included in supportsSystemDecorations().
fixes: 155823002
Bug: 152416787
Test: atest DisplayContentTests
Test: atest WindowFocusTests
Test: atest TaskDisplayAreaTests
Test: atest MultiDisplaySystemDecorationTests
Test: atest DisplayTest
Change-Id: Ie684c6488904e5aa8cae166a455c6d55455e5f55
The callback holder was removed when the capture sequence is
completed, which is too soon because the buffer loss callback could
potentially arrives later than the capture sequence completion.
Defer the deletion of the callback holder to when the native inflight
request is removed, which takes into consideration of error
notifications.
Test: Camera CTS
Bug: 155353799
Change-Id: I56b9bfbe182ba6fc0ec2cb543fc32774ed3f6f1a
Revert submission 11415576-bufferErrorLossFix
Reason for revert: Breaks Camera on at least the wembley device
Reverted Changes:
I12b716acc:Camera: Fix race for onCaptureBufferLost callback
I43f0f5ea1:Camera: Add lastCompletedFrameNumber in CaptureRes...
Bug: 158622719
Change-Id: Id95d0f157c0f940cc80d0fb3c8f95d62968a4745
Test: Locally tried this revert on rvc-dev on a wembley, and now the Camera works
Due to a surprising behavior of Handler.obtainMessage(), the argument
that indicated whether the service is available was always read as 0
(enabled), and we never correctly handled the service being
unavailable (due to concurrent capture).
Bug: 157496890
Test: Enabled debug logging and verified that the message is now
passed correctly and that indeed that models get inactivated
when capture starts and reactivated when it stops.
Change-Id: Ibf4ecdb4e4dd0f5a02d5a388afddb205c29eb2ea
The audio format doesn't always make sense in recognition events, for
example in a failure or abort event, so we allow it to be null.
However since the SoundTrigger.java API doesn't allow that, we inject
a default if it is not available.
Bug: 157496890
Test: Simulated a device that doesn't support concurrent capture,
reproduced the bug, applied the fix, verified.
Change-Id: I1e4adf9f3ccdc0f62cb9ca5e8c07df3c40a9d2cd
1) ClientMonitors should be less "abstract", and should be instantiated
with knowledge of "sensorId" and "strength"
2) ClientMonitors should not care about who their client is (e.g.
FingerprintManager, FaceManager, BiometricService). As such,
added a new shim (ClientMonitorCallbackConverter) that receives
callbacks from ClientMonitor and forwards it to the client it was
instantiated with.
Fixes: 157077040
Bug: 157184083
Test: atest com.android.server.biometrics
Test: 1) Enroll, auth on keyguard, auth in BiometricPromptDemo,
remove via settings
2) Enumerate/cleanup - modify FingerprintUtils/FaceUtils to either
store an extra template, or no template in the framework cache
upon enroll completion. reboot device, notice either "framework
template" being removed, or "HAL template" being removed
Note: We should move InternalEnumerateClient / InternalRemovalClient
into their own monitor subclass to remove global state tracking
in BiometricServiceBase
Note: We can consider breaking down ClientMonitorCallbackConverter into
an interface or abstract class, to be implemented by receiver
specific implementations, but it might be a premature optimization
for now
Change-Id: I4716fdfc3f8156ce0b7d2e8ab1af344200b417d1