From 38a00e8d34b634f90291e927ae97ea1d081f1e78 Mon Sep 17 00:00:00 2001
From: lvmeng <848755140@qq.com>
Date: Tue, 30 Jun 2026 10:31:06 +0800
Subject: [PATCH] =?UTF-8?q?refactor(face):=20=E6=9B=B4=E6=96=B0FaceEntity?=
=?UTF-8?q?=E5=AE=9E=E4=BD=93=E7=B1=BB=E5=B9=B6=E8=B0=83=E6=95=B4=E5=BC=95?=
=?UTF-8?q?=E6=93=8E=E6=BF=80=E6=B4=BB=E9=80=BB=E8=BE=91?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
- 为FaceEntity添加默认构造函数并初始化注册时间
- 为FaceEntity的所有构造函数添加@Ignore注解
- 补充FaceEntity的Parcel序列化和反序列化逻辑
- 完善FaceEntity的getter和setter方法实现
- 更新equals和hashCode方法以包含新增字段
- 将人脸引擎激活从userViewModel切换到netViewModelV2
- 添加lint配置文件忽略通知权限检查警告
---
app/lint.xml | 5 ++
.../activity/LoginByFaceActivity.kt | 2 +-
.../activity/PlcSettingActivity.kt | 2 +-
.../arcface/facedb/entity/FaceEntity.java | 58 ++++++++++++++++++-
4 files changed, 63 insertions(+), 4 deletions(-)
create mode 100644 app/lint.xml
diff --git a/app/lint.xml b/app/lint.xml
new file mode 100644
index 0000000..0fee895
--- /dev/null
+++ b/app/lint.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/app/src/main/java/com/sw/platecabinet/activity/LoginByFaceActivity.kt b/app/src/main/java/com/sw/platecabinet/activity/LoginByFaceActivity.kt
index 12ba983..e6da7db 100644
--- a/app/src/main/java/com/sw/platecabinet/activity/LoginByFaceActivity.kt
+++ b/app/src/main/java/com/sw/platecabinet/activity/LoginByFaceActivity.kt
@@ -90,7 +90,7 @@ class LoginByFaceActivity : BaseActivity(),
}
override fun initialize() {
- userViewModel.activeEngine()
+ netViewModelV2.activeEngine()
PlcHelper.getInstance(this@LoginByFaceActivity)
.openSerialPort(object : PlcCallback {
diff --git a/app/src/main/java/com/sw/platecabinet/activity/PlcSettingActivity.kt b/app/src/main/java/com/sw/platecabinet/activity/PlcSettingActivity.kt
index 598abbe..3867e35 100644
--- a/app/src/main/java/com/sw/platecabinet/activity/PlcSettingActivity.kt
+++ b/app/src/main/java/com/sw/platecabinet/activity/PlcSettingActivity.kt
@@ -68,7 +68,7 @@ class PlcSettingActivity : BaseActivity() {
FaceServer.getInstance().clearAllFaces()
}
}
- userViewModel.getUserFaceCache(pageNo = 1, callback = { state, errMsg ->
+ netViewModelV2.getUserFaceCache(pageNo = 1, callback = { state, errMsg ->
hideWaitingDialog()
if (state) {
recognizeViewModel.refreshFaceList()
diff --git a/lib_face/src/main/java/com/sw/plate/utils/arcface/facedb/entity/FaceEntity.java b/lib_face/src/main/java/com/sw/plate/utils/arcface/facedb/entity/FaceEntity.java
index 36a4159..3dc95f5 100644
--- a/lib_face/src/main/java/com/sw/plate/utils/arcface/facedb/entity/FaceEntity.java
+++ b/lib_face/src/main/java/com/sw/plate/utils/arcface/facedb/entity/FaceEntity.java
@@ -67,6 +67,11 @@ public class FaceEntity implements Parcelable {
@ColumnInfo(name = "face_update_timestamp")
private long faceUpdateTimestamp;
+ public FaceEntity() {
+ registerTime = System.currentTimeMillis();
+ }
+
+ @Ignore
public FaceEntity(String userName, byte[] featureData, String userType, String cardNo, String userId, String userFaceId, boolean member, long faceUpdateTimestamp) {
this.userName = userName;
this.featureData = featureData;
@@ -79,6 +84,7 @@ public class FaceEntity implements Parcelable {
registerTime = System.currentTimeMillis();
}
+ @Ignore
public FaceEntity(String userName, String imagePath, byte[] featureData) {
this.userName = userName;
this.imagePath = imagePath;
@@ -86,6 +92,7 @@ public class FaceEntity implements Parcelable {
registerTime = System.currentTimeMillis();
}
+ @Ignore
public FaceEntity(FaceEntity faceEntity) {
this.faceId = faceEntity.faceId;
this.userName = faceEntity.userName;
@@ -94,9 +101,14 @@ public class FaceEntity implements Parcelable {
this.registerTime = faceEntity.registerTime;
this.userType = faceEntity.getUserType();
this.cardNo = faceEntity.getCardNo();
+ this.userId = faceEntity.getUserId();
+ this.userFaceId = faceEntity.getUserFaceId();
+ this.member = faceEntity.isMember();
+ this.faceUpdateTimestamp = faceEntity.getFaceUpdateTimestamp();
}
+ @Ignore
protected FaceEntity(Parcel in) {
faceId = in.readLong();
registerTime = in.readLong();
@@ -105,6 +117,10 @@ public class FaceEntity implements Parcelable {
featureData = in.createByteArray();
userType = in.readString();
cardNo = in.readString();
+ userId = in.readString();
+ userFaceId = in.readString();
+ member = in.readByte() != 0;
+ faceUpdateTimestamp = in.readLong();
}
public static final Creator CREATOR = new Creator() {
@@ -183,7 +199,37 @@ public class FaceEntity implements Parcelable {
this.cardNo = cardNo;
}
+ public String getUserId() {
+ return userId;
+ }
+ public void setUserId(String userId) {
+ this.userId = userId;
+ }
+
+ public String getUserFaceId() {
+ return userFaceId;
+ }
+
+ public void setUserFaceId(String userFaceId) {
+ this.userFaceId = userFaceId;
+ }
+
+ public boolean isMember() {
+ return member;
+ }
+
+ public void setMember(boolean member) {
+ this.member = member;
+ }
+
+ public long getFaceUpdateTimestamp() {
+ return faceUpdateTimestamp;
+ }
+
+ public void setFaceUpdateTimestamp(long faceUpdateTimestamp) {
+ this.faceUpdateTimestamp = faceUpdateTimestamp;
+ }
@Override
public int describeContents() {
@@ -199,6 +245,10 @@ public class FaceEntity implements Parcelable {
dest.writeByteArray(featureData);
dest.writeString(userType);
dest.writeString(cardNo);
+ dest.writeString(userId);
+ dest.writeString(userFaceId);
+ dest.writeByte((byte) (member ? 1 : 0));
+ dest.writeLong(faceUpdateTimestamp);
}
@Override
@@ -216,12 +266,16 @@ public class FaceEntity implements Parcelable {
TextUtils.equals(this.imagePath, that.imagePath) &&
Arrays.equals(featureData, that.featureData) &&
TextUtils.equals(this.userType, that.userType) &&
- TextUtils.equals(this.cardNo, that.cardNo);
+ TextUtils.equals(this.cardNo, that.cardNo) &&
+ TextUtils.equals(this.userId, that.userId) &&
+ TextUtils.equals(this.userFaceId, that.userFaceId) &&
+ this.member == that.member &&
+ this.faceUpdateTimestamp == that.faceUpdateTimestamp;
}
@Override
public int hashCode() {
- int result = Objects.hash(faceId, registerTime, userName, imagePath, userType, cardNo);
+ int result = Objects.hash(faceId, registerTime, userName, imagePath, userType, cardNo, userId, userFaceId, member, faceUpdateTimestamp);
result = 31 * result + Arrays.hashCode(featureData);
return result;
}