Sync up to v213

This commit is contained in:
Andy CrossGate Yan
2020-03-09 03:43:52 +00:00
parent 9fe4d8ccf3
commit 90d7ed3178
6 changed files with 338 additions and 0 deletions

View File

@@ -0,0 +1,49 @@
From 29fbc5853ee25d3cd72db8f87aec6addd863e677 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Sat, 22 Feb 2020 23:45:54 +0100
Subject: [PATCH 50/53] [WIP] report press events to oppo fingerprint sensor
---
.../biometrics/fingerprint/FacolaView.java | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/services/core/java/com/android/server/biometrics/fingerprint/FacolaView.java b/services/core/java/com/android/server/biometrics/fingerprint/FacolaView.java
index f77e8282689..0fb4254eb60 100644
--- a/services/core/java/com/android/server/biometrics/fingerprint/FacolaView.java
+++ b/services/core/java/com/android/server/biometrics/fingerprint/FacolaView.java
@@ -114,6 +114,20 @@ public class FacolaView extends ImageView implements OnTouchListener {
}
}
+ private final File oppoFod = new File("/sys/kernel/oppo_display/notify_fppress");
+ private void oppoPress(boolean pressed) {
+ if(!oppoFod.exists()) return;
+ try {
+ String v = "0";
+ if(pressed) v = "1";
+ PrintWriter writer = new PrintWriter(oppoFod, "UTF-8");
+ writer.println(v);
+ writer.close();
+ } catch(Exception e) {
+ Slog.d("PHH", "Failed to notify oppo fp press", e);
+ }
+ }
+
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
@@ -131,9 +145,11 @@ public class FacolaView extends ImageView implements OnTouchListener {
} catch(Exception e) {
Slog.d("PHH-Enroll", "Failed calling xiaomi fp extcmd");
}
+ oppoPress(true);
canvas.drawCircle(mW/2, mH/2, (float) (mW/2.0f), this.mPaintFingerprint);
} else {
+ oppoPress(false);
try {
if(mXiaomiFingerprint != null) {
mXiaomiFingerprint.extCmd(0xa, 0);
--
2.17.1

View File

@@ -0,0 +1,86 @@
From bc7c0ed48c84ea421d84049a5fdf509f0bdf8f8c Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Mon, 2 Mar 2020 21:13:36 +0100
Subject: [PATCH 52/53] Add support for samsung optical under-display
fingerprint
---
services/core/Android.bp | 1 +
.../biometrics/fingerprint/FacolaView.java | 17 +++++++++++++++--
2 files changed, 16 insertions(+), 2 deletions(-)
diff --git a/services/core/Android.bp b/services/core/Android.bp
index 9f83e49c27d..84a5450dc05 100644
--- a/services/core/Android.bp
+++ b/services/core/Android.bp
@@ -55,6 +55,7 @@ java_library_static {
"netd_aidl_interface-V2-java",
"netd_event_listener_interface-java",
"vendor.goodix.extend.service-V2.0-java",
+ "vendor.samsung.hardware.biometrics.fingerprint-V2.1-java",
"vendor.xiaomi.hardware.fingerprintextension-V1.0-java",
],
}
diff --git a/services/core/java/com/android/server/biometrics/fingerprint/FacolaView.java b/services/core/java/com/android/server/biometrics/fingerprint/FacolaView.java
index 0fb4254eb60..edd13988e49 100644
--- a/services/core/java/com/android/server/biometrics/fingerprint/FacolaView.java
+++ b/services/core/java/com/android/server/biometrics/fingerprint/FacolaView.java
@@ -37,6 +37,7 @@ import java.io.PrintWriter;
import vendor.xiaomi.hardware.fingerprintextension.V1_0.IXiaomiFingerprint;
import vendor.goodix.extend.service.V2_0.IGoodixFPExtendService;
+import vendor.samsung.hardware.biometrics.fingerprint.V2_1.ISecBiometricsFingerprint;
import android.os.Handler;
import android.os.HandlerThread;
@@ -48,6 +49,7 @@ public class FacolaView extends ImageView implements OnTouchListener {
private final Paint mPaintShow = new Paint();
private IXiaomiFingerprint mXiaomiFingerprint = null;
private IGoodixFPExtendService mGoodixFingerprint = null;
+ private ISecBiometricsFingerprint mSamsungFingerprint = null;
private boolean mInsideCircle = false;
private final WindowManager.LayoutParams mParams = new WindowManager.LayoutParams();
@@ -111,6 +113,11 @@ public class FacolaView extends ImageView implements OnTouchListener {
} catch(Exception e) {
Slog.d("PHH-Enroll", "Failed getting goodix fingerprint service", e);
}
+ try {
+ mSamsungFingerprint = ISecBiometricsFingerprint.getService();
+ } catch(Exception e) {
+ Slog.d("PHH-Enroll", "Failed getting samsung fingerprint service", e);
+ }
}
}
@@ -141,9 +148,12 @@ public class FacolaView extends ImageView implements OnTouchListener {
mXiaomiFingerprint.extCmd(0xa, nitValue);
} else if(mGoodixFingerprint != null) {
mGoodixFingerprint.goodixExtendCommand(10, 1);
+ } else if(mSamsungFingerprint != null) {
+ mSamsungFingerprint.request(22 /* SEM_FINGER_STATE */, 0, 2 /* pressed */, new java.util.ArrayList<Byte>(),
+ (int retval, java.util.ArrayList<Byte> out) -> {} );
}
} catch(Exception e) {
- Slog.d("PHH-Enroll", "Failed calling xiaomi fp extcmd");
+ Slog.d("PHH-Enroll", "Failed calling fp extcmd", e);
}
oppoPress(true);
@@ -155,9 +165,12 @@ public class FacolaView extends ImageView implements OnTouchListener {
mXiaomiFingerprint.extCmd(0xa, 0);
} else if(mGoodixFingerprint != null) {
mGoodixFingerprint.goodixExtendCommand(10, 0);
+ } else if(mSamsungFingerprint != null) {
+ mSamsungFingerprint.request(22 /* SEM_FINGER_STATE */, 0, 1 /* released */, new java.util.ArrayList<Byte>(),
+ (int retval, java.util.ArrayList<Byte> out) -> {} );
}
} catch(Exception e) {
- Slog.d("PHH-Enroll", "Failed calling xiaomi fp extcmd");
+ Slog.d("PHH-Enroll", "Failed calling fp extcmd", e);
}
canvas.drawCircle(mW/2, mH/2, (float) (mW/2.0f), this.mPaintShow);
}
--
2.17.1

