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; }