修复了多次步骤2到步骤3问题

This commit is contained in:
zxj
2025-08-05 14:23:13 +08:00
parent c6badf2ca7
commit bbf2e605b5
8 changed files with 100 additions and 50 deletions
@@ -4,6 +4,7 @@ import android.content.Context
import android.graphics.Outline
import android.graphics.Typeface
import android.hardware.display.DisplayManager
import android.net.Uri
import android.os.Bundle
import android.view.View
import android.view.ViewOutlineProvider
@@ -54,7 +55,7 @@ class MainActivity : AppCompatActivity() {
private var checkedItem: FoodInfo? = null
private var imageAnalysis: ImageAnalysis? = null
private var cameraProviderFuture: ListenableFuture<ProcessCameraProvider>? = null
private var canIdentify: Boolean = true
private var canIdentify: Boolean = false
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
@@ -132,8 +133,8 @@ class MainActivity : AppCompatActivity() {
}
fun updateCurrentFood(foodInfo: FoodInfo?) {
presentation.updateFood(foodInfo)
if (foodInfo != null) {
presentation.updateFood(foodInfo)
binding.tvFoodName.text = foodInfo.foodName
binding.previewView.visibility = View.GONE
binding.ivImg.visibility = View.VISIBLE
@@ -156,7 +157,6 @@ class MainActivity : AppCompatActivity() {
// presentation.step2()
}
}
viewModel.getIdentifiedFoodList()
SensorScaleUtils.startScale { weight ->
// Timber.d("weight = $weight")
if (weight > 0.0) {
@@ -289,7 +289,7 @@ class MainActivity : AppCompatActivity() {
}
// 拍照功能
private fun takePhoto() {
private fun takePhoto(callback: (Uri) -> Unit) {
// 临时停止分析以避免干扰
isAnalyzing = false
@@ -306,7 +306,11 @@ class MainActivity : AppCompatActivity() {
object : ImageCapture.OnImageSavedCallback {
override fun onImageSaved(outputFileResults: ImageCapture.OutputFileResults) {
runOnUiThread {
ToastUtils.showToast("照片保存成功: ${outputFileResults.savedUri}")
val savedUri = outputFileResults.savedUri
ToastUtils.showToast("照片保存成功: $savedUri")
if (savedUri != null) {
callback(savedUri)
}
}
// 恢复图像分析
isAnalyzing = true