From c48083678087791ae16ed87092ee308d31710eaa Mon Sep 17 00:00:00 2001 From: “Grace Date: Wed, 31 Mar 2021 00:31:09 +0000 Subject: Adds property indicating presence of power button fingerprint sensor Adds boolean field is_powerbutton_fps indicating whether device has a power button fingerprint sensor, and adds is_powerbutton_fps to dump sys Test: adb shell dumpsys fingerprint Test: adb shell dumpsys biometric Bug: 183642196 Change-Id: Ib433e6f54a57692be23291a55abba5cea8ed0d9d Merged-in: Ib433e6f54a57692be23291a55abba5cea8ed0d9d --- core/res/res/values/config.xml | 3 +++ core/res/res/values/symbols.xml | 1 + .../sensors/fingerprint/hidl/Fingerprint21.java | 17 ++++++++++++++--- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index 32732170e92b..f4fda8afd08d 100644 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -4430,6 +4430,9 @@ --> + + false + diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index e607b11e5297..cba470910bf1 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -2558,6 +2558,7 @@ + diff --git a/services/core/java/com/android/server/biometrics/sensors/fingerprint/hidl/Fingerprint21.java b/services/core/java/com/android/server/biometrics/sensors/fingerprint/hidl/Fingerprint21.java index e149ca9428dd..243cc7cd9b00 100644 --- a/services/core/java/com/android/server/biometrics/sensors/fingerprint/hidl/Fingerprint21.java +++ b/services/core/java/com/android/server/biometrics/sensors/fingerprint/hidl/Fingerprint21.java @@ -119,6 +119,7 @@ public class Fingerprint21 implements IHwBinder.DeathRecipient, ServiceProvider private int mCurrentUserId = UserHandle.USER_NULL; private final boolean mIsUdfps; private final int mSensorId; + private boolean mIsPowerbuttonFps; private final class BiometricTaskStackListener extends TaskStackListener { @Override @@ -345,9 +346,18 @@ public class Fingerprint21 implements IHwBinder.DeathRecipient, ServiceProvider mIsUdfps = !ArrayUtils.isEmpty( mContext.getResources().getIntArray(R.array.config_udfps_sensor_props)); - final @FingerprintSensorProperties.SensorType int sensorType = - mIsUdfps ? FingerprintSensorProperties.TYPE_UDFPS_OPTICAL - : FingerprintSensorProperties.TYPE_REAR; + // config_is_powerbutton_fps indicates whether device has a power button fingerprint sensor. + mIsPowerbuttonFps = mContext.getResources().getBoolean(R.bool.config_is_powerbutton_fps); + + final @FingerprintSensorProperties.SensorType int sensorType; + if (mIsUdfps) { + sensorType = FingerprintSensorProperties.TYPE_UDFPS_OPTICAL; + } else if (mIsPowerbuttonFps) { + sensorType = FingerprintSensorProperties.TYPE_POWER_BUTTON; + } else { + sensorType = FingerprintSensorProperties.TYPE_REAR; + } + // IBiometricsFingerprint@2.1 does not manage timeout below the HAL, so the Gatekeeper HAT // cannot be checked final boolean resetLockoutRequiresHardwareAuthToken = false; @@ -835,6 +845,7 @@ public class Fingerprint21 implements IHwBinder.DeathRecipient, ServiceProvider try { dump.put("service", TAG); dump.put("isUdfps", mIsUdfps); + dump.put("isPowerbuttonFps", mIsPowerbuttonFps); JSONArray sets = new JSONArray(); for (UserInfo user : UserManager.get(mContext).getUsers()) { -- cgit v1.2.3-59-g8ed1b