diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 66527f8..2b665a1 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -65,15 +65,15 @@
android:launchMode="singleTask"
android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" />
-
-
+
+
+
+
+
+
+
+
+
) :
companion object {
fun loadCell(tvCell: TextView, item: SeasoningEntity) {
+ tvCell.text = getTextSpan(item)
+ }
+ fun loadCell2(tvCell: TextView, item: SeasoningEntity) {
if (item.goodsName.isNullOrBlank()) {
tvCell.run {
text = buildSpannableString {
@@ -97,14 +100,14 @@ class TextCellAdapter(var list: MutableList) :
fun getTextSpan(item: SeasoningEntity): SpannableStringBuilder {
val endIndex = if (item.sort == 10 || item.sort == 14) 10 else 6
- var name = item.goodsName!!
+ var name = if (item.goodsName.isNullOrBlank()) "未配置" else item.goodsName!!
if (name.length > endIndex) {
name = "${name.substring(0, endIndex)}…"
}
return buildSpannableString {
appendText(
name,
- ForegroundColorSpan("#000000".toColorInt()),
+ ForegroundColorSpan(if (item.goodsName.isNullOrBlank()) "#999999".toColorInt() else "#000000".toColorInt()),
StyleSpan(Typeface.BOLD),
AbsoluteSizeSpan(28, true),
LineHeightSpan { text, start, end, spanstartv, v, fm ->
diff --git a/app/src/main/java/com/shuwei/dish/match/ui/DeviceConfigActivity.kt b/app/src/main/java/com/shuwei/dish/match/ui/DeviceConfigActivity.kt
index 371cfb1..3bd01b2 100644
--- a/app/src/main/java/com/shuwei/dish/match/ui/DeviceConfigActivity.kt
+++ b/app/src/main/java/com/shuwei/dish/match/ui/DeviceConfigActivity.kt
@@ -7,6 +7,7 @@ import android.text.style.AbsoluteSizeSpan
import android.text.style.ForegroundColorSpan
import android.text.style.LineHeightSpan
import android.text.style.StyleSpan
+import android.util.SparseIntArray
import android.widget.TextView
import androidx.core.graphics.toColorInt
import androidx.core.view.forEach
@@ -18,7 +19,7 @@ import com.shuwei.dish.match.db.AppRepository
import com.shuwei.dish.match.dialog.CommonDialog
import com.shuwei.dish.match.entity.SeasoningEntity
import com.shuwei.dish.match.entity.ResetReasoningRecord
-import com.shuwei.dish.match.utils.DataUtil
+import com.shuwei.dish.match.utils.AddressUtil
import com.shuwei.dish.match.utils.JsonAssetsLoader
import com.shuwei.dish.match.utils.MultiClickDetector
import com.shuwei.dish.match.utils.WeightUtil
@@ -61,6 +62,8 @@ class DeviceConfigActivity : BaseActivity() {
private lateinit var appViewModel: AppViewModel
private var cookMode: Int = 0
+ private val weightArray = SparseIntArray()
+ private val addressArray = AddressUtil.getWeighAddressArray()
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
@@ -126,11 +129,21 @@ class DeviceConfigActivity : BaseActivity() {
}
addGridItemListener()
loadSeasoning()
+ addWeighListener()
+ }
+
+ private fun addWeighListener() {
+ WeightUtil.addWeightListener { address, state, weight ->
+ weightArray.put(address, weight)
+ val item = seasoningItems.firstOrNull { address == addressArray[it.sort]}
+ item?.useWeight = weight.toDouble()
+ setGridData(seasoningItems)
+ }
}
private var seasoningItems = mutableListOf()
private fun addGridItemListener() {
- binding.include.root.forEach { child->
+ binding.include.root.forEach { child ->
(child as TextView).run {
clickWithDebounce {
val sort = tag.toString().toInt()
@@ -167,8 +180,7 @@ class DeviceConfigActivity : BaseActivity() {
this,
"default_seasoning_list.json"
)
- val addressArray = DataUtil.getWeighAddressArray()
- val weightArray = WeightUtil.weightArray
+// val weightArray = WeightUtil.weightArray
appViewModel.clearAllSeasoning {
record?.list?.forEach { entity ->
entity.useWeight = weightArray[addressArray[entity.sort]].toDouble()
@@ -197,8 +209,8 @@ class DeviceConfigActivity : BaseActivity() {
}
private fun initConfigData() {
- repeat(12) {num->
- val firstOne = seasoningItems.firstOrNull {it.sort == num}
+ repeat(12) { num ->
+ val firstOne = seasoningItems.firstOrNull { it.sort == num }
if (firstOne == null) {
seasoningItems.add(SeasoningEntity().also { it.sort = num })
}
@@ -215,7 +227,7 @@ class DeviceConfigActivity : BaseActivity() {
}
private fun clickGridItem(sort: Int, entity: SeasoningEntity) {
- val currentAddress = DataUtil.getWeighAddressArray().get(sort)
+ val currentAddress = AddressUtil.getWeighAddressArray().get(sort)
// val seasoningEntity = list.first{it.sort == sort}
BottomDialog2(
weighIndex = sort,
diff --git a/app/src/main/java/com/shuwei/dish/match/ui/DishSamplingActivity.kt b/app/src/main/java/com/shuwei/dish/match/ui/DishSamplingActivity.kt
index fef7803..d6a5b29 100644
--- a/app/src/main/java/com/shuwei/dish/match/ui/DishSamplingActivity.kt
+++ b/app/src/main/java/com/shuwei/dish/match/ui/DishSamplingActivity.kt
@@ -20,6 +20,7 @@ import com.shuwei.dish.match.dialog.CommonDialog
import com.shuwei.dish.match.entity.CookFoodEntity
import com.shuwei.dish.match.entity.CookFoodGoodsEntity
import com.shuwei.dish.match.entity.FoodRecord
+import com.shuwei.dish.match.utils.AddressUtil
import com.shuwei.dish.match.utils.KeyboardUtil
import com.shuwei.dish.match.utils.WeightUtil
import com.shuwei.dish.match.utils.ext.addOnActionSearchListener
@@ -140,9 +141,11 @@ class DishSamplingActivity : BaseActivity() {
private val dishAdapter by lazy {
DishPartAdapter(list).apply {
- addOnItemChildClickListener(R.id.ivOperateIcon) { _, _, positon ->
+ addOnItemChildClickListener(R.id.ivOperateIcon) { _, _, position ->
//删除操作
- removeAt(positon)
+ list.removeAt(position)
+ notifyItemRemoved(position)
+ notifyItemRangeChanged(position, list.size - position)
}
}
}
@@ -178,7 +181,7 @@ class DishSamplingActivity : BaseActivity() {
}
binding.ivWeightClear.setOnClickListener {
- Weigher.tareTwo(2)
+ Weigher.tareTwo(AddressUtil.ONE)
}
WeightUtil.addWeightListener(getWeight = { address, state, weight ->
Log.d(TAG, "addViewClickListener: address=$address,state=$state,weight=$weight")
diff --git a/app/src/main/java/com/shuwei/dish/match/ui/PrepareCookActivity.kt b/app/src/main/java/com/shuwei/dish/match/ui/PrepareCookActivity.kt
index 5f9e1db..9f6f1be 100644
--- a/app/src/main/java/com/shuwei/dish/match/ui/PrepareCookActivity.kt
+++ b/app/src/main/java/com/shuwei/dish/match/ui/PrepareCookActivity.kt
@@ -20,6 +20,7 @@ import com.shuwei.dish.match.entity.CookFoodGoodsEntity
import com.shuwei.dish.match.entity.FoodRecord
import com.shuwei.dish.match.http.HttpUtil
import com.shuwei.dish.match.http.UrlConfig
+import com.shuwei.dish.match.utils.AddressUtil
import com.shuwei.dish.match.utils.SwipeCallback
import com.shuwei.dish.match.utils.WeightUtil
import com.shuwei.dish.match.utils.ext.clickWithDebounce
@@ -74,7 +75,7 @@ class PrepareCookActivity : BaseActivity() {
private fun addViewClickListener() {
binding.ivWeightClear.setOnClickListener {
- Weigher.tareTwo(2)
+ Weigher.tareTwo(AddressUtil.ONE)
}
WeightUtil.addWeightListener(getWeight = { address, state, weight ->
Log.d(TAG, "addViewClickListener: address=$address,state=$state,weight=$weight")
@@ -272,7 +273,10 @@ class PrepareCookActivity : BaseActivity() {
dishPartAdapter.notifyItemChanged(position)
return@SwipeCallback
}
- dishPartAdapter.removeAt(position)
+// dishPartAdapter.removeAt(position)
+ list.removeAt(position)
+ dishPartAdapter.notifyItemRemoved(position)
+ dishPartAdapter.notifyItemRangeChanged(position, list.size - position)
toast("已删除")
})
itemTouchHelper.attachToRecyclerView(this)
diff --git a/app/src/main/java/com/shuwei/dish/match/ui/SubmitDishActivity.kt b/app/src/main/java/com/shuwei/dish/match/ui/SubmitDishActivity.kt
index 2397bad..5cccb2b 100644
--- a/app/src/main/java/com/shuwei/dish/match/ui/SubmitDishActivity.kt
+++ b/app/src/main/java/com/shuwei/dish/match/ui/SubmitDishActivity.kt
@@ -150,7 +150,7 @@
//
// private fun addViewListener() {
// addWeightListener()
-// binding.btnWeightClear.setOnClickListener { Weigher.tareTwo(1) }
+// binding.btnWeightClear.setOnClickListener { Weigher.tareTwo(AddressUtil.TWO) }
//
// binding.btnCook.clickWithDebounce {
// cook()
diff --git a/app/src/main/java/com/shuwei/dish/match/ui/SubmitFoodActivity.kt b/app/src/main/java/com/shuwei/dish/match/ui/SubmitFoodActivity.kt
index b45ff88..3a3051b 100644
--- a/app/src/main/java/com/shuwei/dish/match/ui/SubmitFoodActivity.kt
+++ b/app/src/main/java/com/shuwei/dish/match/ui/SubmitFoodActivity.kt
@@ -23,7 +23,7 @@ import com.shuwei.dish.match.entity.FoodRecord
import com.shuwei.dish.match.entity.SeasoningEntity
import com.shuwei.dish.match.http.HttpUtil
import com.shuwei.dish.match.http.UrlConfig
-import com.shuwei.dish.match.utils.DataUtil
+import com.shuwei.dish.match.utils.AddressUtil
import com.shuwei.dish.match.utils.WeightUtil
import com.shuwei.dish.match.utils.ext.clickWithDebounce
import com.shuwei.dish.match.utils.ext.gone
@@ -150,7 +150,7 @@ class SubmitFoodActivity : BaseActivity() {
private fun addViewListener() {
addWeightListener()
- binding.btnWeightClear.setOnClickListener { Weigher.tareTwo(1) }
+ binding.btnWeightClear.setOnClickListener { Weigher.tareTwo(AddressUtil.TWO) }
binding.btnCook.clickWithDebounce {
cook()
@@ -232,7 +232,7 @@ class SubmitFoodActivity : BaseActivity() {
}
private val weightRelateArray by lazy {
- DataUtil.getWeighAddressArray()
+ AddressUtil.getWeighAddressArray()
}
// private fun prepareData(acton: () -> Unit) {
diff --git a/app/src/main/java/com/shuwei/dish/match/utils/DataUtil.kt b/app/src/main/java/com/shuwei/dish/match/utils/AddressUtil.kt
similarity index 93%
rename from app/src/main/java/com/shuwei/dish/match/utils/DataUtil.kt
rename to app/src/main/java/com/shuwei/dish/match/utils/AddressUtil.kt
index b87c1fd..6a29e14 100644
--- a/app/src/main/java/com/shuwei/dish/match/utils/DataUtil.kt
+++ b/app/src/main/java/com/shuwei/dish/match/utils/AddressUtil.kt
@@ -2,7 +2,10 @@ package com.shuwei.dish.match.utils
import android.util.SparseIntArray
-object DataUtil {
+object AddressUtil {
+
+ const val ONE = 1
+ const val TWO = 2
fun getWeighAddressArray(): SparseIntArray {
return SparseIntArray().apply {
diff --git a/app/src/main/java/com/shuwei/dish/match/utils/WeightUtil.kt b/app/src/main/java/com/shuwei/dish/match/utils/WeightUtil.kt
index b438d21..05210c3 100644
--- a/app/src/main/java/com/shuwei/dish/match/utils/WeightUtil.kt
+++ b/app/src/main/java/com/shuwei/dish/match/utils/WeightUtil.kt
@@ -12,7 +12,7 @@ import com.wabon.wbintelligenthardwaresdk.api.SensorScale
object WeightUtil {
- val weightArray = SparseIntArray()
+// val weightArray = SparseIntArray()
fun connect(initCallback: (connect: Boolean) -> Unit) {
Weigher.setListener(object : WeightListenerImpl() {
@@ -34,17 +34,17 @@ object WeightUtil {
}
override fun onGetWeight(address: Int, state: Int, weight: Int) {
- runOnUiThread {
- val stateStr = when (state) {
- SensorScale.STATE_STABLE -> "稳定"
- SensorScale.STATE_UNSTABLE -> "不稳定"
- SensorScale.STATE_OVER_WEIGHT -> "量程溢出"
- else -> ""
- }
- val result1 = String.format("$stateStr 重量:%s kg", weight / 1000f)
- //Log.d("WeightUtil", "ttlReturn, address:$address,$result1")
- weightArray.put(address, weight)
- }
+// runOnUiThread {
+// val stateStr = when (state) {
+// SensorScale.STATE_STABLE -> "稳定"
+// SensorScale.STATE_UNSTABLE -> "不稳定"
+// SensorScale.STATE_OVER_WEIGHT -> "量程溢出"
+// else -> ""
+// }
+// val result1 = String.format("$stateStr 重量:%s kg", weight / 1000f)
+// //Log.d("WeightUtil", "ttlReturn, address:$address,$result1")
+// weightArray.put(address, weight)
+// }
}
override fun onReadIdentify(rate: Int) {
diff --git a/app/src/main/res/layout-sw800dp/activity_prepare_cook.xml b/app/src/main/res/layout-sw800dp/activity_prepare_cook.xml
index 144f63d..4cc160e 100644
--- a/app/src/main/res/layout-sw800dp/activity_prepare_cook.xml
+++ b/app/src/main/res/layout-sw800dp/activity_prepare_cook.xml
@@ -3,7 +3,7 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
- android:layout_height="wrap_content"
+ android:layout_height="match_parent"
android:orientation="vertical"
tools:background="@drawable/bg_other_page">