From 8c1d1169d8145dce1f1d8154d75f63e7889520a6 Mon Sep 17 00:00:00 2001 From: Ilya Matyukhin Date: Tue, 15 Jun 2021 17:28:05 -0700 Subject: [PATCH] Add device-specific illumination transition time Bug: 189130534 Test: perfetto Change-Id: I70728e7d7f4d0217d001851ded5a95caef21c3dc --- core/res/res/values/config.xml | 3 +++ core/res/res/values/symbols.xml | 1 + .../android/systemui/biometrics/UdfpsSurfaceView.java | 9 ++++++--- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index ee33d48768c5b..f8b9c6b83ada9 100644 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -4521,6 +4521,9 @@ --> + + 50 + false diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index 7d685a202538e..7c518983fb834 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -2590,6 +2590,7 @@ + diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsSurfaceView.java b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsSurfaceView.java index 6a6f57a64be65..f8be35ab6cd8b 100644 --- a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsSurfaceView.java +++ b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsSurfaceView.java @@ -55,6 +55,7 @@ public class UdfpsSurfaceView extends SurfaceView implements UdfpsIlluminator { @NonNull private final SurfaceHolder mHolder; @NonNull private final Paint mSensorPaint; @NonNull private final SimpleDrawable mIlluminationDotDrawable; + private final int mOnIlluminatedDelayMs; private final @HbmType int mHbmType; @NonNull private RectF mSensorRect; @@ -82,6 +83,9 @@ public class UdfpsSurfaceView extends SurfaceView implements UdfpsIlluminator { canvas.drawOval(mSensorRect, mSensorPaint); }; + mOnIlluminatedDelayMs = mContext.getResources().getInteger( + com.android.internal.R.integer.config_udfps_illumination_transition_ms); + if (Build.IS_ENG || Build.IS_USERDEBUG) { mHbmType = Settings.Secure.getIntForUser(mContext.getContentResolver(), SETTING_HBM_TYPE, DEFAULT_HBM_TYPE, UserHandle.USER_CURRENT); @@ -107,9 +111,8 @@ public class UdfpsSurfaceView extends SurfaceView implements UdfpsIlluminator { } if (onIlluminatedRunnable != null) { // No framework API can reliably tell when a frame reaches the panel. A timeout - // is the safest solution. The frame should be displayed within 3 refresh - // cycles, which on a 60 Hz panel equates to 50 milliseconds. - postDelayed(onIlluminatedRunnable, 50 /* delayMillis */); + // is the safest solution. + postDelayed(onIlluminatedRunnable, mOnIlluminatedDelayMs); } else { Log.w(TAG, "startIllumination | onIlluminatedRunnable is null"); }