优化
This commit is contained in:
@@ -441,6 +441,12 @@ abstract class BaseActivity<VB : ViewBinding> : AppCompatActivity() {
|
||||
runOnUiThread {
|
||||
if (pageNo == 1 && list.isEmpty()) {
|
||||
//未查询到增量数据
|
||||
// Thread{
|
||||
// val faceDao = FaceDatabase.getInstance(this).faceDao()
|
||||
// if (faceDao.getFaceCount() == 0) {
|
||||
// FaceEntity("-1", null, byteArrayOf(-1)).also { it.userType = "-1" }
|
||||
// }
|
||||
// }.start()
|
||||
return@runOnUiThread
|
||||
}
|
||||
updateFaceData(list)
|
||||
@@ -470,6 +476,9 @@ abstract class BaseActivity<VB : ViewBinding> : AppCompatActivity() {
|
||||
if (model.faceDeleted == true) {
|
||||
//删除数据
|
||||
faceDao.deleteFaceById(model.userId)
|
||||
// if (faceDao.getFaceCount() == 0) {
|
||||
// FaceEntity("-1", null, byteArrayOf(-1)).also { it.userType = "-1" }
|
||||
// }
|
||||
} else {
|
||||
val faceData = faceDao.queryByUserName(model.userId)
|
||||
if (faceData == null) {
|
||||
@@ -518,6 +527,10 @@ abstract class BaseActivity<VB : ViewBinding> : AppCompatActivity() {
|
||||
val faceDao = FaceDatabase.getInstance(App.getContext()).faceDao()
|
||||
faceDao.deleteAll()
|
||||
faceDao.resetId()
|
||||
// faceDao.insert(
|
||||
// FaceEntity("-1", null, byteArrayOf(-1)).also { it.userType = "-1" }
|
||||
// )
|
||||
recognizeViewModel.refreshFaceList()
|
||||
runOnUiThread { block() }
|
||||
}.start()
|
||||
}
|
||||
|
||||
@@ -858,7 +858,20 @@ class LoginByFaceActivity : BaseActivity<ActivityLoginFaceBinding>(),
|
||||
loadLogInfo("collectFace,saveFaceInfo: ----------10,人脸数据保存完成-----------")
|
||||
recognizeViewModel.refreshFaceList()
|
||||
loadLogInfo("collectFace,saveFaceInfo: ----------11,刷新人脸数据-----------")
|
||||
runOnUiThread { recognizeViewModel.onPreviewFrame(emptyFrame, true) }
|
||||
val faceCount = faceDao.getFaceCount()
|
||||
isRecognition = false
|
||||
runOnUiThread {
|
||||
ToastUtils.showToast("采集完成")
|
||||
recognizeViewModel.onPreviewFrame(emptyFrame, true)
|
||||
if (faceCount == 1) {
|
||||
//数据库的第一条数据,刚采集完成
|
||||
binding.dualCameraFaceRectView.clearFaceInfo()
|
||||
recognizeViewModel.clearLeftFace(facePreviewInfoList)
|
||||
binding.root.postDelayed({
|
||||
isRecognition = true
|
||||
}, 1500)
|
||||
}
|
||||
}
|
||||
loadLogInfo("---------------------------------")
|
||||
collectCount = 0
|
||||
block()
|
||||
|
||||
@@ -79,10 +79,16 @@ class UserViewModel : BaseViewModel() {
|
||||
return@launchWithLoading
|
||||
}
|
||||
val faceEntityList = list.map {
|
||||
FaceEntity(it.userId, null, Base64.decode(it.faceFeatureStr))
|
||||
FaceEntity(it.userId, null, Base64.decode(it.faceFeatureStr)).apply {
|
||||
userType = if (it.isMember) "1" else "2"
|
||||
}
|
||||
}
|
||||
withContext(Dispatchers.Default) {
|
||||
faceApi.updateFaceData(pageNo, faceEntityList)
|
||||
if (currentPageNo == 1) {
|
||||
//第一页数据删除本地数据库
|
||||
faceApi.clearFaceData()
|
||||
}
|
||||
faceApi.updateFaceData( pageNo, faceEntityList)
|
||||
if (list.size >= pageSize) {
|
||||
faceTimestamp = list.last().faceUpdateTimestamp ?: 0
|
||||
currentPageNo++
|
||||
@@ -103,6 +109,7 @@ class UserViewModel : BaseViewModel() {
|
||||
|
||||
private var faceTimestamp = 0L
|
||||
|
||||
|
||||
/**
|
||||
* 激活人脸识别引擎
|
||||
*/
|
||||
|
||||
@@ -40,6 +40,12 @@ public class FaceApi {
|
||||
faceDao.insert(list);
|
||||
}
|
||||
|
||||
public void clearFaceData() {
|
||||
FaceDao faceDao = FaceDatabase.getInstance(App.getContext()).faceDao();
|
||||
faceDao.deleteAll();
|
||||
faceDao.resetId();
|
||||
}
|
||||
|
||||
/**
|
||||
* 激活arcsoft 人脸
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user