From d41b9a211718d3294dd615d9a31ff2443023cda4 Mon Sep 17 00:00:00 2001 From: Ilya Matyukhin Date: Thu, 13 Aug 2020 22:02:59 -0700 Subject: [PATCH] Add shadow to make the sensor area visible on white background Bug: 158135499 Test: manual on device Change-Id: I2547b9bb36db5a4b7f3b281f1331b048186c391b --- .../src/com/android/systemui/biometrics/UdfpsView.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsView.java b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsView.java index d4e86d5dd234c..0d53c4763bc96 100644 --- a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsView.java +++ b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsView.java @@ -36,6 +36,10 @@ import com.android.systemui.R; public class UdfpsView extends View { private static final String TAG = "UdfpsView"; + // Values in pixels. + private static final float SENSOR_SHADOW_OFFSET = 2.0f; + private static final float SENSOR_OUTLINE_WIDTH = 2.0f; + private final Rect mScrimRect; private final Paint mScrimPaint; @@ -76,7 +80,6 @@ public class UdfpsView extends View { a.recycle(); } - mScrimRect = new Rect(); mScrimPaint = new Paint(0 /* flags */); mScrimPaint.setColor(Color.BLACK); @@ -85,6 +88,9 @@ public class UdfpsView extends View { mSensorPaint = new Paint(0 /* flags */); mSensorPaint.setColor(Color.WHITE); mSensorPaint.setStyle(Paint.Style.STROKE); + mSensorPaint.setStrokeWidth(SENSOR_OUTLINE_WIDTH); + mSensorPaint.setShadowLayer(SENSOR_OUTLINE_WIDTH, 0, 0, Color.BLACK); + mSensorPaint.setAntiAlias(true); mTouchableRegion = new Rect(); mInsetsListener = internalInsetsInfo -> { @@ -108,6 +114,8 @@ public class UdfpsView extends View { mSensorY = h - mSensorMarginBottom - mSensorRadius; mSensorRect.set(mSensorX - mSensorRadius, mSensorY - mSensorRadius, mSensorX + mSensorRadius, mSensorY + mSensorRadius); + + // Sets mTouchableRegion with rounded up values from mSensorRect. mSensorRect.roundOut(mTouchableRegion); getViewTreeObserver().addOnComputeInternalInsetsListener(mInsetsListener);