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
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: I12b716acc9fbaa9791f0498ac77d4470a7448d5a
This CL annotates multiple APIs in the HdmiControlManager as Test APIs.
Also creates a Test api wrapper for aidl interface IHdmiControlService.
HdmiPortInfo is the param under test that is also annotated as Test API.
Test: atest android.hardware.hdmi.cts
Bug: 155113872
Change-Id: I58b483eaaa5fe08f90415a7e044c30a28dc7d7c2
Adds a listener to receive updates to the state of the HDMI CEC volume
control features.
Interested parties can register and unregister to get notified about
state updates which are sent on every change to the value.
Test: atest HdmiControlServiceTest
Bug: 152018314
Change-Id: I342d748114bae99b3c3f236502d73bfeac9e9ac5
Merged-In: I342d748114bae99b3c3f236502d73bfeac9e9ac5
Since authenticatorIds are collected from AuthService, which is
system_server, we need to get the callingUserId before the code
enters system_server, which clears calling identity.
Test: 1) Set up work profile, install BiometricPromptDemo
2) Enroll work profile fingerprint
3) Open work profile version of BiometricPromptDemo
4) Create biometric-bound keys and authenticate with fingerprint
Before this change, key was unusable. After this change,
the key can be used
Fixes: 157486161
Change-Id: I4ec89b9cb13caff397b1a1acd844962736290040
Merged-In: I4ec89b9cb13caff397b1a1acd844962736290040
Since authenticatorIds are collected from AuthService, which is
system_server, we need to get the callingUserId before the code
enters system_server, which clears calling identity.
Test: 1) Set up work profile, install BiometricPromptDemo
2) Enroll work profile fingerprint
3) Open work profile version of BiometricPromptDemo
4) Create biometric-bound keys and authenticate with fingerprint
Before this change, key was unusable. After this change,
the key can be used
Fixes: 157486161
Change-Id: I4ec89b9cb13caff397b1a1acd844962736290040
Previously, only the NDK enforced the default sensor type was wakeup and
if an app called the Java APIs it'd get a null value if there was only a
wakeup version of the hinge sensor.
Bug: 157581504
Test: Run on emulator and verify that getDefaultSensor returns the
sensor instance
Change-Id: Ica13c70a456780891f366394848e4c649f6ea70b
Adds a listener to receive updates to the state of the HDMI CEC volume
control features.
Interested parties can register and unregister to get notified about
state updates which are sent on every change to the value.
Test: atest HdmiControlServiceTest
Bug: 152018314
Change-Id: I342d748114bae99b3c3f236502d73bfeac9e9ac5
The current Android API will trigger strict mode
violations in case a context not bound to any
particular display tries to connect to the window
manager service.
To avoid such violations query the default display size
directly from the display manager.
Bug: 157167435
Test: Camera CTS
Change-Id: Icad19ec0227b4945da9e6fcacaec916c5799877f