From b602c45231d6f87a7eaf95859796495b72ca6e23 Mon Sep 17 00:00:00 2001 From: Kevin Chyn Date: Wed, 10 Apr 2019 14:05:54 -0700 Subject: [PATCH] Check PackageManager before getting Manager Fixes: 130223578 Test: Builds Change-Id: I2ed1ffe32bd67e4c21b486c2e90b4f18b024378b --- .../server/stats/StatsCompanionService.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/stats/StatsCompanionService.java b/services/core/java/com/android/server/stats/StatsCompanionService.java index f83b3ea10e050..96924c04e5e1d 100644 --- a/services/core/java/com/android/server/stats/StatsCompanionService.java +++ b/services/core/java/com/android/server/stats/StatsCompanionService.java @@ -1458,8 +1458,18 @@ public class StatsCompanionService extends IStatsCompanionService.Stub { private void pullNumBiometricsEnrolled(int modality, int tagId, long elapsedNanos, long wallClockNanos, List pulledData) { - FingerprintManager fingerprintManager = mContext.getSystemService(FingerprintManager.class); - FaceManager faceManager = mContext.getSystemService(FaceManager.class); + final PackageManager pm = mContext.getPackageManager(); + FingerprintManager fingerprintManager = null; + FaceManager faceManager = null; + + if (pm.hasSystemFeature(PackageManager.FEATURE_FINGERPRINT)) { + fingerprintManager = mContext.getSystemService( + FingerprintManager.class); + } + if (pm.hasSystemFeature(PackageManager.FEATURE_FACE)) { + faceManager = mContext.getSystemService(FaceManager.class); + } + if (modality == BiometricsProtoEnums.MODALITY_FINGERPRINT && fingerprintManager == null) { return; }