Merge branch 'refs/heads/dev_robotaxi-d_240912_6.7.0' into dev_robotaxi-d_240912_6.7.2_local

This commit is contained in:
donghongyu-pc
2024-10-23 12:22:40 +08:00

View File

@@ -6,6 +6,7 @@ import android.text.Editable
import android.util.AttributeSet
import android.widget.EditText
import android.widget.TextView
import androidx.core.widget.doAfterTextChanged
import androidx.core.widget.doBeforeTextChanged
import androidx.core.widget.doOnTextChanged
import androidx.preference.Preference
@@ -13,6 +14,7 @@ import androidx.preference.PreferenceViewHolder
import com.mogo.eagle.core.function.hmi.R
import com.mogo.eagle.core.utilcode.kotlin.onClick
import com.mogo.eagle.core.utilcode.kotlin.onClickWidthDuration
import com.mogo.eagle.core.utilcode.mogo.logger.Logger
import com.mogo.eagle.core.utilcode.util.ToastUtils
import java.math.BigDecimal
import java.util.concurrent.ConcurrentHashMap
@@ -70,20 +72,32 @@ class PreferenceWithSpeedSetting : Preference {
speedUnit?.text = unit
val speedLimit = holder.findViewById(R.id.tv_speed_limit) as? TextView
if (cache.containsKey(key)) {
cur = max(cur, cache[key] ?: 0.0)
cur = cache[key] ?: cur
}
cur = BigDecimal.valueOf(cur).setScale(1).toDouble()
if (speedLimit is EditText) {
speedLimit.setText(cur.toString())
speedLimit.doOnTextChanged { text, _, _, _ ->
speedLimit.doAfterTextChanged { text ->
val current = text?.let { runCatching { it.toString().toDouble() }.getOrNull() }
if (current == null) {
return@doOnTextChanged
btnOk.isEnabled = false
holder.itemView.isEnabled = false
ll.isSelected = false
return@doAfterTextChanged
}
if (current > max) {
btnOk.isEnabled = false
holder.itemView.isEnabled = false
ll.isSelected = false
ToastUtils.showShort("阈值最大为${BigDecimal.valueOf(max).setScale(1)}$unit")
return@doOnTextChanged
return@doAfterTextChanged
}
cur = current
val temp = BigDecimal.valueOf(current).setScale(1).toDouble()
if (cur == temp) {
return@doAfterTextChanged
}
Logger.d("RWJ", "--- cache ---- 2 ---: $cur, $temp")
cur = temp
btnOk.isEnabled = true
ll.isSelected = true
cache[key] = cur
@@ -131,7 +145,6 @@ class PreferenceWithSpeedSetting : Preference {
btnOk.isEnabled = true
enabled[key] = true
if (speedLimit is EditText) {
speedLimit.setText("")
speedLimit.setText(addAfter.toString())
} else {
speedLimit?.text = addAfter.toString()
@@ -141,7 +154,6 @@ class PreferenceWithSpeedSetting : Preference {
btnOk.onClick {
onPreferenceClickListener?.also {
enabled[key] = false
cache.remove(key)
extras.putDouble(KEY_BUNDLE_CURRENT_VALUE, cur)
it.onPreferenceClick(this)
}