Browse Source

提交人:jtm
提交内容:部分bug fix

liangwenhao1@meizu.com 2 years ago
parent
commit
6b3059a8bd
27 changed files with 28 additions and 13 deletions
  1. 3 0
      BusinessCommon/src/main/java/com/develop/common/data_repo/net/converter/SerializationConverter.kt
  2. 0 1
      BusinessCommon/src/main/java/com/develop/common/data_repo/net/model/response/RecipeDetailResult.kt
  3. 4 3
      BusinessCommon/src/main/java/com/develop/common/dialog/NoteEditDialog.kt
  4. 0 0
      BusinessCommon/src/main/res/drawable-xxhdpi/ic_cook_back.png
  5. BIN
      BusinessCommon/src/main/res/drawable-xxhdpi/ic_cook_detail_back.png
  6. BIN
      BusinessCommon/src/main/res/drawable-xxhdpi/ic_cook_quick.png
  7. BIN
      BusinessCommon/src/main/res/drawable-xxhdpi/ic_cook_rotate.png
  8. BIN
      BusinessCommon/src/main/res/drawable-xxhdpi/ic_cook_temp.png
  9. BIN
      BusinessCommon/src/main/res/drawable-xxhdpi/ic_cook_time.png
  10. BIN
      BusinessCommon/src/main/res/drawable-xxhdpi/ic_cooking_crush_small.png
  11. BIN
      BusinessCommon/src/main/res/drawable-xxhdpi/ic_cooking_remark.png
  12. BIN
      BusinessCommon/src/main/res/drawable-xxhdpi/ic_cooking_weight.png
  13. BIN
      BusinessCommon/src/main/res/drawable-xxxhdpi/ic_cook_detail_back.png
  14. BIN
      BusinessCommon/src/main/res/drawable-xxxhdpi/ic_cook_quick.png
  15. BIN
      BusinessCommon/src/main/res/drawable-xxxhdpi/ic_cook_rotate.png
  16. BIN
      BusinessCommon/src/main/res/drawable-xxxhdpi/ic_cook_temp.png
  17. BIN
      BusinessCommon/src/main/res/drawable-xxxhdpi/ic_cook_time.png
  18. BIN
      BusinessCommon/src/main/res/drawable-xxxhdpi/ic_cooking_crush_small.png
  19. BIN
      BusinessCommon/src/main/res/drawable-xxxhdpi/ic_cooking_remark.png
  20. BIN
      BusinessCommon/src/main/res/drawable-xxxhdpi/ic_cooking_weight.png
  21. 1 1
      BusinessCommon/src/main/res/layout/item_note_dialog.xml
  22. 1 1
      BusinessStep/src/main/java/com/develop/step/ui/recipes_detail/CookDetailActivity.kt
  23. 11 2
      BusinessStep/src/main/java/com/develop/step/viewmodel/CookDetailViewModel.kt
  24. 2 2
      BusinessStep/src/main/res/layout/activity_cook_detail.xml
  25. 2 2
      BusinessStep/src/main/res/layout/fragment_detail_cook_desc.xml
  26. 3 1
      BusinessStep/src/main/res/layout/fragment_detail_cook_method.xml
  27. 1 0
      BusinessStep/src/main/res/layout/item_cook_tool.xml

+ 3 - 0
BusinessCommon/src/main/java/com/develop/common/data_repo/net/converter/SerializationConverter.kt

@@ -9,6 +9,7 @@ import com.drake.net.exception.RequestParamsException
 import com.drake.net.exception.ResponseException
 import com.drake.net.exception.ServerResponseException
 import com.drake.net.request.kType
+import kotlinx.serialization.ExperimentalSerializationApi
 import kotlinx.serialization.json.Json
 import kotlinx.serialization.serializer
 import okhttp3.Response
