From d9ec6df38cf97d5a8931da5110daed2268cfa43c Mon Sep 17 00:00:00 2001 From: Beverly Date: Tue, 20 Mar 2018 17:19:07 -0400 Subject: Fingerprint vibrate doesn't change based on DND Add sonification audio attributes to fingerprint vibration, so it doesn't get 'muted' by DND. Bug: 76016723 Test: manual Change-Id: Ib0ccab2003853ced01d3be97032d261bdc1b6430 --- .../java/com/android/server/fingerprint/ClientMonitor.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/fingerprint/ClientMonitor.java b/services/core/java/com/android/server/fingerprint/ClientMonitor.java index 3eae157c53aa..4100a9a5f71c 100644 --- a/services/core/java/com/android/server/fingerprint/ClientMonitor.java +++ b/services/core/java/com/android/server/fingerprint/ClientMonitor.java @@ -21,6 +21,7 @@ import android.content.Context; import android.hardware.biometrics.fingerprint.V2_1.IBiometricsFingerprint; import android.hardware.fingerprint.FingerprintManager; import android.hardware.fingerprint.IFingerprintServiceReceiver; +import android.media.AudioAttributes; import android.os.IBinder; import android.os.RemoteException; import android.os.VibrationEffect; @@ -39,6 +40,11 @@ public abstract class ClientMonitor implements IBinder.DeathRecipient { protected static final int ERROR_ESRCH = 3; // Likely fingerprint HAL is dead. See errno.h. protected static final boolean DEBUG = FingerprintService.DEBUG; private static final long[] DEFAULT_SUCCESS_VIBRATION_PATTERN = new long[] {0, 30}; + private static final AudioAttributes FINGERPRINT_SONFICATION_ATTRIBUTES = + new AudioAttributes.Builder() + .setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION) + .setUsage(AudioAttributes.USAGE_ASSISTANCE_SONIFICATION) + .build(); private final Context mContext; private final long mHalDeviceId; private final int mTargetUserId; @@ -223,14 +229,14 @@ public abstract class ClientMonitor implements IBinder.DeathRecipient { public final void vibrateSuccess() { Vibrator vibrator = mContext.getSystemService(Vibrator.class); if (vibrator != null) { - vibrator.vibrate(mSuccessVibrationEffect); + vibrator.vibrate(mSuccessVibrationEffect, FINGERPRINT_SONFICATION_ATTRIBUTES); } } public final void vibrateError() { Vibrator vibrator = mContext.getSystemService(Vibrator.class); if (vibrator != null) { - vibrator.vibrate(mErrorVibrationEffect); + vibrator.vibrate(mErrorVibrationEffect, FINGERPRINT_SONFICATION_ATTRIBUTES); } } -- cgit v1.2.3-59-g8ed1b