|
@@ -10,20 +10,25 @@ import com.develop.base.ext.fromJson
|
|
|
import com.develop.base.ext.globalApp
|
|
|
import com.develop.base.mvvm.BaseViewModel
|
|
|
import com.develop.base.util.FileKit
|
|
|
+import com.develop.base.util.MMkvUtils
|
|
|
import com.develop.base.util.ThreadUtils
|
|
|
import com.develop.common.data_repo.FoodDataProvider
|
|
|
import com.develop.common.data_repo.db.entity.DevAccessory
|
|
|
import com.develop.common.data_repo.db.entity.DevRecipePortionSize
|
|
|
import com.develop.common.data_repo.db.entity.UserOnLineRecipes
|
|
|
import com.develop.common.data_repo.net.Api
|
|
|
+import com.develop.common.data_repo.net.converter.SerializationConverter
|
|
|
import com.develop.common.data_repo.net.model.response.RecipeDataConfig
|
|
|
import com.develop.common.data_repo.net.model.response.RecipeDetailResult
|
|
|
+import com.develop.common.tag.CURRENT_LANGUAGE
|
|
|
import com.develop.common.tag.CURRENT_USER_ID
|
|
|
import com.develop.common.utils.Resource
|
|
|
import com.develop.step.ui.recipes_detail.model.CookDetailInfo
|
|
|
import com.drake.net.Get
|
|
|
import com.drake.net.component.Progress
|
|
|
import com.drake.net.interfaces.ProgressListener
|
|
|
+import kotlinx.serialization.decodeFromString
|
|
|
+import kotlinx.serialization.json.Json
|
|
|
import java.io.File
|
|
|
|
|
|
class CookDetailViewModel : BaseViewModel() {
|
|
@@ -53,7 +58,11 @@ class CookDetailViewModel : BaseViewModel() {
|
|
|
this.recipeNumber = number
|
|
|
if (remote) {
|
|
|
scopeNetLife {
|
|
|
- Get<RecipeDetailResult>(Api.GET_RECIPES_DETAIL).await().apply {
|
|
|
+ Get<RecipeDetailResult>(Api.GET_RECIPES_DETAIL) {
|
|
|
+ addQuery("recipeNumber", number)
|
|
|
+ addQuery("recipeEditon", recipesEdition)
|
|
|
+ addQuery("lang", MMkvUtils.getString(CURRENT_LANGUAGE) ?: "EN")
|
|
|
+ }.await().apply {
|
|
|
mRecipeUrl = recipeUrl
|
|
|
val detailInfo = CookDetailInfo(
|
|
|
devRecipe,
|
|
@@ -190,7 +199,7 @@ class CookDetailViewModel : BaseViewModel() {
|
|
|
return
|
|
|
}
|
|
|
val jsonContent = FileKit.readFileToString(jsonFile)
|
|
|
- val contentData = jsonContent.fromJson() as RecipeDataConfig
|
|
|
+ val contentData = SerializationConverter.jsonDecoder.decodeFromString(jsonContent) as RecipeDataConfig
|
|
|
contentData.resetAllCodes()
|
|
|
FoodDataProvider.getDatabase().runInTransaction {
|
|
|
FoodDataProvider.getDatabase().recipeDao().apply {
|