summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Greg Kaiser <gkaiser@google.com> 2020-12-03 18:49:17 -0800
committer Greg Kaiser <gkaiser@google.com> 2020-12-04 14:31:14 +0000
commit3e8964d4a89504a44cc9a6cc7e4f66ee093e7614 (patch)
tree4226c605d25ebf809199432d4e76491f7fc9d446
parent089d0f680b48f527397c5a94fc69ffa7356c9e4c (diff)
Don't access fingerprint service when unavailable
For devices which don't have a fingerprint service, an attempt to get the fingerprint system service creates an Error. We want to avoid this, so we add a check prior to the access. Bug: 174800840 Test: Bugreport on a non-fingerprint device no longer has a "No service published for: fingerprint" Error Change-Id: I2e96e8cb8cc45ab86d0b2bfa9d651c85b58cd0da
-rw-r--r--services/core/java/com/android/server/biometrics/BiometricService.java12
1 files changed, 7 insertions, 5 deletions
diff --git a/services/core/java/com/android/server/biometrics/BiometricService.java b/services/core/java/com/android/server/biometrics/BiometricService.java
index 0194259d6289..75e1938656e3 100644
--- a/services/core/java/com/android/server/biometrics/BiometricService.java
+++ b/services/core/java/com/android/server/biometrics/BiometricService.java
@@ -30,6 +30,7 @@ import android.app.admin.DevicePolicyManager;
import android.app.trust.ITrustManager;
import android.content.ContentResolver;
import android.content.Context;
+import android.content.pm.PackageManager;
import android.database.ContentObserver;
import android.hardware.biometrics.BiometricAuthenticator;
import android.hardware.biometrics.BiometricConstants;
@@ -809,12 +810,13 @@ public class BiometricService extends SystemService {
public List<FingerprintSensorPropertiesInternal> getFingerprintSensorProperties(
Context context) {
- final FingerprintManager fpm = context.getSystemService(FingerprintManager.class);
- if (fpm != null) {
- return fpm.getSensorPropertiesInternal();
- } else {
- return new ArrayList<>();
+ if (context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_FINGERPRINT)) {
+ final FingerprintManager fpm = context.getSystemService(FingerprintManager.class);
+ if (fpm != null) {
+ return fpm.getSensorPropertiesInternal();
+ }
}
+ return new ArrayList<>();
}
}