refactor(activity): 将 ScaleServiceManager.stop() 迁移至 InitActivity.onDestroy,优化18格子布局间距

This commit is contained in:
2026-04-15 09:52:16 +08:00
parent 94e49eb344
commit 5ac35a9cab
3 changed files with 11 additions and 9 deletions
@@ -48,11 +48,6 @@ class BaseApp : Application() {
ObjectBox.init(this) ObjectBox.init(this)
} }
override fun onTerminate() {
ScaleServiceManager.stop()
super.onTerminate()
}
companion object { companion object {
// const val canteenId = "1678234139391512577" // const val canteenId = "1678234139391512577"
@@ -18,6 +18,7 @@ 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.AppRepository
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.utils.AppUtil import com.shuwei.dish.match.utils.AppUtil
import com.shuwei.dish.match.utils.NetworkUtils import com.shuwei.dish.match.utils.NetworkUtils
import com.shuwei.dish.match.utils.SpTool import com.shuwei.dish.match.utils.SpTool
@@ -122,6 +123,7 @@ class InitActivity : BaseActivity() {
override fun onDestroy() { override fun onDestroy() {
WeightUtil.stopContinuousRead() WeightUtil.stopContinuousRead()
ScaleServiceManager.stop()
super.onDestroy() super.onDestroy()
} }
@@ -8,6 +8,7 @@ import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import android.widget.LinearLayout import android.widget.LinearLayout
import android.widget.TextView import android.widget.TextView
import androidx.core.view.updateLayoutParams
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
@@ -192,7 +193,7 @@ class MasterScaleActivity : BaseActivity() {
repeat(2) { rowIdx -> repeat(2) { rowIdx ->
val cell = makeScaleCellFixed(sorted.getOrNull(index++), largeCellSize, largeCellSize, margin) val cell = makeScaleCellFixed(sorted.getOrNull(index++), largeCellSize, largeCellSize, margin)
// 两列中间水平间距翻倍(第1列右边距、第2列左边距),列内两格子中间垂直间距翻倍,外侧保持不变 // 两列中间水平间距翻倍(第1列右边距、第2列左边距),列内两格子中间垂直间距翻倍,外侧保持不变
(cell.layoutParams as? LinearLayout.LayoutParams)?.apply { cell.updateLayoutParams<LinearLayout.LayoutParams> {
bottomMargin = if (rowIdx == 0) margin * 2 else margin bottomMargin = if (rowIdx == 0) margin * 2 else margin
topMargin = if (rowIdx == 1) margin * 2 else margin topMargin = if (rowIdx == 1) margin * 2 else margin
rightMargin = if (colIdx == 0) margin * 2 else margin rightMargin = if (colIdx == 0) margin * 2 else margin
@@ -258,6 +259,8 @@ class MasterScaleActivity : BaseActivity() {
*/ */
private fun buildLayout18(container: LinearLayout, scales: List<ScaleData>) { private fun buildLayout18(container: LinearLayout, scales: List<ScaleData>) {
val cellSize = container.context.cellSize(6) val cellSize = container.context.cellSize(6)
// 第2、3行列间距 10dpmargin=5dp),单独计算格子尺寸
val cellSize23 = (resources.displayMetrics.widthPixels - 32.dp - 6 * 10.dp) / 6
// 按指定顺序重排(address 从1开始,转为0-based index取值) // 按指定顺序重排(address 从1开始,转为0-based index取值)
val scaleByAddress = scales.associateBy { it.address } val scaleByAddress = scales.associateBy { it.address }
val sorted = SCALE_ORDER_18.map { scaleByAddress[it] } val sorted = SCALE_ORDER_18.map { scaleByAddress[it] }
@@ -265,11 +268,13 @@ class MasterScaleActivity : BaseActivity() {
var index = 0 var index = 0
// 第1行:增大 margin 使格子看起来更小 // 第1行:增大 margin 使格子看起来更小
val row1 = makeRowLayout(container) val row1 = makeRowLayout(container)
repeat(6) { row1.addView(makeScaleCell(sorted.getOrNull(index++), cellSize, inHorizontalRow = true, margin = 8.dp)) } repeat(6) { row1.addView(makeScaleCell(sorted.getOrNull(index++), cellSize, inHorizontalRow = true, margin = 12.dp)) }
container.addView(row1) container.addView(row1)
repeat(2) { repeat(2) { rowIdx ->
val row = makeRowLayout(container) val row = makeRowLayout(container)
repeat(6) { row.addView(makeScaleCell(sorted.getOrNull(index++), cellSize, inHorizontalRow = true)) } // 第2行(rowIdx=0)底部加 6dp,使第2、3行间距与第1、2行一致(均为10dp)
if (rowIdx == 0) row.updateLayoutParams<LinearLayout.LayoutParams> { bottomMargin = 6.dp }
repeat(6) { row.addView(makeScaleCell(sorted.getOrNull(index++), cellSize23, inHorizontalRow = true, margin = 5.dp)) }
container.addView(row) container.addView(row)
} }
} }