@@ -28,7 +29,9 @@ class SerializationConverter(
 ) : NetConverter {
 
     companion object {
+        @OptIn(ExperimentalSerializationApi::class)
         val jsonDecoder = Json {
+            explicitNulls = false
             ignoreUnknownKeys = true // JSON和数据模型字段可以不匹配
             coerceInputValues = true // 如果JSON字段是Null则使用默认值
         }

+ 0 - 1
BusinessCommon/src/main/java/com/develop/common/data_repo/net/model/response/RecipeDetailResult.kt

@@ -10,7 +10,6 @@ data class RecipeDetailResult(
     val devRecipeFoods: List<DevRecipeFood>,
     val devRecipeNutritions: List<DevRecipeNutrition>,
     val devRecipePortionSizes: List<DevRecipePortionSize>,
-    val recipeAccessorys: List<DevRecipeAccessory>,
     val recipeUrl: String
 )
 @Serializable

+ 4 - 3
BusinessCommon/src/main/java/com/develop/common/dialog/NoteEditDialog.kt

@@ -4,6 +4,7 @@ import android.os.Bundle
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
+import com.blankj.utilcode.util.KeyboardUtils
 import com.develop.base.mvvm.FullScreenTransparentDialog
 import com.develop.common.databinding.ItemNoteDialogBinding
 
@@ -21,13 +22,13 @@ class NoteEditDialog: FullScreenTransparentDialog() {
             inflater, container, false
         )
         binding.root.setOnClickListener {
-              removeSelf()
+            KeyboardUtils.hideSoftInput(binding.etNote)
         }
         binding.viewComplete.setOnClickListener {
-              removeSelf()
+            removeSelf()
         }
         binding.viewEdit.setOnClickListener {
-              removeSelf()
+            removeSelf()
         }
         return binding.root
     }

BusinessCommon/src/main/res/drawable-xxxhdpi/ic_cook_back.png → BusinessCommon/src/main/res/drawable-xxhdpi/ic_cook_back.png


BIN
BusinessCommon/src/main/res/drawable-xxhdpi/ic_cook_detail_back.png


BIN
BusinessCommon/src/main/res/drawable-xxhdpi/ic_cook_quick.png


BIN
BusinessCommon/src/main/res/drawable-xxhdpi/ic_cook_rotate.png


BIN
BusinessCommon/src/main/res/drawable-xxhdpi/ic_cook_temp.png


BIN
BusinessCommon/src/main/res/drawable-xxhdpi/ic_cook_time.png


BIN
BusinessCommon/src/main/res/drawable-xxhdpi/ic_cooking_crush_small.png


BIN
BusinessCommon/src/main/res/drawable-xxhdpi/ic_cooking_remark.png


BIN
BusinessCommon/src/main/res/drawable-xxhdpi/ic_cooking_weight.png


BIN
BusinessCommon/src/main/res/drawable-xxxhdpi/ic_cook_detail_back.png


BIN
BusinessCommon/src/main/res/drawable-xxxhdpi/ic_cook_quick.png


BIN
BusinessCommon/src/main/res/drawable-xxxhdpi/ic_cook_rotate.png


BIN
BusinessCommon/src/main/res/drawable-xxxhdpi/ic_cook_temp.png


BIN
BusinessCommon/src/main/res/drawable-xxxhdpi/ic_cook_time.png


BIN
BusinessCommon/src/main/res/drawable-xxxhdpi/ic_cooking_crush_small.png


BIN
BusinessCommon/src/main/res/drawable-xxxhdpi/ic_cooking_remark.png


BIN
BusinessCommon/src/main/res/drawable-xxxhdpi/ic_cooking_weight.png


+ 1 - 1
BusinessCommon/src/main/res/layout/item_note_dialog.xml

@@ -9,7 +9,7 @@
         android:layout_width="@dimen/convert_550px"
         android:layout_height="@dimen/convert_360px"
         android:layout_gravity="center_horizontal"
-        android:layout_marginTop="@dimen/convert_170px"
+        android:layout_marginTop="@dimen/convert_120px"
         android:background="@drawable/bg_cook_note">
 
         <TextView

+ 1 - 1
BusinessStep/src/main/java/com/develop/step/ui/recipes_detail/CookDetailActivity.kt

@@ -106,7 +106,7 @@ class CookDetailActivity : CommonBVMActivity<ActivityCookDetailBinding, CookDeta
         }
         viewModel.portionSizeLiveData.observe(this) {
             val jarsCount =
-                (it.portionSize ?: 1).toString() + " " + getString(com.develop.common.R.string.jar)
+                (it?.portionSize ?: 1).toString() + " " + getString(com.develop.common.R.string.jar)
             binding.tvJarCount.text = jarsCount
         }
     }

+ 11 - 2
BusinessStep/src/main/java/com/develop/step/viewmodel/CookDetailViewModel.kt

@@ -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 {

+ 2 - 2
BusinessStep/src/main/res/layout/activity_cook_detail.xml

@@ -216,7 +216,7 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:textColor="#fff"
-            android:textSize="@dimen/convert_54px"
+            android:textSize="@dimen/convert_36px"
             android:text="0%"
             android:visibility="gone"
             android:includeFontPadding="false"
@@ -230,7 +230,7 @@
             android:id="@+id/tv_download_state"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:textSize="@dimen/convert_36px"
+            android:textSize="@dimen/convert_26px"
             android:textColor="#fff"
             android:text="@string/downloading"
             android:visibility="gone"

+ 2 - 2
BusinessStep/src/main/res/layout/fragment_detail_cook_desc.xml

@@ -4,7 +4,8 @@
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     xmlns:app="http://schemas.android.com/apk/res-auto"
-    android:paddingHorizontal="@dimen/convert_50px">
+    android:paddingHorizontal="@dimen/convert_50px"
+    android:paddingTop="@dimen/convert_40px">
 
     <TextView
         android:id="@+id/tv_step_detail"
@@ -14,7 +15,6 @@
         android:textSize="@dimen/convert_28px"
         android:textColor="#1A1A1A"
         android:lineSpacingExtra="@dimen/convert_10px"
-        android:layout_marginTop="@dimen/convert_40px"
         app:layout_constraintStart_toStartOf="parent"
         app:layout_constraintTop_toTopOf="parent"/>
 

+ 3 - 1
BusinessStep/src/main/res/layout/fragment_detail_cook_method.xml

@@ -3,13 +3,15 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:clipToPadding="false">
+    android:clipToPadding="false"
+    android:clipChildren="false">
 
     <androidx.recyclerview.widget.RecyclerView
         android:id="@+id/rv_tools"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:clipToPadding="false"
+        android:clipChildren="false"
         android:layout_marginTop="@dimen/convert_38px"/>
 
 </FrameLayout>

+ 1 - 0
BusinessStep/src/main/res/layout/item_cook_tool.xml

@@ -5,6 +5,7 @@
     android:layout_height="wrap_content"
     android:orientation="vertical"
     android:paddingBottom="@dimen/convert_24px"
+    android:clipChildren="false"
     xmlns:tools="http://schemas.android.com/tools">
 
     <ImageView