From 9a0b066490886442a353ab41dec6cb16f5cefd80 Mon Sep 17 00:00:00 2001
From: lvmeng <848755140@qq.com>
Date: Tue, 28 Apr 2026 18:13:50 +0800
Subject: [PATCH] =?UTF-8?q?refactor(ui):=20=E5=AF=B9=E9=A1=B5=E9=9D=A2?=
=?UTF-8?q?=E5=90=8D=E7=A7=B0=E8=BF=9B=E8=A1=8C=E7=BB=9F=E4=B8=80=E9=87=8D?=
=?UTF-8?q?=E5=91=BD=E5=90=8D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
- 将 SelectDishActivity 重命名为 CookingModeActivity
- 将 PrepareCookActivity 重命名为 PrepareFoodActivity
- 将 SamplingListActivity 重命名为 SamplingModeActivity
- 更新 AndroidManifest.xml 中的活动声明
- 修改 DishListFragment 中的相关引用
- 注释掉 DishSamplingActivity 的完整实现代码
- 更新 DeviceConfigFragment 中的活动跳转逻辑
- 优化 CookingModeActivity 的视图绑定方式
- 更新相关导入包路径和类引用
---
app/src/main/AndroidManifest.xml | 16 +-
...DishActivity.kt => CookingModeActivity.kt} | 11 +-
.../dish/match/ui/DishSamplingActivity.kt | 582 +++++++++---------
.../dish/match/ui/FoodSearchActivity.kt | 7 +-
.../com/shuwei/dish/match/ui/HomeActivity.kt | 13 +-
.../com/shuwei/dish/match/ui/InitActivity.kt | 10 +-
...CookActivity.kt => PrepareFoodActivity.kt} | 17 +-
...istActivity.kt => SamplingModeActivity.kt} | 20 +-
.../dish/match/ui/SingleFragmentActivity.kt | 5 +-
.../dish/match/ui/SubmitFoodActivity.kt | 16 +-
.../match/ui/fragment/DeviceConfigFragment.kt | 12 +-
.../match/ui/fragment/DishListFragment.kt | 11 +-
...ragment.kt => VectorCollectionFragment.kt} | 8 +-
...ect_dish.xml => activity_cooking_mode.xml} | 0
.../res/layout/activity_dish_sampling.xml | 508 +++++++--------
...are_cook.xml => activity_prepare_food.xml} | 0
...ampling.xml => activity_sampling_mode.xml} | 0
...ect.xml => fragment_vector_collection.xml} | 0
18 files changed, 617 insertions(+), 619 deletions(-)
rename app/src/main/java/com/shuwei/dish/match/ui/{SelectDishActivity.kt => CookingModeActivity.kt} (95%)
rename app/src/main/java/com/shuwei/dish/match/ui/{PrepareCookActivity.kt => PrepareFoodActivity.kt} (97%)
rename app/src/main/java/com/shuwei/dish/match/ui/{SamplingListActivity.kt => SamplingModeActivity.kt} (96%)
rename app/src/main/java/com/shuwei/dish/match/ui/fragment/{CollectFragment.kt => VectorCollectionFragment.kt} (98%)
rename app/src/main/res/layout/{activity_select_dish.xml => activity_cooking_mode.xml} (100%)
rename app/src/main/res/layout/{activity_prepare_cook.xml => activity_prepare_food.xml} (100%)
rename app/src/main/res/layout/{activity_sampling.xml => activity_sampling_mode.xml} (100%)
rename app/src/main/res/layout/{fragment_collect.xml => fragment_vector_collection.xml} (100%)
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 9488e5b..d1a275d 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -58,23 +58,23 @@
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
+
+
+
+
+
-
- //Log.d(TAG, "addViewClickListener: address=$address,state=$state,weight=$weight")
- if (address == AddressUtil.ONE) {
- tempDishEntity?.useWeight = weight.toDouble()
- binding.tvDishPartWeight.text = "${weight}"
- }
- })
- addBackKeyListener()
- }
-
- private fun setTitleBar() {
- setTitleBar(titleBarAction = {
- it.visible()
- }, titleAction = {
- it.text = "菜品采集"
- }, rightIconActon = {
- it.gone()
- it.setImageResource(R.drawable.ic_setting)
- it.setOnClickListener {
- //startActivity()
- }
- }, backAction = {
- it.visible()
- it.setOnClickListener {
- onBackPressedDispatcher.onBackPressed()
- }
- })
- }
-
-
-
- fun getCookFoodList() {
- appViewModel.getCookFoodList(cookMode = 1)
- }
-
- /**
- * 监听返回键
- */
- fun addBackKeyListener() {
- onBackPressedDispatcher.addCallback(this) {
- if (list.isEmpty().not()) {
- //说明有新增的食材
- saveDataRemindDialog()
- return@addCallback
- }
- if (pageFrom == HOME) {
- startActivity()
- }
- onBackPressedDispatcher.onBackPressed()
- }
- }
-
- private fun saveDataRemindDialog() {
- CommonDialog(this)
- .setTitle("返回提示")
- .setContent("您好,当前页面存在未保存的数据,\n确认返回吗?")
- .setNegativeButton("取消")
- .setPositiveButton("确认") {
- if (pageFrom == HOME) {
- startActivity()
- }
- finish()
- }
- .setOnDismissCallback { hideStatusBar() }
- .show()
- }
-
-
- val list: MutableList = mutableListOf()
-
- private var tempDishEntity: CookFoodGoodsEntity? = null
-
- private var dishMaterialType = 1
-
- private val dishAdapter by lazy {
- DishPartAdapter(list).apply {
- addOnItemChildClickListener(R.id.ivOperateIcon) { _, _, position ->
- //删除操作
- list.removeAt(position)
- notifyItemRemoved(position)
- notifyItemRangeChanged(position, list.size - position)
- }
- }
- }
-
- @SuppressLint("NotifyDataSetChanged")
- private fun addViewClickListener() {
- binding.rvDishPartList.run {
- layoutManager =
- LinearLayoutManager(this@DishSamplingActivity, LinearLayoutManager.VERTICAL, false)
- adapter = dishAdapter
- val itemTouchHelper = ItemTouchHelper(SwipeCallback(dishAdapter) { position ->
- list.removeAt(position)
- dishAdapter.notifyItemRemoved(position)
- dishAdapter.notifyItemRangeChanged(position, list.size - position)
- toast("已删除")
- })
- itemTouchHelper.attachToRecyclerView(this)
- }
- binding.etInputDishType.addOnActionSearchListener {
- searchDishType()
- }
- binding.ivDishTypeSearch.setOnClickListener {
- searchDishType()
- }
-
- binding.ivWeightClear.setOnClickListener {
- WeightUtil.tareTwo(AddressUtil.ONE)
- }
- binding.ivWeightAdd.setOnClickListener {
- if (tempDishEntity == null) {
- toast("请输入食材名称")
- return@setOnClickListener
- }
- if (binding.rgSampling.checkedRadioButtonId == -1) {
- toast("请选择主辅材类型")
- return@setOnClickListener
- }
- val realWeight = tempDishEntity!!.useWeight ?: 0.0
- if (realWeight <= 0.toDouble()) {
- toast("食材用量需要大于0")
- return@setOnClickListener
- }
- if (tempDishEntity?.goodsName != binding.etInputDishType.text.toString().trim()) {
- toast("所选择的食材名称与输入框内容不一致")
- return@setOnClickListener
- }
- tempDishEntity!!.apply {
- isSamplingPage = true
- materialType = dishMaterialType
- }
- val result = list.firstOrNull { it.goodsId == tempDishEntity!!.goodsId }
- if (result != null) {
- toast("${result.goodsName}食材已添加,请勿重复操作")
- return@setOnClickListener
- }
- list.add(tempDishEntity!!)
- dishAdapter.notifyDataSetChanged()
- tempDishEntity = null
- binding.etInputDishType.setText("")
- binding.rgSampling.clearCheck()
- }
- binding.rgSampling.setOnCheckedChangeListener { group, checkedId ->
- dishMaterialType = if (checkedId == R.id.rbDishTypeFirst) 1 else 2
- }
- binding.ivDishSearch.setOnClickListener { v ->
- jumpSearch(v)
- }
- binding.btnCook.clickWithDebounce {
- val showFoodName = binding.etInputDish.text.toString().trim()
- if (showFoodName.isBlank()) {
- toast("菜品名称为空")
- return@clickWithDebounce
- }
- if (list.isEmpty()) {
- toast("菜品构成信息未设置")
- return@clickWithDebounce
- }
- val food = FoodRecord()
- binding.etInputDish.let {
- if (it.tag != null && it.tag.toString() == it.text.toString()) {
- food.foodId = foodId
- }
- }
- food.foodName = showFoodName
- food.cookMode = 1
- Log.d(TAG, "goToSubmit: goodsList:${list.toJsonString()}")
-// startActivity {
- startActivity {
- putExtra(SubmitFoodActivity.GOODS_LIST, list as java.io.Serializable)
- putExtra(SubmitFoodActivity.FOOD_ITEM, food as Serializable)
- }
- }
- binding.etInputDish.let { v ->
- v.addOnActionSearchListener {
- jumpSearch(v)
- }
- }
- }
-
- private fun jumpSearch(v: View) {
- val intent = Intent(this, FoodSearchActivity::class.java).apply {
- putExtra(FoodSearchActivity.FOOD_NAME, binding.etInputDish.text.toString().trim())
- }
- startActivity(intent) {
- foodId = it?.getStringExtra(FoodSearchActivity.FOOD_ID)
- foodName = it?.getStringExtra(FoodSearchActivity.FOOD_NAME)
- binding.etInputDish.run {
- setText(foodName)
- tag = foodName
- setSelection(text.length)
- }
- }
- KeyboardUtil.hideKeyboard(v)
- }
-
- private fun searchDishType() {
- val inputText = binding.etInputDishType.text.toString().trim()
- FoodSearchDialog(
- activity = this@DishSamplingActivity,
- defGoodsName = inputText
- ) { item ->
- val filterResult = list.firstOrNull { it.goodsName == item.goodsName }
- if (filterResult != null) {
- toast("不允许重复添加同一食材")
- return@FoodSearchDialog
- }
- binding.etInputDishType.run {
- setText(item.goodsName)
- setSelection(length())
- }
- tempDishEntity = CookFoodGoodsEntity().apply {
- goodsId = item.goodsId
- goodsName = item.goodsName
-
- relateionType = item.relateionType ?: 0
- goodsOrRelationCode = item.goodsOrRelationCode
-
- isNewDishType = true
- // TODO: 待定
- //allEdible = item.allEdible
- }
- }.show()
- }
-
-}
\ No newline at end of file
+//package com.shuwei.dish.match.ui
+//
+//import android.annotation.SuppressLint
+//import android.content.Intent
+//import android.os.Bundle
+//import android.util.Log
+//import android.view.View
+//import androidx.activity.addCallback
+//import androidx.activity.viewModels
+//import androidx.recyclerview.widget.ItemTouchHelper
+//import androidx.recyclerview.widget.LinearLayoutManager
+//import com.shuwei.dish.match.R
+//import com.shuwei.dish.match.adapter.DishPartAdapter
+//import com.shuwei.dish.match.base.BaseActivity
+//import com.shuwei.dish.match.base.BaseApp
+//import com.shuwei.dish.match.databinding.ActivityDishSamplingBinding
+//import com.shuwei.dish.match.dialog.FoodSearchDialog
+//import com.shuwei.dish.match.dialog.CommonDialog
+//import com.shuwei.dish.match.entity.CookFoodEntity
+//import com.shuwei.dish.match.entity.CookFoodGoodsEntity
+//import com.shuwei.dish.match.entity.FoodRecord
+//import com.shuwei.dish.match.net.NetViewModel
+//import com.shuwei.dish.match.utils.AddressUtil
+//import com.shuwei.dish.match.utils.KeyboardUtil
+//import com.shuwei.dish.match.utils.SwipeCallback
+//import com.shuwei.dish.match.utils.WeightUtil
+//import com.shuwei.dish.match.utils.ext.addOnActionSearchListener
+//import com.shuwei.dish.match.utils.ext.clickWithDebounce
+//import com.shuwei.dish.match.utils.ext.gone
+//import com.shuwei.dish.match.utils.ext.startActivity
+//import com.shuwei.dish.match.utils.ext.toJsonString
+//import com.shuwei.dish.match.utils.ext.toast
+//import com.shuwei.dish.match.utils.ext.visible
+//import java.io.Serializable
+//
+//class DishSamplingActivity : BaseActivity() {
+//
+// private lateinit var binding: ActivityDishSamplingBinding
+//
+// var foodName: String? = null
+//
+// private var foodId: String? = null
+//
+// companion object {
+// private const val TAG = "DishSamplingActivity"
+// public const val FOOD_NAME = "foodName"
+// public const val PAGE_FROM = "pageFrom"
+// public const val HOME = "home"
+// }
+//
+// private var pageFrom: String? = null
+//
+// override fun onCreate(savedInstanceState: Bundle?) {
+// super.onCreate(savedInstanceState)
+// binding = ActivityDishSamplingBinding.inflate(layoutInflater)
+// setContentView(binding.root)
+// pageFrom = intent.getStringExtra(PAGE_FROM)
+// setTitleBar()
+// setHeaderBackground()
+// addViewClickListener()
+// foodName = intent.getStringExtra(FOOD_NAME)
+// binding.etInputDish.setText(foodName)
+//
+// WeightUtil.addWeightListener(
+// weightKey = TAG,
+// getWeight = { address, state, weight ->
+// //Log.d(TAG, "addViewClickListener: address=$address,state=$state,weight=$weight")
+// if (address == AddressUtil.ONE) {
+// tempDishEntity?.useWeight = weight.toDouble()
+// binding.tvDishPartWeight.text = "${weight}"
+// }
+// })
+// addBackKeyListener()
+// }
+//
+// private fun setTitleBar() {
+// setTitleBar(titleBarAction = {
+// it.visible()
+// }, titleAction = {
+// it.text = "菜品采集"
+// }, rightIconActon = {
+// it.gone()
+// it.setImageResource(R.drawable.ic_setting)
+// it.setOnClickListener {
+// //startActivity()
+// }
+// }, backAction = {
+// it.visible()
+// it.setOnClickListener {
+// onBackPressedDispatcher.onBackPressed()
+// }
+// })
+// }
+//
+//
+//
+// fun getCookFoodList() {
+// appViewModel.getCookFoodList(cookMode = 1)
+// }
+//
+// /**
+// * 监听返回键
+// */
+// fun addBackKeyListener() {
+// onBackPressedDispatcher.addCallback(this) {
+// if (list.isEmpty().not()) {
+// //说明有新增的食材
+// saveDataRemindDialog()
+// return@addCallback
+// }
+// if (pageFrom == HOME) {
+// startActivity()
+// }
+// onBackPressedDispatcher.onBackPressed()
+// }
+// }
+//
+// private fun saveDataRemindDialog() {
+// CommonDialog(this)
+// .setTitle("返回提示")
+// .setContent("您好,当前页面存在未保存的数据,\n确认返回吗?")
+// .setNegativeButton("取消")
+// .setPositiveButton("确认") {
+// if (pageFrom == HOME) {
+// startActivity()
+// }
+// finish()
+// }
+// .setOnDismissCallback { hideStatusBar() }
+// .show()
+// }
+//
+//
+// val list: MutableList = mutableListOf()
+//
+// private var tempDishEntity: CookFoodGoodsEntity? = null
+//
+// private var dishMaterialType = 1
+//
+// private val dishAdapter by lazy {
+// DishPartAdapter(list).apply {
+// addOnItemChildClickListener(R.id.ivOperateIcon) { _, _, position ->
+// //删除操作
+// list.removeAt(position)
+// notifyItemRemoved(position)
+// notifyItemRangeChanged(position, list.size - position)
+// }
+// }
+// }
+//
+// @SuppressLint("NotifyDataSetChanged")
+// private fun addViewClickListener() {
+// binding.rvDishPartList.run {
+// layoutManager =
+// LinearLayoutManager(this@DishSamplingActivity, LinearLayoutManager.VERTICAL, false)
+// adapter = dishAdapter
+// val itemTouchHelper = ItemTouchHelper(SwipeCallback(dishAdapter) { position ->
+// list.removeAt(position)
+// dishAdapter.notifyItemRemoved(position)
+// dishAdapter.notifyItemRangeChanged(position, list.size - position)
+// toast("已删除")
+// })
+// itemTouchHelper.attachToRecyclerView(this)
+// }
+// binding.etInputDishType.addOnActionSearchListener {
+// searchDishType()
+// }
+// binding.ivDishTypeSearch.setOnClickListener {
+// searchDishType()
+// }
+//
+// binding.ivWeightClear.setOnClickListener {
+// WeightUtil.tareTwo(AddressUtil.ONE)
+// }
+// binding.ivWeightAdd.setOnClickListener {
+// if (tempDishEntity == null) {
+// toast("请输入食材名称")
+// return@setOnClickListener
+// }
+// if (binding.rgSampling.checkedRadioButtonId == -1) {
+// toast("请选择主辅材类型")
+// return@setOnClickListener
+// }
+// val realWeight = tempDishEntity!!.useWeight ?: 0.0
+// if (realWeight <= 0.toDouble()) {
+// toast("食材用量需要大于0")
+// return@setOnClickListener
+// }
+// if (tempDishEntity?.goodsName != binding.etInputDishType.text.toString().trim()) {
+// toast("所选择的食材名称与输入框内容不一致")
+// return@setOnClickListener
+// }
+// tempDishEntity!!.apply {
+// isSamplingPage = true
+// materialType = dishMaterialType
+// }
+// val result = list.firstOrNull { it.goodsId == tempDishEntity!!.goodsId }
+// if (result != null) {
+// toast("${result.goodsName}食材已添加,请勿重复操作")
+// return@setOnClickListener
+// }
+// list.add(tempDishEntity!!)
+// dishAdapter.notifyDataSetChanged()
+// tempDishEntity = null
+// binding.etInputDishType.setText("")
+// binding.rgSampling.clearCheck()
+// }
+// binding.rgSampling.setOnCheckedChangeListener { group, checkedId ->
+// dishMaterialType = if (checkedId == R.id.rbDishTypeFirst) 1 else 2
+// }
+// binding.ivDishSearch.setOnClickListener { v ->
+// jumpSearch(v)
+// }
+// binding.btnCook.clickWithDebounce {
+// val showFoodName = binding.etInputDish.text.toString().trim()
+// if (showFoodName.isBlank()) {
+// toast("菜品名称为空")
+// return@clickWithDebounce
+// }
+// if (list.isEmpty()) {
+// toast("菜品构成信息未设置")
+// return@clickWithDebounce
+// }
+// val food = FoodRecord()
+// binding.etInputDish.let {
+// if (it.tag != null && it.tag.toString() == it.text.toString()) {
+// food.foodId = foodId
+// }
+// }
+// food.foodName = showFoodName
+// food.cookMode = 1
+// Log.d(TAG, "goToSubmit: goodsList:${list.toJsonString()}")
+//// startActivity {
+// startActivity {
+// putExtra(SubmitFoodActivity.GOODS_LIST, list as java.io.Serializable)
+// putExtra(SubmitFoodActivity.FOOD_ITEM, food as Serializable)
+// }
+// }
+// binding.etInputDish.let { v ->
+// v.addOnActionSearchListener {
+// jumpSearch(v)
+// }
+// }
+// }
+//
+// private fun jumpSearch(v: View) {
+// val intent = Intent(this, FoodSearchActivity::class.java).apply {
+// putExtra(FoodSearchActivity.FOOD_NAME, binding.etInputDish.text.toString().trim())
+// }
+// startActivity(intent) {
+// foodId = it?.getStringExtra(FoodSearchActivity.FOOD_ID)
+// foodName = it?.getStringExtra(FoodSearchActivity.FOOD_NAME)
+// binding.etInputDish.run {
+// setText(foodName)
+// tag = foodName
+// setSelection(text.length)
+// }
+// }
+// KeyboardUtil.hideKeyboard(v)
+// }
+//
+// private fun searchDishType() {
+// val inputText = binding.etInputDishType.text.toString().trim()
+// FoodSearchDialog(
+// activity = this@DishSamplingActivity,
+// defGoodsName = inputText
+// ) { item ->
+// val filterResult = list.firstOrNull { it.goodsName == item.goodsName }
+// if (filterResult != null) {
+// toast("不允许重复添加同一食材")
+// return@FoodSearchDialog
+// }
+// binding.etInputDishType.run {
+// setText(item.goodsName)
+// setSelection(length())
+// }
+// tempDishEntity = CookFoodGoodsEntity().apply {
+// goodsId = item.goodsId
+// goodsName = item.goodsName
+//
+// relateionType = item.relateionType ?: 0
+// goodsOrRelationCode = item.goodsOrRelationCode
+//
+// isNewDishType = true
+// // TODO: 待定
+// //allEdible = item.allEdible
+// }
+// }.show()
+// }
+//
+//}
\ No newline at end of file
diff --git a/app/src/main/java/com/shuwei/dish/match/ui/FoodSearchActivity.kt b/app/src/main/java/com/shuwei/dish/match/ui/FoodSearchActivity.kt
index 2e34410..191923c 100644
--- a/app/src/main/java/com/shuwei/dish/match/ui/FoodSearchActivity.kt
+++ b/app/src/main/java/com/shuwei/dish/match/ui/FoodSearchActivity.kt
@@ -25,6 +25,9 @@ import com.shuwei.dish.match.utils.ext.visible
import java.io.Serializable
import kotlinx.coroutines.launch
+/**
+ * 菜品搜索页面
+ */
class FoodSearchActivity : BaseActivity() {
companion object {
@@ -46,8 +49,8 @@ class FoodSearchActivity : BaseActivity() {
setOnItemClickListener { adapter, view, position ->
if (pageType == 1) {
val jumpItem = list[position].also { it.dinnerType = dinnerType }
- startActivity {
- putExtra(PrepareCookActivity.FOOD_ITEM, jumpItem as Serializable)
+ startActivity {
+ putExtra(PrepareFoodActivity.FOOD_ITEM, jumpItem as Serializable)
}
return@setOnItemClickListener
}
diff --git a/app/src/main/java/com/shuwei/dish/match/ui/HomeActivity.kt b/app/src/main/java/com/shuwei/dish/match/ui/HomeActivity.kt
index 1e98f32..be21239 100644
--- a/app/src/main/java/com/shuwei/dish/match/ui/HomeActivity.kt
+++ b/app/src/main/java/com/shuwei/dish/match/ui/HomeActivity.kt
@@ -16,6 +16,9 @@ import com.shuwei.dish.match.utils.ext.startActivity
import com.shuwei.dish.match.utils.ext.toast
import kotlinx.coroutines.launch
+/**
+ * 主页,包括三种模式:制作模式、采样模式、品控模式
+ */
class HomeActivity : BaseActivity() {
companion object {
@@ -105,7 +108,7 @@ class HomeActivity : BaseActivity() {
modeIconId = R.drawable.ic_mode_cook,
onClick = {
SpTool.cookMode = 0
- startActivity()
+ startActivity()
finish()
})
)
@@ -138,20 +141,20 @@ class HomeActivity : BaseActivity() {
val slots = appViewModel.loadSeasoningSlot()
if (slots.isEmpty()) {
// 无调料信息,打开采样历史列表页面,点击设置配置调料信息
- startActivity()
+ startActivity()
finish()
return@launch
}
val count = appViewModel.countCookFood(cookMode = 1)
if (count > 0) {
// 有烹饪中数据,打开采样历史列表页面
- startActivity()
+ startActivity()
finish()
return@launch
}
// 无烹饪数据,打开新增采样页面
- startActivity {
- putExtra(PrepareCookActivity.PAGE_FROM, PrepareCookActivity.HOME)
+ startActivity {
+ putExtra(PrepareFoodActivity.PAGE_FROM, PrepareFoodActivity.HOME)
}
finish()
}
diff --git a/app/src/main/java/com/shuwei/dish/match/ui/InitActivity.kt b/app/src/main/java/com/shuwei/dish/match/ui/InitActivity.kt
index 9c0293e..63e93e5 100644
--- a/app/src/main/java/com/shuwei/dish/match/ui/InitActivity.kt
+++ b/app/src/main/java/com/shuwei/dish/match/ui/InitActivity.kt
@@ -72,7 +72,7 @@ class InitActivity : BaseActivity() {
// 主设备:走原有路由逻辑
when (SpTool.cookMode) {
0 -> {
- startActivity()
+ startActivity()
}
1 -> {
@@ -91,18 +91,18 @@ class InitActivity : BaseActivity() {
val slots = appViewModel.loadSeasoningSlot()
if (slots.isEmpty()) {
// 无调料信息,打开采样历史列表页面,点击设置配置调料信息
- startActivity()
+ startActivity()
return@launch
}
val count = appViewModel.countCookFood(cookMode = 1)
if (count > 0) {
// 有烹饪中数据,打开采样历史列表页面
- startActivity()
+ startActivity()
return@launch
}
// 无烹饪数据,打开新增采样页面
- startActivity {
- putExtra(PrepareCookActivity.PAGE_FROM, PrepareCookActivity.HOME)
+ startActivity {
+ putExtra(PrepareFoodActivity.PAGE_FROM, PrepareFoodActivity.HOME)
}
}
}
diff --git a/app/src/main/java/com/shuwei/dish/match/ui/PrepareCookActivity.kt b/app/src/main/java/com/shuwei/dish/match/ui/PrepareFoodActivity.kt
similarity index 97%
rename from app/src/main/java/com/shuwei/dish/match/ui/PrepareCookActivity.kt
rename to app/src/main/java/com/shuwei/dish/match/ui/PrepareFoodActivity.kt
index 790ab79..5786c94 100644
--- a/app/src/main/java/com/shuwei/dish/match/ui/PrepareCookActivity.kt
+++ b/app/src/main/java/com/shuwei/dish/match/ui/PrepareFoodActivity.kt
@@ -16,7 +16,7 @@ import androidx.recyclerview.widget.LinearLayoutManager
import com.shuwei.dish.match.R
import com.shuwei.dish.match.adapter.DishPartAdapter
import com.shuwei.dish.match.base.BaseActivity
-import com.shuwei.dish.match.databinding.ActivityPrepareCookBinding
+import com.shuwei.dish.match.databinding.ActivityPrepareFoodBinding
import com.shuwei.dish.match.databinding.LayoutCameraPreviewBinding
import com.shuwei.dish.match.dialog.CommonDialog
import com.shuwei.dish.match.entity.CookFoodEntity
@@ -39,15 +39,15 @@ import com.shuwei.dish.match.utils.ext.toJsonString
import com.shuwei.dish.match.utils.ext.toast
import com.shuwei.dish.match.utils.ext.visible
import kotlinx.coroutines.Dispatchers
-import kotlinx.coroutines.flow.collect
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
import java.io.Serializable
import java.util.concurrent.atomic.AtomicBoolean
+import kotlin.getValue
import kotlin.math.abs
@SuppressLint("NotifyDataSetChanged")
-class PrepareCookActivity : BaseActivity() {
+class PrepareFoodActivity : BaseActivity() {
companion object {
const val TAG = "CookActivity"
@@ -59,7 +59,7 @@ class PrepareCookActivity : BaseActivity() {
const val WEIGHT_RECOGNIZE_VALUE = 10
}
- private lateinit var binding: ActivityPrepareCookBinding
+ private val binding by lazy { ActivityPrepareFoodBinding.inflate(layoutInflater) }
private val cameraUtils: CameraUtils by lazy { CameraUtils(this) }
@@ -76,7 +76,6 @@ class PrepareCookActivity : BaseActivity() {
@Suppress("DEPRECATION")
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
- binding = ActivityPrepareCookBinding.inflate(layoutInflater)
setContentView(binding.root)
setHeaderBackground()
pageFrom = intent.getStringExtra(PAGE_FROM)
@@ -383,7 +382,7 @@ class PrepareCookActivity : BaseActivity() {
private fun initRecyclerView() {
binding.rvDishPartList.run {
layoutManager =
- LinearLayoutManager(this@PrepareCookActivity, LinearLayoutManager.VERTICAL, false)
+ LinearLayoutManager(this@PrepareFoodActivity, LinearLayoutManager.VERTICAL, false)
adapter = dishPartAdapter
val itemTouchHelper = ItemTouchHelper(SwipeCallback(dishPartAdapter) { position ->
if (list[position].isNewDishType.not()) {
@@ -435,7 +434,7 @@ class PrepareCookActivity : BaseActivity() {
return@addCallback
}
if (pageFrom == HOME) {
- startActivity()
+ startActivity()
}
} else {
// 制作模式:有未保存数据时提示
@@ -459,7 +458,7 @@ class PrepareCookActivity : BaseActivity() {
.setNegativeButton("取消")
.setPositiveButton("确认") {
if (SpTool.cookMode == 1 && pageFrom == HOME) {
- startActivity()
+ startActivity()
}
finish()
}
@@ -475,7 +474,7 @@ class PrepareCookActivity : BaseActivity() {
lastPhotoUri = uri
lifecycleScope.launch {
withContext(Dispatchers.IO) {
- val bitmap = ImageUtil.uriToBitmap(this@PrepareCookActivity, uri)
+ val bitmap = ImageUtil.uriToBitmap(this@PrepareFoodActivity, uri)
if (bitmap == null) {
dismissLoading()
Log.d(TAG, "takePhoto bitmap is null")
diff --git a/app/src/main/java/com/shuwei/dish/match/ui/SamplingListActivity.kt b/app/src/main/java/com/shuwei/dish/match/ui/SamplingModeActivity.kt
similarity index 96%
rename from app/src/main/java/com/shuwei/dish/match/ui/SamplingListActivity.kt
rename to app/src/main/java/com/shuwei/dish/match/ui/SamplingModeActivity.kt
index 9aacca2..f23c9c7 100644
--- a/app/src/main/java/com/shuwei/dish/match/ui/SamplingListActivity.kt
+++ b/app/src/main/java/com/shuwei/dish/match/ui/SamplingModeActivity.kt
@@ -14,10 +14,9 @@ import com.shuwei.dish.match.R
import com.shuwei.dish.match.adapter.SamplingAdapter
import com.shuwei.dish.match.base.BaseActivity
import com.shuwei.dish.match.base.BaseApp
-import com.shuwei.dish.match.databinding.ActivitySamplingBinding
+import com.shuwei.dish.match.databinding.ActivitySamplingModeBinding
import com.shuwei.dish.match.databinding.LayoutEmptyViewBinding
import com.shuwei.dish.match.dialog.CommonDialog
-import com.shuwei.dish.match.entity.CookFoodEntity
import com.shuwei.dish.match.entity.FoodRecord
import com.shuwei.dish.match.utils.DateTimeUtil
import com.shuwei.dish.match.utils.SwipeCallback
@@ -28,10 +27,12 @@ import com.shuwei.dish.match.utils.ext.visible
import java.io.Serializable
import kotlinx.coroutines.launch
import com.shuwei.dish.match.net.UiState
+/**
+ * 采样模式
+ */
+class SamplingModeActivity : BaseActivity() {
-class SamplingListActivity : BaseActivity() {
-
- private lateinit var binding: ActivitySamplingBinding
+ private val binding by lazy { ActivitySamplingModeBinding.inflate(layoutInflater) }
companion object {
private const val TAG = "SamplingListActivity"
@@ -41,7 +42,6 @@ class SamplingListActivity : BaseActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
- binding = ActivitySamplingBinding.inflate(layoutInflater)
setContentView(binding.root)
setTitleBar()
setHeaderBackground()
@@ -181,8 +181,8 @@ class SamplingListActivity : BaseActivity() {
}
return
}
- startActivity {
- putExtra(PrepareCookActivity.FOOD_NAME, item.foodName)
+ startActivity {
+ putExtra(PrepareFoodActivity.FOOD_NAME, item.foodName)
}
}
@@ -190,7 +190,7 @@ class SamplingListActivity : BaseActivity() {
private fun initRecyclerView() {
binding.rvSamplingList.run {
layoutManager =
- LinearLayoutManager(this@SamplingListActivity, LinearLayoutManager.VERTICAL, false)
+ LinearLayoutManager(this@SamplingModeActivity, LinearLayoutManager.VERTICAL, false)
adapter = dishAdapter
val itemTouchHelper = ItemTouchHelper(SwipeCallback(dishAdapter) { position ->
if (list[position].isCooking.not()) {
@@ -215,7 +215,7 @@ class SamplingListActivity : BaseActivity() {
private fun addViewListener() {
binding.btnAddSampling.setOnClickListener {
judgeDeviceConfig {
- startActivity()
+ startActivity()
}
}
binding.refreshLayout.setOnRefreshListener {
diff --git a/app/src/main/java/com/shuwei/dish/match/ui/SingleFragmentActivity.kt b/app/src/main/java/com/shuwei/dish/match/ui/SingleFragmentActivity.kt
index e1dccac..091d7ab 100644
--- a/app/src/main/java/com/shuwei/dish/match/ui/SingleFragmentActivity.kt
+++ b/app/src/main/java/com/shuwei/dish/match/ui/SingleFragmentActivity.kt
@@ -5,8 +5,7 @@ import android.content.Intent
import android.os.Bundle
import androidx.fragment.app.Fragment
import com.shuwei.dish.match.base.BaseActivity
-import com.shuwei.dish.match.base.BaseApp
-import com.shuwei.dish.match.ui.fragment.CollectFragment
+import com.shuwei.dish.match.ui.fragment.VectorCollectionFragment
import com.shuwei.dish.match.ui.fragment.DeviceConfigFragment
import com.shuwei.dish.match.ui.fragment.SeasoningConfigFragment
import com.shuwei.dish.match.utils.ext.gone
@@ -103,7 +102,7 @@ class SingleFragmentActivity : BaseActivity() {
* 根据页面类型创建对应 Fragment 实例
*/
private fun createFragment(pageType: PageType): Fragment = when (pageType) {
- PageType.FOOD_COLLECT -> CollectFragment()
+ PageType.FOOD_COLLECT -> VectorCollectionFragment()
PageType.COOK_MODE -> DeviceConfigFragment()
PageType.SEASONING_CONFIG -> SeasoningConfigFragment()
}
diff --git a/app/src/main/java/com/shuwei/dish/match/ui/SubmitFoodActivity.kt b/app/src/main/java/com/shuwei/dish/match/ui/SubmitFoodActivity.kt
index 66d2bbc..b8a1b87 100644
--- a/app/src/main/java/com/shuwei/dish/match/ui/SubmitFoodActivity.kt
+++ b/app/src/main/java/com/shuwei/dish/match/ui/SubmitFoodActivity.kt
@@ -12,8 +12,6 @@ import androidx.lifecycle.Lifecycle
import androidx.lifecycle.lifecycleScope
import androidx.lifecycle.repeatOnLifecycle
import androidx.recyclerview.widget.GridLayoutManager
-import com.google.gson.reflect.TypeToken
-import com.shuwei.dish.match.R
import com.shuwei.dish.match.adapter.SeasoningWeightAdapter
import com.shuwei.dish.match.base.BaseActivity
import com.shuwei.dish.match.base.BaseApp
@@ -22,7 +20,6 @@ import com.shuwei.dish.match.dialog.CommonDialog
import com.shuwei.dish.match.entity.CookFoodEntity
import com.shuwei.dish.match.entity.CookFoodGoodsEntity
import com.shuwei.dish.match.entity.FoodRecord
-import com.shuwei.dish.match.net.NetViewModel
import com.shuwei.dish.match.net.UiState
import com.shuwei.dish.match.scale.ScaleDeviceConfig
import com.shuwei.dish.match.scale.ScaleServiceManager
@@ -36,13 +33,10 @@ import com.shuwei.dish.match.utils.ext.roundedDecimalPlace
import com.shuwei.dish.match.utils.ext.roundedOneDecimalPlace
import com.shuwei.dish.match.utils.ext.startActivity
import com.shuwei.dish.match.utils.ext.toJsonString
-import com.shuwei.dish.match.utils.ext.toType
import com.shuwei.dish.match.utils.ext.toast
import com.shuwei.dish.match.utils.ext.visible
-import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.flow.collectLatest
import kotlinx.coroutines.launch
-import kotlinx.coroutines.withContext
@SuppressLint("UseSparseArrays")
class SubmitFoodActivity : BaseActivity() {
@@ -401,14 +395,14 @@ class SubmitFoodActivity : BaseActivity() {
private fun jumpPage(isSampling: Boolean, isCooking: Boolean) {
if (isSampling) {
- startActivity {
- putExtra(SelectDishActivity.IS_COOKING, isCooking)
+ startActivity {
+ putExtra(CookingModeActivity.IS_COOKING, isCooking)
}
return
}
- startActivity {
- putExtra(SelectDishActivity.IS_COOKING, isCooking)
- putExtra(SelectDishActivity.DINNER_TYPE, food?.dinnerType)
+ startActivity {
+ putExtra(CookingModeActivity.IS_COOKING, isCooking)
+ putExtra(CookingModeActivity.DINNER_TYPE, food?.dinnerType)
}
}
diff --git a/app/src/main/java/com/shuwei/dish/match/ui/fragment/DeviceConfigFragment.kt b/app/src/main/java/com/shuwei/dish/match/ui/fragment/DeviceConfigFragment.kt
index c2bbd91..ead986b 100644
--- a/app/src/main/java/com/shuwei/dish/match/ui/fragment/DeviceConfigFragment.kt
+++ b/app/src/main/java/com/shuwei/dish/match/ui/fragment/DeviceConfigFragment.kt
@@ -11,8 +11,8 @@ import android.view.ViewGroup
import androidx.core.graphics.toColorInt
import com.shuwei.dish.match.base.BaseFragment
import com.shuwei.dish.match.databinding.FragmentDeviceConfigBinding
-import com.shuwei.dish.match.ui.SamplingListActivity
-import com.shuwei.dish.match.ui.SelectDishActivity
+import com.shuwei.dish.match.ui.SamplingModeActivity
+import com.shuwei.dish.match.ui.CookingModeActivity
import com.shuwei.dish.match.utils.SpTool
import com.shuwei.dish.match.utils.ext.appendText
import com.shuwei.dish.match.utils.ext.buildSpannableString
@@ -94,8 +94,8 @@ class DeviceConfigFragment : BaseFragment() {
binding.rbModeSampling.isChecked = false
loadCookSpan(isClicked = true)
loadSamplingSpan()
- activity?.startActivity {
- putExtra(SelectDishActivity.IS_CONFIG_PAGE, true)
+ activity?.startActivity {
+ putExtra(CookingModeActivity.IS_CONFIG_PAGE, true)
}
activity?.finish()
}
@@ -105,8 +105,8 @@ class DeviceConfigFragment : BaseFragment() {
binding.rbModeSampling.isChecked = true
loadCookSpan()
loadSamplingSpan(isClicked = true)
- activity?.startActivity {
- putExtra(SamplingListActivity.IS_CONFIG_PAGE, true)
+ activity?.startActivity {
+ putExtra(SamplingModeActivity.IS_CONFIG_PAGE, true)
}
activity?.finish()
}
diff --git a/app/src/main/java/com/shuwei/dish/match/ui/fragment/DishListFragment.kt b/app/src/main/java/com/shuwei/dish/match/ui/fragment/DishListFragment.kt
index ed48d26..c93b741 100644
--- a/app/src/main/java/com/shuwei/dish/match/ui/fragment/DishListFragment.kt
+++ b/app/src/main/java/com/shuwei/dish/match/ui/fragment/DishListFragment.kt
@@ -3,7 +3,6 @@ package com.shuwei.dish.match.ui.fragment
import android.annotation.SuppressLint
import android.os.Bundle
import android.view.LayoutInflater
-import android.view.View
import android.view.ViewGroup
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.lifecycleScope
@@ -19,8 +18,8 @@ import com.shuwei.dish.match.databinding.LayoutEmptyViewBinding
import com.shuwei.dish.match.entity.CookFoodEntity
import com.shuwei.dish.match.entity.FoodRecord
import com.shuwei.dish.match.net.UiState
-import com.shuwei.dish.match.ui.PrepareCookActivity
-import com.shuwei.dish.match.ui.SelectDishActivity
+import com.shuwei.dish.match.ui.PrepareFoodActivity
+import com.shuwei.dish.match.ui.CookingModeActivity
import com.shuwei.dish.match.ui.SubmitFoodActivity
import com.shuwei.dish.match.utils.SwipeCallback
import com.shuwei.dish.match.utils.ext.startActivity
@@ -49,7 +48,7 @@ class DishListFragment : BaseFragment() {
private var dinnerType = "0"
- private lateinit var activity: SelectDishActivity
+ private lateinit var activity: CookingModeActivity
private var list: MutableList = mutableListOf()
private val dishAdapter by lazy {
@@ -79,7 +78,7 @@ class DishListFragment : BaseFragment() {
return
}
item.dinnerType = dinnerType
- activity.startActivity {
+ activity.startActivity {
putExtra(
SubmitFoodActivity.FOOD_ITEM,
item as Serializable
@@ -95,7 +94,7 @@ class DishListFragment : BaseFragment() {
}
override fun initialize() {
- activity = requireActivity() as SelectDishActivity
+ activity = requireActivity() as CookingModeActivity
dinnerType = arguments?.getString(DINNER_TYPE, "0") ?: "0"
binding.rvDishList.run {
layoutManager =
diff --git a/app/src/main/java/com/shuwei/dish/match/ui/fragment/CollectFragment.kt b/app/src/main/java/com/shuwei/dish/match/ui/fragment/VectorCollectionFragment.kt
similarity index 98%
rename from app/src/main/java/com/shuwei/dish/match/ui/fragment/CollectFragment.kt
rename to app/src/main/java/com/shuwei/dish/match/ui/fragment/VectorCollectionFragment.kt
index f84d304..a045421 100644
--- a/app/src/main/java/com/shuwei/dish/match/ui/fragment/CollectFragment.kt
+++ b/app/src/main/java/com/shuwei/dish/match/ui/fragment/VectorCollectionFragment.kt
@@ -19,7 +19,7 @@ import com.shuwei.dish.match.R
import com.shuwei.dish.match.adapter.VectorCollectionAdapter
import com.shuwei.dish.match.adapter.FoodSearchAdapter
import com.shuwei.dish.match.base.BaseFragment
-import com.shuwei.dish.match.databinding.FragmentCollectBinding
+import com.shuwei.dish.match.databinding.FragmentVectorCollectionBinding
import com.shuwei.dish.match.databinding.LayoutCameraPreviewBinding
import com.shuwei.dish.match.dialog.Loading
import com.shuwei.dish.match.entity.CookFoodGoodsEntity
@@ -37,7 +37,7 @@ import com.shuwei.dish.match.utils.ext.dp
import com.shuwei.dish.match.utils.ext.toast
@SuppressLint("NotifyDataSetChanged")
-class CollectFragment : BaseFragment() {
+class VectorCollectionFragment : BaseFragment() {
companion object {
private const val TAG = "CollectFragment"
@@ -105,8 +105,8 @@ class CollectFragment : BaseFragment() {
override fun inflateBinding(
inflater: LayoutInflater,
container: ViewGroup?
- ): FragmentCollectBinding {
- return FragmentCollectBinding.inflate(inflater, container, false)
+ ): FragmentVectorCollectionBinding {
+ return FragmentVectorCollectionBinding.inflate(inflater, container, false)
}
//typealias CameraCallback = (Uri) -> Unit
diff --git a/app/src/main/res/layout/activity_select_dish.xml b/app/src/main/res/layout/activity_cooking_mode.xml
similarity index 100%
rename from app/src/main/res/layout/activity_select_dish.xml
rename to app/src/main/res/layout/activity_cooking_mode.xml
diff --git a/app/src/main/res/layout/activity_dish_sampling.xml b/app/src/main/res/layout/activity_dish_sampling.xml
index 7b72f2f..ba082b8 100644
--- a/app/src/main/res/layout/activity_dish_sampling.xml
+++ b/app/src/main/res/layout/activity_dish_sampling.xml
@@ -7,287 +7,287 @@
android:orientation="vertical"
tools:background="@drawable/bg_other_page">
-
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
-
+
-
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
-
+
+
+
+
+
-
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
+
+
+
+
+
-
+
+
+
+
+
-
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_prepare_cook.xml b/app/src/main/res/layout/activity_prepare_food.xml
similarity index 100%
rename from app/src/main/res/layout/activity_prepare_cook.xml
rename to app/src/main/res/layout/activity_prepare_food.xml
diff --git a/app/src/main/res/layout/activity_sampling.xml b/app/src/main/res/layout/activity_sampling_mode.xml
similarity index 100%
rename from app/src/main/res/layout/activity_sampling.xml
rename to app/src/main/res/layout/activity_sampling_mode.xml
diff --git a/app/src/main/res/layout/fragment_collect.xml b/app/src/main/res/layout/fragment_vector_collection.xml
similarity index 100%
rename from app/src/main/res/layout/fragment_collect.xml
rename to app/src/main/res/layout/fragment_vector_collection.xml