98 lines
3.6 KiB
Diff
98 lines
3.6 KiB
Diff
From d5ce6564e36fe4291e42f091b322f23c346d1215 Mon Sep 17 00:00:00 2001
|
|
From: Pierre-Hugues Husson <phh@phh.me>
|
|
Date: Mon, 6 May 2019 23:16:43 +0200
|
|
Subject: [PATCH 31/31] Delay brightness changes, so that dim adjusted
|
|
|
|
---
|
|
.../server/fingerprint/FacolaView.java | 28 +++++++++++++++++--
|
|
1 file changed, 25 insertions(+), 3 deletions(-)
|
|
|
|
diff --git a/services/core/java/com/android/server/fingerprint/FacolaView.java b/services/core/java/com/android/server/fingerprint/FacolaView.java
|
|
index ec336fe337c..86f03360ad0 100644
|
|
--- a/services/core/java/com/android/server/fingerprint/FacolaView.java
|
|
+++ b/services/core/java/com/android/server/fingerprint/FacolaView.java
|
|
@@ -29,6 +29,8 @@ import android.util.Slog;
|
|
import android.view.WindowManager;
|
|
import android.graphics.PixelFormat;
|
|
import android.view.Gravity;
|
|
+import android.os.Handler;
|
|
+import android.os.Looper;
|
|
|
|
import java.io.PrintWriter;
|
|
|
|
@@ -47,10 +49,15 @@ public class FacolaView extends ImageView implements OnTouchListener {
|
|
private final static float UNTOUCHED_DIM = .1f;
|
|
private final static float TOUCHED_DIM = .9f;
|
|
|
|
+ private final Handler mMainHandler;
|
|
+ private boolean visible = false;
|
|
+
|
|
private final WindowManager mWM;
|
|
FacolaView(Context context) {
|
|
super(context);
|
|
|
|
+ mMainHandler = new Handler(Looper.getMainLooper());
|
|
+
|
|
String[] location = android.os.SystemProperties.get("persist.vendor.sys.fp.fod.location.X_Y", "").split(",");
|
|
String[] size = android.os.SystemProperties.get("persist.vendor.sys.fp.fod.size.width_height", "").split(",");
|
|
if(size.length == 2 && location.length == 2) {
|
|
@@ -89,8 +96,13 @@ public class FacolaView extends ImageView implements OnTouchListener {
|
|
if(mInsideCircle) {
|
|
try {
|
|
int nitValue = 3;
|
|
- if(mXiaomiFingerprint != null)
|
|
- mXiaomiFingerprint.extCmd(0xa, nitValue);
|
|
+ if(mXiaomiFingerprint != null) {
|
|
+ mMainHandler.postDelayed(() -> {
|
|
+ try {
|
|
+ mXiaomiFingerprint.extCmd(0xa, nitValue);
|
|
+ } catch(Exception e) {}
|
|
+ }, 60);
|
|
+ }
|
|
} catch(Exception e) {
|
|
Slog.d("PHH-Enroll", "Failed calling xiaomi fp extcmd");
|
|
}
|
|
@@ -123,8 +135,15 @@ public class FacolaView extends ImageView implements OnTouchListener {
|
|
invalidate();
|
|
|
|
if(!mInsideCircle) {
|
|
- mParams.screenBrightness = .0f;
|
|
mParams.dimAmount = UNTOUCHED_DIM;
|
|
+ //Changing Dim is instant, changing brightness isn't.
|
|
+ //Have a little pity of users' eyes and wait a bit
|
|
+ mMainHandler.postDelayed(() -> {
|
|
+ if(visible) {
|
|
+ mParams.screenBrightness = .0f;
|
|
+ mWM.updateViewLayout(this, mParams);
|
|
+ }
|
|
+ }, 100);
|
|
mWM.updateViewLayout(this, mParams);
|
|
return false;
|
|
}
|
|
@@ -133,6 +152,7 @@ public class FacolaView extends ImageView implements OnTouchListener {
|
|
mParams.screenBrightness = 1.0f;
|
|
mWM.updateViewLayout(this, mParams);
|
|
|
|
+
|
|
return true;
|
|
}
|
|
|
|
@@ -166,6 +186,7 @@ public class FacolaView extends ImageView implements OnTouchListener {
|
|
|
|
mParams.gravity = Gravity.TOP | Gravity.LEFT;
|
|
mWM.addView(this, mParams);
|
|
+ visible = true;
|
|
|
|
}
|
|
|
|
@@ -188,5 +209,6 @@ public class FacolaView extends ImageView implements OnTouchListener {
|
|
|
|
Slog.d("PHH-Enroll", "Removed facola");
|
|
mWM.removeView(this);
|
|
+ visible = false;
|
|
}
|
|
}
|
|
--
|
|
2.17.1
|
|
|