添加了初始化界面,修复了人脸数据更新后不能识别的问题

This commit is contained in:
zxj
2025-08-07 16:23:21 +08:00
parent 742b3a0775
commit 1f1c3804ac
18 changed files with 509 additions and 70 deletions
@@ -36,6 +36,8 @@ import com.sw.dualscreen.presentation.SecondaryScreenPresentation
import com.sw.dualscreen.sdk.SensorScaleUtils
import com.sw.dualscreen.utils.GlideUtils
import com.sw.dualscreen.view.CustomBottomSheetDialog
import com.sw.dualscreen.view.CustomDialog
import com.sw.dualscreen.viewmodel.BaseViewModel
import com.sw.dualscreen.viewmodel.UserViewModel
import com.sw.plate.utils.ToastUtils
import com.sw.plate.utils.arcface.viewmodel.RecognizeViewModel
@@ -44,8 +46,7 @@ import timber.log.Timber
import java.io.File
import java.util.concurrent.Executors
class MainActivity : AppCompatActivity() {
private lateinit var binding: ActivityMainBinding
class MainActivity : BaseActivity<ActivityMainBinding>() {
private val viewModel by viewModels<UserViewModel>()
private var imageCapture: ImageCapture? = null
private var isAnalyzing = true // 控制是否进行图像分析
@@ -59,12 +60,16 @@ class MainActivity : AppCompatActivity() {
private var bottomSheetDialog: CustomBottomSheetDialog? = null
private var lastWeight: Double = 0.0
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.main)
override fun getViewModel(): BaseViewModel {
return viewModel
}
override fun inflateViewBinding(): ActivityMainBinding {
return ActivityMainBinding.inflate(layoutInflater)
}
override fun initialize() {
super.initialize()
initView()
setupSecondaryDisplay()
setupCamera()
@@ -94,7 +99,7 @@ class MainActivity : AppCompatActivity() {
val spinnerAdapter = ArrayAdapter<String>(
this,
R.layout.item_for_custom_spinner,
arrayOf("即放即取", "持续取餐")
arrayOf("即放即取", "余量取餐")
)
binding.spinner.adapter = spinnerAdapter
binding.spinner.setSelection(0)
@@ -105,12 +110,10 @@ class MainActivity : AppCompatActivity() {
position: Int,
id: Long
) {
presentation.updateMealPickupMode(position)
}
override fun onNothingSelected(parent: AdapterView<*>?) {
}
override fun onNothingSelected(parent: AdapterView<*>?) {}
}
adapter = createAdapter()
binding.recyclerview.layoutManager = GridLayoutManager(this, 2)
@@ -126,7 +129,6 @@ class MainActivity : AppCompatActivity() {
binding.tvFoodName.setOnClickListener {
SensorScaleUtils.zero()
}
registerDataChange()
}
fun updateCurrentFood(foodInfo: FoodInfo?) {
@@ -154,7 +156,8 @@ class MainActivity : AppCompatActivity() {
}
}
private fun registerDataChange() {
override fun registerDataChange() {
super.registerDataChange()
lifecycleScope.launch {
viewModel.identifiedFoodInfoList.collect { list ->
binding.recyclerview