diff --git a/app/src/main/java/com/casic/app/safetreecontroller/fragments/MethaneMonitorFragment.kt b/app/src/main/java/com/casic/app/safetreecontroller/fragments/MethaneMonitorFragment.kt
index 81c091d..543e622 100644
--- a/app/src/main/java/com/casic/app/safetreecontroller/fragments/MethaneMonitorFragment.kt
+++ b/app/src/main/java/com/casic/app/safetreecontroller/fragments/MethaneMonitorFragment.kt
@@ -1,5 +1,7 @@
package com.casic.app.safetreecontroller.fragments
+import android.graphics.Color
+import android.graphics.Typeface
import android.os.Bundle
import android.os.Handler
import android.os.Message
@@ -17,6 +19,7 @@
import com.github.mikephil.charting.data.LineDataSet
import com.github.mikephil.charting.interfaces.datasets.ILineDataSet
import com.pengxh.kt.lite.base.KotlinBaseFragment
+import com.pengxh.kt.lite.extensions.convertColor
import com.pengxh.kt.lite.extensions.dp2px
import com.pengxh.kt.lite.extensions.getScreenWidth
import com.pengxh.kt.lite.extensions.show
@@ -105,9 +108,9 @@
binding.updateThresholdButton.setOnClickListener {
//更新甲烷阈值
- val threshold = binding.thresholdView.text.toString().toInt()
- if (threshold > 9999) {
- "报警阈值最大可设置9999".show(requireContext())
+ val threshold = binding.thresholdView.text.toString().toFloat()
+ if (threshold >= 20f) {
+ "报警阈值不能超过20% VOL".show(requireContext())
return@setOnClickListener
}
@@ -116,7 +119,8 @@
?: return@setOnClickListener
val message = weakReferenceHandler.obtainMessage()
message.what = LocaleConstant.UPDATE_GAS_THRESHOLD_CODE
- message.obj = threshold
+ //用户使用 % VOL,但是单片机只能设置ppm`m,所以需要转换一下
+ message.obj = (threshold * 500).toInt()
weakReferenceHandler.sendMessage(message)
}
@@ -129,7 +133,26 @@
when (msg.what) {
LocaleConstant.QUERY_CPU_TEMPERATURE_RESPONSE_CODE -> {
isGetTemperature = true
- binding.cpuTemperatureView.text = "${msg.obj} ℃"
+ val cpuTemperature = msg.obj as Float
+ binding.cpuTemperatureView.text = "$cpuTemperature ℃"
+ when (cpuTemperature) {
+ in 0f..40f -> {
+ binding.cpuTemperatureView.setTextColor(Color.BLACK)
+ binding.cpuTemperatureView.typeface = Typeface.DEFAULT
+ }
+
+ in 41f..60f -> {
+ binding.cpuTemperatureView.setTextColor(
+ R.color.orange.convertColor(requireContext())
+ )
+ binding.cpuTemperatureView.typeface = Typeface.DEFAULT
+ }
+
+ else -> {
+ binding.cpuTemperatureView.setTextColor(Color.RED)
+ binding.cpuTemperatureView.typeface = Typeface.DEFAULT_BOLD
+ }
+ }
}
LocaleConstant.QUERY_METHANE_RESPONSE_CODE -> {
@@ -171,7 +194,7 @@
}
//回显甲烷默认阈值
- val value = SaveKeyValues.getValue(LocaleConstant.METHANE_DEFAULT_VALUE_KEY, 1000) as Int
+ val value = SaveKeyValues.getValue(LocaleConstant.METHANE_DEFAULT_VALUE_KEY, 1.99f) as Float
binding.thresholdView.setText(value.toString())
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/app/safetreecontroller/fragments/MethaneMonitorFragment.kt b/app/src/main/java/com/casic/app/safetreecontroller/fragments/MethaneMonitorFragment.kt
index 81c091d..543e622 100644
--- a/app/src/main/java/com/casic/app/safetreecontroller/fragments/MethaneMonitorFragment.kt
+++ b/app/src/main/java/com/casic/app/safetreecontroller/fragments/MethaneMonitorFragment.kt
@@ -1,5 +1,7 @@
package com.casic.app.safetreecontroller.fragments
+import android.graphics.Color
+import android.graphics.Typeface
import android.os.Bundle
import android.os.Handler
import android.os.Message
@@ -17,6 +19,7 @@
import com.github.mikephil.charting.data.LineDataSet
import com.github.mikephil.charting.interfaces.datasets.ILineDataSet
import com.pengxh.kt.lite.base.KotlinBaseFragment
+import com.pengxh.kt.lite.extensions.convertColor
import com.pengxh.kt.lite.extensions.dp2px
import com.pengxh.kt.lite.extensions.getScreenWidth
import com.pengxh.kt.lite.extensions.show
@@ -105,9 +108,9 @@
binding.updateThresholdButton.setOnClickListener {
//更新甲烷阈值
- val threshold = binding.thresholdView.text.toString().toInt()
- if (threshold > 9999) {
- "报警阈值最大可设置9999".show(requireContext())
+ val threshold = binding.thresholdView.text.toString().toFloat()
+ if (threshold >= 20f) {
+ "报警阈值不能超过20% VOL".show(requireContext())
return@setOnClickListener
}
@@ -116,7 +119,8 @@
?: return@setOnClickListener
val message = weakReferenceHandler.obtainMessage()
message.what = LocaleConstant.UPDATE_GAS_THRESHOLD_CODE
- message.obj = threshold
+ //用户使用 % VOL,但是单片机只能设置ppm`m,所以需要转换一下
+ message.obj = (threshold * 500).toInt()
weakReferenceHandler.sendMessage(message)
}
@@ -129,7 +133,26 @@
when (msg.what) {
LocaleConstant.QUERY_CPU_TEMPERATURE_RESPONSE_CODE -> {
isGetTemperature = true
- binding.cpuTemperatureView.text = "${msg.obj} ℃"
+ val cpuTemperature = msg.obj as Float
+ binding.cpuTemperatureView.text = "$cpuTemperature ℃"
+ when (cpuTemperature) {
+ in 0f..40f -> {
+ binding.cpuTemperatureView.setTextColor(Color.BLACK)
+ binding.cpuTemperatureView.typeface = Typeface.DEFAULT
+ }
+
+ in 41f..60f -> {
+ binding.cpuTemperatureView.setTextColor(
+ R.color.orange.convertColor(requireContext())
+ )
+ binding.cpuTemperatureView.typeface = Typeface.DEFAULT
+ }
+
+ else -> {
+ binding.cpuTemperatureView.setTextColor(Color.RED)
+ binding.cpuTemperatureView.typeface = Typeface.DEFAULT_BOLD
+ }
+ }
}
LocaleConstant.QUERY_METHANE_RESPONSE_CODE -> {
@@ -171,7 +194,7 @@
}
//回显甲烷默认阈值
- val value = SaveKeyValues.getValue(LocaleConstant.METHANE_DEFAULT_VALUE_KEY, 1000) as Int
+ val value = SaveKeyValues.getValue(LocaleConstant.METHANE_DEFAULT_VALUE_KEY, 1.99f) as Float
binding.thresholdView.setText(value.toString())
}
}
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_methane_monitor.xml b/app/src/main/res/layout/fragment_methane_monitor.xml
index 28b904f..423446a 100644
--- a/app/src/main/res/layout/fragment_methane_monitor.xml
+++ b/app/src/main/res/layout/fragment_methane_monitor.xml
@@ -72,13 +72,21 @@
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/bg_solid_layout_white_radius_5"
- android:inputType="number"
+ android:inputType="numberDecimal"
android:maxLength="4"
android:padding="@dimen/dp_5"
android:singleLine="true"
- android:textColor="@color/black"
+ android:textColor="@color/red"
android:textSize="@dimen/sp_16" />
+
+