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:
@@ -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)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user