patches/frameworks/base/0009-FingerprintService-Do-not-use-HIDL-providers-when-AI.patch

33 lines
1.6 KiB
Diff

From 9c7aba6023ca7fe010300d1c92af0c9e461afd10 Mon Sep 17 00:00:00 2001
From: Peter Cai <peter@typeblog.net>
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<ServiceProvider> 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