diff --git a/app/src/main/java/com/sw/dualscreen/activity/MainActivity.kt b/app/src/main/java/com/sw/dualscreen/activity/MainActivity.kt index 30d16a0..57e5663 100644 --- a/app/src/main/java/com/sw/dualscreen/activity/MainActivity.kt +++ b/app/src/main/java/com/sw/dualscreen/activity/MainActivity.kt @@ -70,6 +70,7 @@ class MainActivity : BaseActivity() { private var lastWeight: Double = 0.0 private var lastPhotoUri: Uri? = null // 最后拍照的图片 private var debouncer = Debouncer(2000) + private var isRecognitionFood = true override fun getViewModel(): BaseViewModel { return viewModel @@ -128,6 +129,7 @@ class MainActivity : BaseActivity() { position: Int, id: Long ) { + isRecognitionFood = true presentation?.updateMealPickupMode(position) } @@ -189,6 +191,7 @@ class MainActivity : BaseActivity() { checkedItem!!.photoUri = lastPhotoUri updateCurrentFood(checkedItem) lastPhotoUri = null + LightManager.closeRedLight() } } } @@ -207,7 +210,13 @@ class MainActivity : BaseActivity() { Timber.d("registerDataChange weight = $weight") presentation?.updateWeight(weight) - if (weight - lastWeight > 0.1 && presentation?.mealPickupMode == 0) { // 大于100g +// if (weight <= 0.005) {//检测到秤上没有东西,重新启动识别菜品 +// isRecognitionFood = true +// } + if (weight - lastWeight > 0.05 && isRecognitionFood) { // 大于50g + if (presentation?.mealPickupMode == 1) { + isRecognitionFood = false + } debouncer.debounce { LightManager.openRedLight() LightManager.openGreenLight() @@ -435,6 +444,11 @@ class MainActivity : BaseActivity() { } } + fun clearFoodList() { + adapter.updateData(listOf()) + adapter.notifyDataSetChanged() + } + override fun onDestroy() { SensorScaleUtils.closeScale() presentation?.dismiss() diff --git a/app/src/main/java/com/sw/dualscreen/presentation/SecondaryScreenPresentation.kt b/app/src/main/java/com/sw/dualscreen/presentation/SecondaryScreenPresentation.kt index 3bc1e1e..4bd5688 100644 --- a/app/src/main/java/com/sw/dualscreen/presentation/SecondaryScreenPresentation.kt +++ b/app/src/main/java/com/sw/dualscreen/presentation/SecondaryScreenPresentation.kt @@ -180,6 +180,8 @@ class SecondaryScreenPresentation( pauseCamera() binding.tvBottomTip.visibility = View.VISIBLE itemUserNutritionBinding.clNutritionData.visibility = View.GONE + + activity.clearFoodList() } /** @@ -189,7 +191,7 @@ class SecondaryScreenPresentation( Timber.d("step2") currentStep = 2 LightManager.closeRedLight() - LightManager.openGreenLight() +// LightManager.openGreenLight() dinnerTypeInfo = null userNutritionData = null recognitionWeight = 0.0 @@ -759,7 +761,7 @@ class SecondaryScreenPresentation( * @param facePreviewInfoList RGB画面的实时人脸信息 */ private fun drawPreviewInfo(facePreviewInfoList: MutableList) { - Timber.d("drawPreviewInfo facePreviewInfoList = ${facePreviewInfoList.size}, rgbFaceRectTransformer = ${rgbFaceRectTransformer != null}") +// Timber.d("drawPreviewInfo facePreviewInfoList = ${facePreviewInfoList.size}, rgbFaceRectTransformer = ${rgbFaceRectTransformer != null}") if (rgbFaceRectTransformer != null) { val rgbDrawInfoList: MutableList? = recognizeViewModel.getDrawInfo( facePreviewInfoList, diff --git a/lib_face/src/main/java/com/sw/plate/utils/arcface/FaceRectTransformer.java b/lib_face/src/main/java/com/sw/plate/utils/arcface/FaceRectTransformer.java index 58c9d5d..7b34137 100644 --- a/lib_face/src/main/java/com/sw/plate/utils/arcface/FaceRectTransformer.java +++ b/lib_face/src/main/java/com/sw/plate/utils/arcface/FaceRectTransformer.java @@ -77,7 +77,7 @@ public class FaceRectTransformer { rect.bottom *= verticalRatio; Rect newRect = new Rect(); - L.e("cameraDisplayOrientation " + cameraDisplayOrientation + " === " + cameraId); +// L.e("cameraDisplayOrientation " + cameraDisplayOrientation + " === " + cameraId); switch (cameraDisplayOrientation) { case 0: if (cameraId == Camera.CameraInfo.CAMERA_FACING_FRONT) {