Browse Source

Merge remote-tracking branch 'origin/master'

江天明 2 years ago
parent
commit
bf0b89e3e8

+ 11 - 1
BusinessAuth/src/main/java/com/develop/auth/ui/MemberProfileFragment.kt

@@ -29,7 +29,6 @@ class MemberProfileFragment : CommonBVMFragment<FragmentMemberProfileBinding, Me
     private var selectAge = 0
     private var selectGender = 2
 
-
     override fun createViewBinding(
         inflater: LayoutInflater, container: ViewGroup?
     ): FragmentMemberProfileBinding {
@@ -86,6 +85,17 @@ class MemberProfileFragment : CommonBVMFragment<FragmentMemberProfileBinding, Me
                     selectGender = userGender?.toInt() ?: 2
                     binding.etNickname.setText(userName ?: "")
                     viewModel.chooseAvatar.value = userAvatar?.toInt()
+                    if (selectGender == 2) {
+                        binding.tvChooseSex.text = "Male"
+                        binding.tvChooseSex.setTextColor(Color.BLACK)
+                    } else if (selectGender == 1) {
+                        binding.tvChooseSex.text = "Female"
+                        binding.tvChooseSex.setTextColor(Color.BLACK)
+                    }
+                    if (selectAge > 0) {
+                        binding.tvChooseAge.text = selectAge.toString()
+                        binding.tvChooseAge.setTextColor(Color.BLACK)
+                    }
                 }
             }
             perfectInfoLiveData.observe(viewLifecycleOwner) {

+ 16 - 18
BusinessAuth/src/main/java/com/develop/auth/viewmodel/MemberViewModel.kt

@@ -46,7 +46,6 @@ class MemberViewModel : BaseViewModel() {
         registerLiveData.postValue(AuthModel(false, it.message))
     }
 
-
     fun login(email: String, password: String, isFromRegister: Boolean = false) = scopeNetLife {
         Post<LoginResult>(Api.LOGIN) {
             body = LoginBody.genLoginBody(email, password)
@@ -54,19 +53,17 @@ class MemberViewModel : BaseViewModel() {
             MMkvUtils.save(API_TOKEN, token)
             MMkvUtils.save(LOGIN_TAG, true)
             MMkvUtils.save(CURRENT_USER_ID_TAG, user.id.toLong())
-            FoodDataProvider.getUserDatabase().runInTransaction {
-                user.apply {
-                    val userInfo = UserInfo(
-                        id.toLong(), account, portrait, gender, age
-                    )
-                    FoodDataProvider.getUserDatabase().userInfoDao().updateUserInfo(userInfo)
+            user.apply {
+                val userInfo = UserInfo(
+                    id.toLong(), account, portrait, gender, age
+                )
+                FoodDataProvider.getUserDatabase().userInfoDao().updateUserInfo(userInfo)
+                if (isFromRegister) {
+                    registerLiveData.postValue(AuthModel(true))
+                } else {
+                    loginLiveData.postValue(AuthModel(true))
                 }
-
-            }
-            if (isFromRegister) {
-                registerLiveData.postValue(AuthModel(true))
-            } else {
-                loginLiveData.postValue(AuthModel(true))
+                userInfoLiveData.postValue(userInfo)
             }
         }
     }.catch {
@@ -122,6 +119,7 @@ class MemberViewModel : BaseViewModel() {
                     user.age
                 )
                 FoodDataProvider.getUserDatabase().userInfoDao().updateUserInfo(userInfo)
+                userInfoLiveData.postValue(userInfo)
             }
         }
     }.catch {
@@ -129,11 +127,11 @@ class MemberViewModel : BaseViewModel() {
     }
 
     fun queryUserInfo() {
-        FoodDataProvider.getUserDatabase().runInTransaction {
-            val result = FoodDataProvider.getUserDatabase().userInfoDao()
-                .queryUserInfoByUserId(CURRENT_USER_ID)
-            userInfoLiveData.postValue(result)
-        }
+        val result = FoodDataProvider
+            .getUserDatabase()
+            .userInfoDao()
+            .queryUserInfoByUserId(CURRENT_USER_ID)
+        userInfoLiveData.postValue(result)
     }
 }
 

+ 1 - 1
BusinessCommon/src/main/java/com/develop/common/data_repo/FoodDataProvider.kt

@@ -27,7 +27,7 @@ import java.util.concurrent.CountDownLatch
  * 全局管理数据
  */
 object FoodDataProvider {
-    private val SYSTEM_MODE = !BuildConfig.DEBUG
+    private val SYSTEM_MODE = BuildConfig.DEBUG
     private val RES_DST_PARENT = if (SYSTEM_MODE) {
         Environment.getExternalStorageDirectory()
     } else {

+ 4 - 0
BusinessCommon/src/main/java/com/develop/common/data_repo/net/interceptor/FoodRequestInterceptor.kt

@@ -2,6 +2,8 @@ package com.develop.common.data_repo.net.interceptor
 
 import com.blankj.utilcode.util.AppUtils
 import com.develop.base.ext.getSN
+import com.develop.base.util.MMkvUtils
+import com.develop.common.tag.API_TOKEN
 import com.drake.net.interceptor.RequestInterceptor
 import com.drake.net.request.BaseRequest
 
@@ -10,11 +12,13 @@ class FoodRequestInterceptor : RequestInterceptor {
 
     /** 本方法每次请求发起都会调用, 这里添加的参数可以是动态参数 */
     override fun interceptor(request: BaseRequest) {
+        val token = MMkvUtils.getString(API_TOKEN) ?: ""
         request.apply {
             addHeader("sn", getSN())
             addHeader("apkVersion", AppUtils.getAppVersionName())
             addHeader("mcuVersion", "1.0")
             addHeader("Connection","close")
+            addHeader("token", token)
         }
     }
 }

+ 5 - 1
BusinessCommon/src/main/java/com/develop/common/dialog/NoteEditDialog.kt

@@ -6,6 +6,7 @@ import android.view.View
 import android.view.ViewGroup
 import com.blankj.utilcode.util.KeyboardUtils
 import com.develop.base.mvvm.FullScreenTransparentDialog
+import com.develop.base.util.MMkvUtils
 import com.develop.common.databinding.ItemNoteDialogBinding
 
 
@@ -18,6 +19,7 @@ class NoteEditDialog: FullScreenTransparentDialog() {
         container: ViewGroup?,
         savedInstanceState: Bundle?
     ): View {
+        isCancelable = true
         binding = ItemNoteDialogBinding.inflate(
             inflater, container, false
         )
@@ -25,11 +27,13 @@ class NoteEditDialog: FullScreenTransparentDialog() {
             KeyboardUtils.hideSoftInput(binding.etNote)
         }
         binding.viewComplete.setOnClickListener {
+            MMkvUtils.save("note_text", binding.etNote.text?.toString())
             dismissAllowingStateLoss()
         }
         binding.viewEdit.setOnClickListener {
-            dismissAllowingStateLoss()
+            binding.etNote.text?.clear()
         }
+        binding.etNote.setText(MMkvUtils.getString("note_text"))
         return binding.root
     }
 

+ 1 - 1
BusinessCommon/src/main/java/com/develop/common/tag/CommonTag.kt

@@ -43,4 +43,4 @@ const val TURN_UP_KEY_CODE = 19
 const val TURN_DOWN_KEY_CODE = 20
 const val PRESS_DOWN_KEY_CODE = 66
 
-val CURRENT_USER_ID = MMkvUtils.getLong(CURRENT_USER_ID_TAG) ?: 10001L
+val CURRENT_USER_ID get() = MMkvUtils.getLong(CURRENT_USER_ID_TAG)

+ 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_120px"
+        android:layout_marginTop="@dimen/convert_60px"
         android:background="@drawable/bg_cook_note">
 
         <TextView

+ 42 - 0
BusinessStep/src/main/java/com/develop/step/ui/cook_step/CookStepActivity.kt

@@ -5,6 +5,7 @@ import android.os.Bundle
 import android.util.Log
 import android.view.KeyEvent
 import android.view.View
+import android.widget.Toast
 import com.alibaba.android.arouter.facade.annotation.Autowired
 import com.develop.base.ext.load
 import com.alibaba.android.arouter.facade.annotation.Route
@@ -89,6 +90,47 @@ class CookStepActivity : CookStepBaseActivity() {
                 binding.viewAlarm.setBackgroundResource(R.drawable.ic_alarm)
             }
         }
+        binding.viewChangeWeight.setOnClickListener {
+            val weightSelected = binding.viewChangeWeight.isSelected
+            if (weightSelected) {
+                CofarSDK.stoptWeight()
+                viewModel.setDisplayStep(viewModel.stepIndex, force = true)
+            } else {
+                binding.ivPrevStep.setGone()
+                binding.ivNextStep.setGone()
+                CofarSDK.changeMode(
+                    "$recipeNumber:${viewModel.stepIndex}",
+                    CofarSDK.devMode("WEIGHT")
+                )
+                changeWeightPanel()
+                CofarSDK.stoptWeight()
+                CofarSDK.startWeight()
+            }
+            binding.viewChangeWeight.isSelected = !weightSelected
+            binding.viewChangeCrush.isSelected = false
+        }
+        binding.viewChangeCrush.setOnClickListener {
+            if (CofarSDK.devInfo().status == DevStatus.RUNNING.toInt()) {
+                Toast.makeText(this, "Step is running!", Toast.LENGTH_SHORT).show()
+                return@setOnClickListener
+            }
+            val turboSelected = binding.viewChangeCrush.isSelected
+            if (turboSelected) {
+                CofarSDK.stoptWeight()
+                viewModel.setDisplayStep(viewModel.stepIndex, force = true)
+            } else {
+                binding.ivPrevStep.setGone()
+                binding.ivNextStep.setGone()
+                CofarSDK.changeMode(
+                    "$recipeNumber:${viewModel.stepIndex}",
+                    CofarSDK.devMode("TURBO")
+                )
+                CofarSDK.stoptWeight()
+                changeTurboPanel()
+            }
+            binding.viewChangeWeight.isSelected = false
+            binding.viewChangeCrush.isSelected = !turboSelected
+        }
         initData()
     }
 

+ 2 - 0
BusinessStep/src/main/java/com/develop/step/ui/cook_step/CookStepBaseActivity.kt

@@ -231,6 +231,8 @@ abstract class CookStepBaseActivity :
 
     fun changeTurboPanel() {
         changeTempSettingPanel()
+        binding.controller.tempRingView.visibility = View.GONE
+        binding.controller.tvRingTempText.visibility = View.GONE
         binding.ivTurboView.visibility = View.VISIBLE
     }
 

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

@@ -82,10 +82,10 @@ class CookStepViewModel:BaseViewModel() {
         }
     }
 
-    fun setDisplayStep(index: Int) {
+    fun setDisplayStep(index: Int, force: Boolean = false) {
         stepIndex = index
         allSteps.getOrNull(stepIndex)?.let {
-            if (stepDisplay.value != it) {
+            if (stepDisplay.value != it || force) {
                 stepDisplay.value = it
             }
         }

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

@@ -82,6 +82,7 @@
         android:textSize="@dimen/convert_26px"
         android:lineSpacingExtra="10dp"
         android:ellipsize="end"
+        android:maxLines="4"
         app:layout_constraintStart_toStartOf="parent"
         app:layout_constraintTop_toBottomOf="@+id/cl_status_bar"/>
 
@@ -117,6 +118,7 @@
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:orientation="vertical"
+        android:visibility="gone"
         app:layout_constraintBottom_toBottomOf="parent">
 
         <TextView
@@ -159,7 +161,7 @@
     </androidx.constraintlayout.widget.ConstraintLayout>
 
     <ImageView
-        android:visibility="visible"
+        android:visibility="gone"
         android:id="@+id/iv_turbo_view"
         android:layout_width="@dimen/convert_170px"
         android:layout_height="@dimen/convert_170px"

+ 15 - 7
BusinessStep/src/main/res/layout/item_cook_source.xml

@@ -1,19 +1,25 @@
 <?xml version="1.0" encoding="utf-8"?>
-<FrameLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="@dimen/convert_83px"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
     android:paddingStart="@dimen/convert_7px"
     xmlns:tools="http://schemas.android.com/tools">
 
     <TextView
         android:id="@+id/tv_source_name"
-        android:layout_width="wrap_content"
+        android:layout_width="0dp"
         android:layout_height="wrap_content"
         android:textSize="@dimen/convert_30px"
         android:textColor="#1A1A1A"
         android:layout_marginTop="@dimen/convert_21px"
-        tools:text="AAAAAAA"/>
+        tools:text="AAAAAAA"
+        android:layout_marginEnd="@dimen/convert_16px"
+        android:maxLines="1"
+        android:ellipsize="end"
+        app:layout_constraintEnd_toStartOf="@+id/tv_source_amount"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toTopOf="parent"/>
 
     <TextView
         android:id="@+id/tv_source_amount"
@@ -23,12 +29,14 @@
         android:textColor="#E83F97"
         android:layout_marginTop="@dimen/convert_21px"
         android:layout_gravity="end"
-        tools:text="AAAAAAA"/>
+        tools:text="AAAAAAA"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintTop_toTopOf="parent"/>
 
     <View
         android:layout_width="match_parent"
         android:layout_height="1px"
         android:background="#E4E4E4"
-        android:layout_gravity="bottom"/>
+        app:layout_constraintBottom_toBottomOf="parent"/>
 
-</FrameLayout>
+</androidx.constraintlayout.widget.ConstraintLayout>

+ 1 - 0
app/src/main/AndroidManifest.xml

@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:tools="http://schemas.android.com/tools"
+    android:sharedUserId="android.uid.system"
     package="com.develop.foodcooking">
 
     <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />

+ 5 - 1
libBase/src/main/java/com/develop/base/ext/GlobaExt.kt

@@ -5,6 +5,8 @@ import android.app.Application
 import android.content.res.Resources
 import android.graphics.Bitmap
 import android.graphics.BitmapFactory
+import android.graphics.Color
+import android.graphics.drawable.ColorDrawable
 import android.graphics.drawable.Drawable
 import android.os.Build
 import android.text.TextUtils
@@ -13,6 +15,7 @@ import android.widget.ImageView
 import androidx.annotation.DimenRes
 import androidx.core.content.ContextCompat
 import com.bumptech.glide.Glide
+import com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions
 import com.develop.base.app.BaseApp
 import kotlinx.serialization.decodeFromString
 import kotlinx.serialization.encodeToString
@@ -178,6 +181,7 @@ fun ImageView.load(data: Any?) {
 
 fun ImageView.load(data: Any?, error: Int) {
     Glide.with(this.context).load(data)
-        .placeholder(error)
+        .error(error)
+        .transition(DrawableTransitionOptions.withCrossFade())
         .into(this)
 }