feat(setting): 添加净菜包功能并优化设置页面
- 在BaseApp中新增ScaleDeviceConfig、AppUtil等依赖导入 - 恢复InitActivity中的原有路由逻辑,移除HomeV2Activity跳转 - 移除SettingActivity中设置项的硬编码标题,改用枚举默认值 - 新增CLEAN_PACKAGE、MEAL_PACKAGE、MEAL_PACKAGE_TEST三种设置类型 - 为净菜包功能添加对应的页面跳转逻辑 - 隐藏数据库查看、秤数据监控等调试功能项
This commit is contained in:
@@ -7,8 +7,12 @@ import android.content.Intent
|
||||
import android.content.IntentFilter
|
||||
import android.content.SharedPreferences
|
||||
import android.os.Bundle
|
||||
import android.util.Log
|
||||
import com.shuwei.dish.match.BuildConfig
|
||||
import com.shuwei.dish.match.R
|
||||
import com.shuwei.dish.match.db.DatabaseProvider
|
||||
import com.shuwei.dish.match.scale.ScaleDeviceConfig
|
||||
import com.shuwei.dish.match.utils.AppUtil
|
||||
import com.shuwei.dish.match.utils.BootReceiver
|
||||
import com.shuwei.dish.match.utils.CrashHandler
|
||||
import com.shuwei.dish.match.utils.SpTool
|
||||
|
||||
@@ -11,30 +11,24 @@ package com.shuwei.dish.match.model
|
||||
*/
|
||||
data class SettingItem(
|
||||
val type: Type,
|
||||
val title: String,
|
||||
val title: String = type.label,
|
||||
val subtitle: String? = null,
|
||||
val isHidden: Boolean = false,
|
||||
val onClick: () -> Unit
|
||||
) {
|
||||
/** 设置菜单项类型枚举 */
|
||||
enum class Type {
|
||||
/** 菜品模式切换 */
|
||||
COOK_MODE,
|
||||
/** 调料区设置 */
|
||||
SEASONING_CONFIG,
|
||||
/** 食材采集 */
|
||||
FOOD_COLLECT,
|
||||
/** 减重配置 */
|
||||
WEIGHT_CONFIG,
|
||||
/** 数据库查看(隐藏项) */
|
||||
DB_INSPECT,
|
||||
/** 秤数据监控(隐藏项) */
|
||||
SCALE_OBSERVE,
|
||||
/** 切换环境(隐藏项) */
|
||||
ENV_SWITCH,
|
||||
/** 数据清除(隐藏项) */
|
||||
CLEAR_DATA,
|
||||
/** 测试调料拿取(隐藏项) */
|
||||
TEST_SEASONING,
|
||||
enum class Type(val label: String) {
|
||||
COOK_MODE("菜品模式"),
|
||||
SEASONING_CONFIG("调料区设置"),
|
||||
FOOD_COLLECT("食材采集"),
|
||||
WEIGHT_CONFIG("减重配置"),
|
||||
CLEAN_PACKAGE("净菜包"),
|
||||
MEAL_PACKAGE("餐品净菜包"),
|
||||
MEAL_PACKAGE_TEST("餐品净菜包-测试"),
|
||||
DB_INSPECT("数据库查看"),
|
||||
SCALE_OBSERVE("秤数据监控"),
|
||||
ENV_SWITCH("切换环境"),
|
||||
CLEAR_DATA("数据清除"),
|
||||
TEST_SEASONING("测试调料拿取"),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -94,21 +94,21 @@ class InitActivity : BaseActivity() {
|
||||
// window.decorView.post { finish() }
|
||||
// return@launch
|
||||
// }
|
||||
// // 主设备:走原有路由逻辑
|
||||
// when (SpTool.cookMode) {
|
||||
// 0 -> {
|
||||
// startActivity<CookingModeActivity>()
|
||||
// }
|
||||
//
|
||||
// 1 -> {
|
||||
// goSampling()
|
||||
// }
|
||||
//
|
||||
// else -> {
|
||||
// startActivity<HomeActivity>()
|
||||
// }
|
||||
// }
|
||||
startActivity<HomeV2Activity>()
|
||||
// 主设备:走原有路由逻辑
|
||||
when (SpTool.cookMode) {
|
||||
0 -> {
|
||||
startActivity<CookingModeActivity>()
|
||||
}
|
||||
|
||||
1 -> {
|
||||
goSampling()
|
||||
}
|
||||
|
||||
else -> {
|
||||
startActivity<HomeActivity>()
|
||||
}
|
||||
}
|
||||
// startActivity<HomeV2Activity>()
|
||||
// 延迟到下一帧 finish,避免与 LaunchActivityItem 事务竞态导致
|
||||
// "Activity client record must not be null" 偶发崩溃
|
||||
window.decorView.post { finish() }
|
||||
|
||||
@@ -77,7 +77,6 @@ class SettingActivity : BaseActivity() {
|
||||
private fun buildAllItems(): List<SettingItem> = listOf(
|
||||
SettingItem(
|
||||
type = SettingItem.Type.COOK_MODE,
|
||||
title = "菜品模式",
|
||||
subtitle = when (SpTool.cookMode) {
|
||||
0 -> "当前:制作模式"
|
||||
1 -> "当前:采样模式"
|
||||
@@ -89,26 +88,46 @@ class SettingActivity : BaseActivity() {
|
||||
),
|
||||
SettingItem(
|
||||
type = SettingItem.Type.SEASONING_CONFIG,
|
||||
title = "调料区设置",
|
||||
onClick = {
|
||||
SingleFragmentActivity.start(this, SingleFragmentActivity.PageType.SEASONING_CONFIG)
|
||||
}
|
||||
),
|
||||
SettingItem(
|
||||
type = SettingItem.Type.FOOD_COLLECT,
|
||||
title = "食材采集",
|
||||
onClick = { checkCameraPermission() }
|
||||
),
|
||||
SettingItem(
|
||||
type = SettingItem.Type.WEIGHT_CONFIG,
|
||||
title = "减重配置",
|
||||
onClick = {
|
||||
SingleFragmentActivity.start(this, SingleFragmentActivity.PageType.WEIGHT_CONFIG)
|
||||
}
|
||||
),
|
||||
SettingItem(
|
||||
type = SettingItem.Type.CLEAN_PACKAGE,
|
||||
onClick = {
|
||||
startActivity<CleanPackActivity> {
|
||||
putExtra(CleanPackActivity.EXTRA_TYPE, CleanPackActivity.TYPE_CLEAN)
|
||||
}
|
||||
}
|
||||
),
|
||||
SettingItem(
|
||||
type = SettingItem.Type.MEAL_PACKAGE,
|
||||
onClick = {
|
||||
//startActivity<CleanPackActivity> {
|
||||
// putExtra(CleanPackActivity.EXTRA_TYPE, CleanPackActivity.TYPE_MEAL)
|
||||
//}
|
||||
}
|
||||
),
|
||||
SettingItem(
|
||||
type = SettingItem.Type.MEAL_PACKAGE_TEST,
|
||||
onClick = {
|
||||
startActivity<CleanPackActivity> {
|
||||
putExtra(CleanPackActivity.EXTRA_TYPE, CleanPackActivity.TYPE_MEAL)
|
||||
}
|
||||
}
|
||||
),
|
||||
SettingItem(
|
||||
type = SettingItem.Type.DB_INSPECT,
|
||||
title = "数据库查看",
|
||||
isHidden = true,
|
||||
onClick = {
|
||||
SingleFragmentActivity.start(this, SingleFragmentActivity.PageType.DB_INSPECT)
|
||||
@@ -116,25 +135,21 @@ class SettingActivity : BaseActivity() {
|
||||
),
|
||||
SettingItem(
|
||||
type = SettingItem.Type.SCALE_OBSERVE,
|
||||
title = "秤数据监控",
|
||||
isHidden = true,
|
||||
onClick = { startActivity<MasterScaleActivity>() }
|
||||
),
|
||||
SettingItem(
|
||||
type = SettingItem.Type.ENV_SWITCH,
|
||||
title = "切换环境",
|
||||
isHidden = true,
|
||||
onClick = { EnvSwitchDialog(this).show() }
|
||||
),
|
||||
SettingItem(
|
||||
type = SettingItem.Type.CLEAR_DATA,
|
||||
title = "数据清除",
|
||||
isHidden = true,
|
||||
onClick = { showClearDataDialog() }
|
||||
),
|
||||
SettingItem(
|
||||
type = SettingItem.Type.TEST_SEASONING,
|
||||
title = "测试调料拿取",
|
||||
isHidden = true,
|
||||
onClick = { startActivity<SubmitFoodActivity> { } }
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user