From 9c7aba6023ca7fe010300d1c92af0c9e461afd10 Mon Sep 17 00:00:00 2001 From: Peter Cai Date: Fri, 15 Dec 2023 22:48:39 -0500 Subject: [PATCH 09/10] FingerprintService: Do not use HIDL providers when AIDL is present This fixes duplicated sensor ID when config_biometric_sensors is defined on AIDL devices. Change-Id: I9942e91a95106a7a11ab7ddf145d87562d1b7c0d --- .../biometrics/sensors/fingerprint/FingerprintService.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/biometrics/sensors/fingerprint/FingerprintService.java b/services/core/java/com/android/server/biometrics/sensors/fingerprint/FingerprintService.java index 83b306b07c27..7f144a0f615f 100644 --- a/services/core/java/com/android/server/biometrics/sensors/fingerprint/FingerprintService.java +++ b/services/core/java/com/android/server/biometrics/sensors/fingerprint/FingerprintService.java @@ -889,8 +889,9 @@ public class FingerprintService extends SystemService { filteredInstances = filterAvailableHalInstances(hidlSensors, aidlSensors); final List providers = new ArrayList<>(); - providers.addAll(getHidlProviders(filteredInstances.first)); providers.addAll(getAidlProviders(filteredInstances.second)); + if (providers.isEmpty()) // Only use HIDL providers if AIDL ones are not found + providers.addAll(getHidlProviders(filteredInstances.first)); return providers; }); -- 2.43.1