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