View File

@@ -0,0 +1,29 @@
From 3b6fbd406c98211525f37d4d1e341d7750a652f0 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Mon, 2 Mar 2020 21:13:47 +0100
Subject: [PATCH 53/53] Fix persist.sys.fp.fod override
---
.../com/android/server/biometrics/fingerprint/FacolaView.java | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/services/core/java/com/android/server/biometrics/fingerprint/FacolaView.java b/services/core/java/com/android/server/biometrics/fingerprint/FacolaView.java
index edd13988e49..2c1ba76f529 100644
--- a/services/core/java/com/android/server/biometrics/fingerprint/FacolaView.java
+++ b/services/core/java/com/android/server/biometrics/fingerprint/FacolaView.java
@@ -75,10 +75,10 @@ public class FacolaView extends ImageView implements OnTouchListener {
noDim = android.os.SystemProperties.getBoolean("persist.sys.phh.nodim", false);
String[] location = android.os.SystemProperties.get("persist.vendor.sys.fp.fod.location.X_Y", "").split(",");
- if(location.length == 0)
+ if(location.length != 2)
location = android.os.SystemProperties.get("persist.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 == 0)
+ if(size.length != 2)
size = android.os.SystemProperties.get("persist.sys.fp.fod.size.width_height", "").split(",");
Slog.d("PHH-Enroll", "FacolaView hello");
if(size.length == 2 && location.length == 2) {
--
2.17.1