refactor(rename): 将 AppRepository 重命名为 DbRepository,AppViewModel 重命名为 DbViewModel

- DatabaseRepository.kt → DbRepository.kt,类名 AppRepository → DbRepository
- AppViewModel.kt → DbViewModel.kt,类名 AppViewModel → DbViewModel
- VMFactory 构造参数与创建类型同步更新
- 所有引用文件(UI 层、Fragment、ViewModel 工厂)批量更新 import 与使用处

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-23 11:06:59 +08:00
co-authored by Claude Sonnet 4.6
parent debc7a0740
commit deab289747
15 changed files with 60 additions and 60 deletions
@@ -11,7 +11,7 @@ import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext import kotlinx.coroutines.withContext
class AppRepository(val appDao: AppDao, val seasoningSlotDao: SeasoningSlotDao) { class DbRepository(val appDao: AppDao, val seasoningSlotDao: SeasoningSlotDao) {
suspend fun insertCookFood(item: CookFoodEntity) = withContext(Dispatchers.IO) { suspend fun insertCookFood(item: CookFoodEntity) = withContext(Dispatchers.IO) {
appDao.insertCookFood(item) appDao.insertCookFood(item)
@@ -15,7 +15,7 @@
//import androidx.lifecycle.ViewModelProvider //import androidx.lifecycle.ViewModelProvider
//import com.shuwei.dish.match.base.BaseActivity //import com.shuwei.dish.match.base.BaseActivity
//import com.shuwei.dish.match.base.BaseApp //import com.shuwei.dish.match.base.BaseApp
//import com.shuwei.dish.match.db.AppRepository //import com.shuwei.dish.match.db.DbRepository
//import com.shuwei.dish.match.dialog.CommonDialog //import com.shuwei.dish.match.dialog.CommonDialog
//import com.shuwei.dish.match.entity.SeasoningEntity //import com.shuwei.dish.match.entity.SeasoningEntity
//import com.shuwei.dish.match.entity.ResetReasoningRecord //import com.shuwei.dish.match.entity.ResetReasoningRecord
@@ -29,7 +29,7 @@
//import com.shuwei.dish.match.utils.ext.startActivity //import com.shuwei.dish.match.utils.ext.startActivity
//import com.shuwei.dish.match.utils.ext.toast //import com.shuwei.dish.match.utils.ext.toast
//import com.shuwei.dish.match.utils.ext.visible //import com.shuwei.dish.match.utils.ext.visible
//import com.shuwei.dish.match.viewmodel.AppViewModel //import com.shuwei.dish.match.viewmodel.DbViewModel
//import com.shuwei.dish.match.viewmodel.factory.AppFactory //import com.shuwei.dish.match.viewmodel.factory.AppFactory
//import com.shuwei.dish.match.adapter.TextCellAdapter //import com.shuwei.dish.match.adapter.TextCellAdapter
//import com.shuwei.dish.match.databinding.ActivityDeviceConfigBinding //import com.shuwei.dish.match.databinding.ActivityDeviceConfigBinding
@@ -61,7 +61,7 @@
// //
// private lateinit var binding: ActivityDeviceConfigBinding // private lateinit var binding: ActivityDeviceConfigBinding
// //
// private lateinit var appViewModel: AppViewModel // private lateinit var appViewModel: DbViewModel
// //
// private var cookMode: Int = 0 // private var cookMode: Int = 0
//// private val weightArray = SparseIntArray() //// private val weightArray = SparseIntArray()
@@ -200,9 +200,9 @@
// private fun initViewModel() { // private fun initViewModel() {
// val db = BaseApp.instance!!.database // val db = BaseApp.instance!!.database
// val factory = // val factory =
// AppFactory(AppRepository(db.appDao())) // AppFactory(DbRepository(db.appDao()))
// appViewModel = // appViewModel =
// ViewModelProvider(this, factory)[AppViewModel::class.java] // ViewModelProvider(this, factory)[DbViewModel::class.java]
// } // }
// //
// private fun loadSeasoning() { // private fun loadSeasoning() {
@@ -15,7 +15,7 @@ import com.shuwei.dish.match.adapter.DishPartAdapter
import com.shuwei.dish.match.base.BaseActivity import com.shuwei.dish.match.base.BaseActivity
import com.shuwei.dish.match.base.BaseApp import com.shuwei.dish.match.base.BaseApp
import com.shuwei.dish.match.databinding.ActivityDishSamplingBinding import com.shuwei.dish.match.databinding.ActivityDishSamplingBinding
import com.shuwei.dish.match.db.AppRepository import com.shuwei.dish.match.db.DbRepository
import com.shuwei.dish.match.dialog.FoodSearchDialog import com.shuwei.dish.match.dialog.FoodSearchDialog
import com.shuwei.dish.match.dialog.CommonDialog import com.shuwei.dish.match.dialog.CommonDialog
import com.shuwei.dish.match.entity.CookFoodEntity import com.shuwei.dish.match.entity.CookFoodEntity
@@ -33,7 +33,7 @@ import com.shuwei.dish.match.utils.ext.startActivity
import com.shuwei.dish.match.utils.ext.toJsonString import com.shuwei.dish.match.utils.ext.toJsonString
import com.shuwei.dish.match.utils.ext.toast import com.shuwei.dish.match.utils.ext.toast
import com.shuwei.dish.match.utils.ext.visible import com.shuwei.dish.match.utils.ext.visible
import com.shuwei.dish.match.viewmodel.AppViewModel import com.shuwei.dish.match.viewmodel.DbViewModel
import com.shuwei.dish.match.viewmodel.factory.AppFactory import com.shuwei.dish.match.viewmodel.factory.AppFactory
import java.io.Serializable import java.io.Serializable
@@ -97,14 +97,14 @@ class DishSamplingActivity : BaseActivity() {
}) })
} }
private lateinit var appViewModel: AppViewModel private lateinit var appViewModel: DbViewModel
private fun initViewModel() { private fun initViewModel() {
val db = BaseApp.instance!!.database val db = BaseApp.instance!!.database
val factory = val factory =
AppFactory(AppRepository(db.appDao(), db.seasoningSlotDao())) AppFactory(DbRepository(db.appDao(), db.seasoningSlotDao()))
appViewModel = appViewModel =
ViewModelProvider(this, factory)[AppViewModel::class.java] ViewModelProvider(this, factory)[DbViewModel::class.java]
} }
fun getCookFoodList() { fun getCookFoodList() {
@@ -11,12 +11,12 @@ import com.shuwei.dish.match.adapter.HomeModeAdapter
import com.shuwei.dish.match.base.BaseActivity import com.shuwei.dish.match.base.BaseActivity
import com.shuwei.dish.match.base.BaseApp import com.shuwei.dish.match.base.BaseApp
import com.shuwei.dish.match.databinding.ActivityHomeBinding import com.shuwei.dish.match.databinding.ActivityHomeBinding
import com.shuwei.dish.match.db.AppRepository import com.shuwei.dish.match.db.DbRepository
import com.shuwei.dish.match.entity.HomeModeBean import com.shuwei.dish.match.entity.HomeModeBean
import com.shuwei.dish.match.utils.SpTool import com.shuwei.dish.match.utils.SpTool
import com.shuwei.dish.match.utils.ext.startActivity import com.shuwei.dish.match.utils.ext.startActivity
import com.shuwei.dish.match.utils.ext.toast import com.shuwei.dish.match.utils.ext.toast
import com.shuwei.dish.match.viewmodel.AppViewModel import com.shuwei.dish.match.viewmodel.DbViewModel
import com.shuwei.dish.match.viewmodel.factory.AppFactory import com.shuwei.dish.match.viewmodel.factory.AppFactory
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
@@ -136,12 +136,12 @@ class HomeActivity : BaseActivity() {
) )
} }
private lateinit var appViewModel: AppViewModel private lateinit var appViewModel: DbViewModel
private fun initViewModel() { private fun initViewModel() {
val db = BaseApp.instance!!.database val db = BaseApp.instance!!.database
val factory = AppFactory(AppRepository(db.appDao(), db.seasoningSlotDao())) val factory = AppFactory(DbRepository(db.appDao(), db.seasoningSlotDao()))
appViewModel = ViewModelProvider(this, factory)[AppViewModel::class.java] appViewModel = ViewModelProvider(this, factory)[DbViewModel::class.java]
} }
private fun goSampling() { private fun goSampling() {
@@ -16,7 +16,7 @@ import com.shuwei.dish.match.base.BaseApp
import com.shuwei.dish.match.base.DeviceRole import com.shuwei.dish.match.base.DeviceRole
import com.shuwei.dish.match.base.GlobalData import com.shuwei.dish.match.base.GlobalData
import com.shuwei.dish.match.databinding.ActivityInitBinding import com.shuwei.dish.match.databinding.ActivityInitBinding
import com.shuwei.dish.match.db.AppRepository import com.shuwei.dish.match.db.DbRepository
import com.shuwei.dish.match.objbox.FoodModule import com.shuwei.dish.match.objbox.FoodModule
import com.shuwei.dish.match.scale.ScaleServiceManager import com.shuwei.dish.match.scale.ScaleServiceManager
import com.shuwei.dish.match.utils.AppUtil import com.shuwei.dish.match.utils.AppUtil
@@ -27,7 +27,7 @@ import com.shuwei.dish.match.utils.WeightUtil
import com.shuwei.dish.match.utils.ext.gone import com.shuwei.dish.match.utils.ext.gone
import com.shuwei.dish.match.utils.ext.startActivity import com.shuwei.dish.match.utils.ext.startActivity
import com.shuwei.dish.match.utils.ext.visible import com.shuwei.dish.match.utils.ext.visible
import com.shuwei.dish.match.viewmodel.AppViewModel import com.shuwei.dish.match.viewmodel.DbViewModel
import com.shuwei.dish.match.viewmodel.factory.AppFactory import com.shuwei.dish.match.viewmodel.factory.AppFactory
import kotlinx.coroutines.delay import kotlinx.coroutines.delay
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
@@ -38,7 +38,7 @@ class InitActivity : BaseActivity() {
} }
private lateinit var binding: ActivityInitBinding private lateinit var binding: ActivityInitBinding
private lateinit var appViewModel: AppViewModel private lateinit var appViewModel: DbViewModel
private var startTime = 0L // 倒计时开始时间 private var startTime = 0L // 倒计时开始时间
private var lastNetworkCheckTime = 0L // 上次检测网络的时间 private var lastNetworkCheckTime = 0L // 上次检测网络的时间
@@ -70,8 +70,8 @@ class InitActivity : BaseActivity() {
private fun initViewModel() { private fun initViewModel() {
val db = BaseApp.instance!!.database val db = BaseApp.instance!!.database
val factory = AppFactory(AppRepository(db.appDao(), db.seasoningSlotDao())) val factory = AppFactory(DbRepository(db.appDao(), db.seasoningSlotDao()))
appViewModel = ViewModelProvider(this, factory)[AppViewModel::class.java] appViewModel = ViewModelProvider(this, factory)[DbViewModel::class.java]
} }
private fun startNextPage(withDelay: Boolean = false) { private fun startNextPage(withDelay: Boolean = false) {
@@ -26,9 +26,9 @@ import com.shuwei.dish.match.databinding.ListTypeScale18Binding
import com.shuwei.dish.match.databinding.ListTypeScale2Binding import com.shuwei.dish.match.databinding.ListTypeScale2Binding
import com.shuwei.dish.match.databinding.ListTypeScale22Binding import com.shuwei.dish.match.databinding.ListTypeScale22Binding
import com.shuwei.dish.match.base.BaseApp import com.shuwei.dish.match.base.BaseApp
import com.shuwei.dish.match.db.AppRepository import com.shuwei.dish.match.db.DbRepository
import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.ViewModelProvider
import com.shuwei.dish.match.viewmodel.AppViewModel import com.shuwei.dish.match.viewmodel.DbViewModel
import com.shuwei.dish.match.viewmodel.factory.AppFactory import com.shuwei.dish.match.viewmodel.factory.AppFactory
import com.shuwei.dish.match.databinding.ListItemScale22RowBinding import com.shuwei.dish.match.databinding.ListItemScale22RowBinding
import com.shuwei.dish.match.scale.ScaleData import com.shuwei.dish.match.scale.ScaleData
@@ -56,7 +56,7 @@ class MasterScaleActivity : BaseActivity() {
private lateinit var binding: ActivityMasterScaleBinding private lateinit var binding: ActivityMasterScaleBinding
private val size by lazy { SizeTool.getFlexLayoutSize(10.dp) } private val size by lazy { SizeTool.getFlexLayoutSize(10.dp) }
private lateinit var appViewModel: AppViewModel private lateinit var appViewModel: DbViewModel
private data class DeviceGroup( private data class DeviceGroup(
val deviceId: String, val deviceId: String,
val ip: String, val ip: String,
@@ -81,7 +81,7 @@ class MasterScaleActivity : BaseActivity() {
binding.rvScaleList.adapter = adapter binding.rvScaleList.adapter = adapter
val db = BaseApp.instance!!.database val db = BaseApp.instance!!.database
appViewModel = ViewModelProvider(this, AppFactory(AppRepository(db.appDao(), db.seasoningSlotDao())))[AppViewModel::class.java] appViewModel = ViewModelProvider(this, AppFactory(DbRepository(db.appDao(), db.seasoningSlotDao())))[DbViewModel::class.java]
loadSlotNames() loadSlotNames()
} }
@@ -17,7 +17,7 @@ import com.shuwei.dish.match.base.BaseActivity
import com.shuwei.dish.match.base.BaseApp import com.shuwei.dish.match.base.BaseApp
import com.shuwei.dish.match.databinding.ActivitySamplingBinding import com.shuwei.dish.match.databinding.ActivitySamplingBinding
import com.shuwei.dish.match.databinding.LayoutEmptyViewBinding import com.shuwei.dish.match.databinding.LayoutEmptyViewBinding
import com.shuwei.dish.match.db.AppRepository import com.shuwei.dish.match.db.DbRepository
import com.shuwei.dish.match.dialog.CommonDialog import com.shuwei.dish.match.dialog.CommonDialog
import com.shuwei.dish.match.entity.CookFoodEntity import com.shuwei.dish.match.entity.CookFoodEntity
import com.shuwei.dish.match.entity.FoodRecord import com.shuwei.dish.match.entity.FoodRecord
@@ -27,7 +27,7 @@ import com.shuwei.dish.match.utils.ext.gone
import com.shuwei.dish.match.utils.ext.startActivity import com.shuwei.dish.match.utils.ext.startActivity
import com.shuwei.dish.match.utils.ext.toast import com.shuwei.dish.match.utils.ext.toast
import com.shuwei.dish.match.utils.ext.visible import com.shuwei.dish.match.utils.ext.visible
import com.shuwei.dish.match.viewmodel.AppViewModel import com.shuwei.dish.match.viewmodel.DbViewModel
import com.shuwei.dish.match.viewmodel.factory.AppFactory import com.shuwei.dish.match.viewmodel.factory.AppFactory
import java.io.Serializable import java.io.Serializable
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
@@ -128,12 +128,12 @@ class SamplingListActivity : BaseActivity() {
} }
private lateinit var appViewModel: AppViewModel private lateinit var appViewModel: DbViewModel
private fun initViewModel() { private fun initViewModel() {
val db = BaseApp.instance!!.database val db = BaseApp.instance!!.database
val factory = AppFactory(AppRepository(db.appDao(), db.seasoningSlotDao())) val factory = AppFactory(DbRepository(db.appDao(), db.seasoningSlotDao()))
appViewModel = ViewModelProvider(this, factory)[AppViewModel::class.java] appViewModel = ViewModelProvider(this, factory)[DbViewModel::class.java]
} }
fun getCookFoodList() { fun getCookFoodList() {
@@ -10,7 +10,7 @@ import com.shuwei.dish.match.R
import com.shuwei.dish.match.base.BaseActivity import com.shuwei.dish.match.base.BaseActivity
import com.shuwei.dish.match.base.BaseApp import com.shuwei.dish.match.base.BaseApp
import com.shuwei.dish.match.databinding.ActivitySelectDishBinding import com.shuwei.dish.match.databinding.ActivitySelectDishBinding
import com.shuwei.dish.match.db.AppRepository import com.shuwei.dish.match.db.DbRepository
import com.shuwei.dish.match.dialog.CommonDialog import com.shuwei.dish.match.dialog.CommonDialog
import com.shuwei.dish.match.ui.fragment.DishListFragment import com.shuwei.dish.match.ui.fragment.DishListFragment
import com.shuwei.dish.match.utils.KeyboardUtil import com.shuwei.dish.match.utils.KeyboardUtil
@@ -19,7 +19,7 @@ import com.shuwei.dish.match.utils.ext.gone
import com.shuwei.dish.match.utils.ext.startActivity import com.shuwei.dish.match.utils.ext.startActivity
import com.shuwei.dish.match.utils.ext.toast import com.shuwei.dish.match.utils.ext.toast
import com.shuwei.dish.match.utils.ext.visible import com.shuwei.dish.match.utils.ext.visible
import com.shuwei.dish.match.viewmodel.AppViewModel import com.shuwei.dish.match.viewmodel.DbViewModel
import com.shuwei.dish.match.viewmodel.factory.AppFactory import com.shuwei.dish.match.viewmodel.factory.AppFactory
class SelectDishActivity : BaseActivity() { class SelectDishActivity : BaseActivity() {
@@ -32,7 +32,7 @@ class SelectDishActivity : BaseActivity() {
private lateinit var binding: ActivitySelectDishBinding private lateinit var binding: ActivitySelectDishBinding
lateinit var appViewModel: AppViewModel lateinit var appViewModel: DbViewModel
private set private set
private var dinnerType: String = "1" private var dinnerType: String = "1"
@@ -69,8 +69,8 @@ class SelectDishActivity : BaseActivity() {
private fun initViewModel() { private fun initViewModel() {
val db = BaseApp.instance!!.database val db = BaseApp.instance!!.database
val factory = AppFactory(AppRepository(db.appDao(), db.seasoningSlotDao())) val factory = AppFactory(DbRepository(db.appDao(), db.seasoningSlotDao()))
appViewModel = ViewModelProvider(this, factory)[AppViewModel::class.java] appViewModel = ViewModelProvider(this, factory)[DbViewModel::class.java]
} }
fun getCookFoodList() { fun getCookFoodList() {
@@ -7,13 +7,13 @@ import androidx.fragment.app.Fragment
import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.ViewModelProvider
import com.shuwei.dish.match.base.BaseActivity import com.shuwei.dish.match.base.BaseActivity
import com.shuwei.dish.match.base.BaseApp import com.shuwei.dish.match.base.BaseApp
import com.shuwei.dish.match.db.AppRepository import com.shuwei.dish.match.db.DbRepository
import com.shuwei.dish.match.ui.fragment.CollectFragment import com.shuwei.dish.match.ui.fragment.CollectFragment
import com.shuwei.dish.match.ui.fragment.DeviceConfigFragment import com.shuwei.dish.match.ui.fragment.DeviceConfigFragment
import com.shuwei.dish.match.ui.fragment.SeasoningConfigFragment import com.shuwei.dish.match.ui.fragment.SeasoningConfigFragment
import com.shuwei.dish.match.utils.ext.gone import com.shuwei.dish.match.utils.ext.gone
import com.shuwei.dish.match.utils.ext.visible import com.shuwei.dish.match.utils.ext.visible
import com.shuwei.dish.match.viewmodel.AppViewModel import com.shuwei.dish.match.viewmodel.DbViewModel
import com.shuwei.dish.match.viewmodel.factory.AppFactory import com.shuwei.dish.match.viewmodel.factory.AppFactory
/** /**
@@ -63,14 +63,14 @@ class SingleFragmentActivity : BaseActivity() {
lifecycleCallback = callback lifecycleCallback = callback
} }
lateinit var appViewModel: AppViewModel lateinit var appViewModel: DbViewModel
private set private set
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
val db = BaseApp.instance!!.database val db = BaseApp.instance!!.database
appViewModel = ViewModelProvider(this, AppFactory(AppRepository(db.appDao(), db.seasoningSlotDao())))[AppViewModel::class.java] appViewModel = ViewModelProvider(this, AppFactory(DbRepository(db.appDao(), db.seasoningSlotDao())))[DbViewModel::class.java]
setHeaderBackground() setHeaderBackground()
@@ -32,8 +32,8 @@ import com.shuwei.dish.match.utils.WeightUtil
import com.shuwei.dish.match.utils.ext.dp import com.shuwei.dish.match.utils.ext.dp
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.ViewModelProvider
import com.shuwei.dish.match.db.AppRepository import com.shuwei.dish.match.db.DbRepository
import com.shuwei.dish.match.viewmodel.AppViewModel import com.shuwei.dish.match.viewmodel.DbViewModel
import com.shuwei.dish.match.viewmodel.factory.AppFactory import com.shuwei.dish.match.viewmodel.factory.AppFactory
/** /**
@@ -66,7 +66,7 @@ class SlaveActivity : BaseActivity() {
private var clearHighlightRunnable: Runnable? = null private var clearHighlightRunnable: Runnable? = null
private val size by lazy { SizeTool.getFlexLayoutSize(10.dp) } private val size by lazy { SizeTool.getFlexLayoutSize(10.dp) }
private lateinit var appViewModel: AppViewModel private lateinit var appViewModel: DbViewModel
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
@@ -75,7 +75,7 @@ class SlaveActivity : BaseActivity() {
setHeaderBackground() setHeaderBackground()
val db = BaseApp.instance!!.database val db = BaseApp.instance!!.database
appViewModel = ViewModelProvider(this, AppFactory(AppRepository(db.appDao(), db.seasoningSlotDao())))[AppViewModel::class.java] appViewModel = ViewModelProvider(this, AppFactory(DbRepository(db.appDao(), db.seasoningSlotDao())))[DbViewModel::class.java]
binding.tvDeviceId.text = "设备:${GlobalData.deviceId}" binding.tvDeviceId.text = "设备:${GlobalData.deviceId}"
binding.tvDeviceIp.text = "IP${getLocalIpAddress()}" binding.tvDeviceIp.text = "IP${getLocalIpAddress()}"
@@ -15,7 +15,7 @@ import com.shuwei.dish.match.adapter.SeasoningWeightAdapter
import com.shuwei.dish.match.base.BaseActivity import com.shuwei.dish.match.base.BaseActivity
import com.shuwei.dish.match.base.BaseApp import com.shuwei.dish.match.base.BaseApp
import com.shuwei.dish.match.databinding.ActivitySubmitFoodBinding import com.shuwei.dish.match.databinding.ActivitySubmitFoodBinding
import com.shuwei.dish.match.db.AppRepository import com.shuwei.dish.match.db.DbRepository
import com.shuwei.dish.match.dialog.CommonDialog import com.shuwei.dish.match.dialog.CommonDialog
import com.shuwei.dish.match.entity.CookFoodEntity import com.shuwei.dish.match.entity.CookFoodEntity
import com.shuwei.dish.match.entity.CookFoodGoodsEntity import com.shuwei.dish.match.entity.CookFoodGoodsEntity
@@ -35,7 +35,7 @@ import com.shuwei.dish.match.utils.ext.toJsonString
import com.shuwei.dish.match.utils.ext.toType import com.shuwei.dish.match.utils.ext.toType
import com.shuwei.dish.match.utils.ext.toast import com.shuwei.dish.match.utils.ext.toast
import com.shuwei.dish.match.utils.ext.visible import com.shuwei.dish.match.utils.ext.visible
import com.shuwei.dish.match.viewmodel.AppViewModel import com.shuwei.dish.match.viewmodel.DbViewModel
import com.shuwei.dish.match.viewmodel.factory.AppFactory import com.shuwei.dish.match.viewmodel.factory.AppFactory
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.flow.collectLatest import kotlinx.coroutines.flow.collectLatest
@@ -406,12 +406,12 @@ class SubmitFoodActivity : BaseActivity() {
} }
} }
private lateinit var appViewModel: AppViewModel private lateinit var appViewModel: DbViewModel
private fun initViewModel() { private fun initViewModel() {
val db = BaseApp.instance!!.database val db = BaseApp.instance!!.database
val factory = AppFactory(AppRepository(db.appDao(), db.seasoningSlotDao())) val factory = AppFactory(DbRepository(db.appDao(), db.seasoningSlotDao()))
appViewModel = ViewModelProvider(this, factory)[AppViewModel::class.java] appViewModel = ViewModelProvider(this, factory)[DbViewModel::class.java]
} }
override fun onDestroy() { override fun onDestroy() {
@@ -39,7 +39,7 @@ class DeviceConfigFragment : BaseFragment<FragmentDeviceConfigBinding>() {
var modeDesc: String var modeDesc: String
) )
// private lateinit var appViewModel: AppViewModel // private lateinit var appViewModel: DbViewModel
// private val weightArray = SparseArray<Double>() // private val weightArray = SparseArray<Double>()
// private val addressArray = AddressUtil.getWeighAddressArray() // private val addressArray = AddressUtil.getWeighAddressArray()
@@ -66,8 +66,8 @@ class DeviceConfigFragment : BaseFragment<FragmentDeviceConfigBinding>() {
*/ */
private fun initViewModel() { private fun initViewModel() {
// val db = BaseApp.instance!!.database // val db = BaseApp.instance!!.database
// val factory = AppFactory(AppRepository(db.appDao())) // val factory = AppFactory(DbRepository(db.appDao()))
// appViewModel = ViewModelProvider(this, factory)[AppViewModel::class.java] // appViewModel = ViewModelProvider(this, factory)[DbViewModel::class.java]
} }
/** /**
@@ -48,7 +48,7 @@ class SeasoningConfigFragment : BaseFragment<FragmentSeasoningConfigBinding>() {
) = FragmentSeasoningConfigBinding.inflate(inflater, container, false) ) = FragmentSeasoningConfigBinding.inflate(inflater, container, false)
private lateinit var currentActivity: SingleFragmentActivity private lateinit var currentActivity: SingleFragmentActivity
// private lateinit var appViewModel: AppViewModel // private lateinit var appViewModel: DbViewModel
private val adapter22 by lazy { buildAdapter22() } private val adapter22 by lazy { buildAdapter22() }
private val adapter18 by lazy { private val adapter18 by lazy {
@@ -158,8 +158,8 @@ class SeasoningConfigFragment : BaseFragment<FragmentSeasoningConfigBinding>() {
// /** 初始化 ViewModel */ // /** 初始化 ViewModel */
// private fun initViewModel() { // private fun initViewModel() {
// val factory = AppFactory(AppRepository(BaseApp.instance!!.database.appDao())) // val factory = AppFactory(DbRepository(BaseApp.instance!!.database.appDao()))
// appViewModel = ViewModelProvider(this, factory)[AppViewModel::class.java] // appViewModel = ViewModelProvider(this, factory)[DbViewModel::class.java]
// } // }
@@ -2,7 +2,7 @@ package com.shuwei.dish.match.viewmodel
import androidx.lifecycle.ViewModel import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope import androidx.lifecycle.viewModelScope
import com.shuwei.dish.match.db.AppRepository import com.shuwei.dish.match.db.DbRepository
import com.shuwei.dish.match.entity.CookFoodEntity import com.shuwei.dish.match.entity.CookFoodEntity
import com.shuwei.dish.match.entity.CookFoodGoodsEntity import com.shuwei.dish.match.entity.CookFoodGoodsEntity
import com.shuwei.dish.match.entity.SeasoningEntity import com.shuwei.dish.match.entity.SeasoningEntity
@@ -15,7 +15,7 @@ import kotlinx.coroutines.sync.Mutex
import kotlinx.coroutines.sync.withLock import kotlinx.coroutines.sync.withLock
import kotlin.collections.forEach import kotlin.collections.forEach
class AppViewModel(private val rep: AppRepository) : ViewModel() { class DbViewModel(private val rep: DbRepository) : ViewModel() {
fun updateCookFood(entity: CookFoodEntity) { fun updateCookFood(entity: CookFoodEntity) {
viewModelScope.launch { viewModelScope.launch {
@@ -2,14 +2,14 @@ package com.shuwei.dish.match.viewmodel.factory
import androidx.lifecycle.ViewModel import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.ViewModelProvider
import com.shuwei.dish.match.db.AppRepository import com.shuwei.dish.match.db.DbRepository
import com.shuwei.dish.match.db.dao.SeasoningSlotDao import com.shuwei.dish.match.db.dao.SeasoningSlotDao
import com.shuwei.dish.match.viewmodel.AppViewModel import com.shuwei.dish.match.viewmodel.DbViewModel
@Suppress("UNCHECKED_CAST") @Suppress("UNCHECKED_CAST")
class AppFactory(private val repo: AppRepository) : ViewModelProvider.Factory { class AppFactory(private val repo: DbRepository) : ViewModelProvider.Factory {
override fun <T : ViewModel> create(modelClass: Class<T>): T { override fun <T : ViewModel> create(modelClass: Class<T>): T {
return AppViewModel(repo) as T return DbViewModel(repo) as T
} }
} }