diff --git a/app/src/main/java/com/yinuo/safetywatcher/watcher/port/GasUtilss.kt b/app/src/main/java/com/yinuo/safetywatcher/watcher/port/GasUtilss.kt index 61aaa6a..2418aef 100644 --- a/app/src/main/java/com/yinuo/safetywatcher/watcher/port/GasUtilss.kt +++ b/app/src/main/java/com/yinuo/safetywatcher/watcher/port/GasUtilss.kt @@ -143,7 +143,7 @@ fun getLocalGasUnit(gasType: String): String { return getDefaultUnit(gasType) } -private fun getDefaultUnit(gasType: String): String { +fun getDefaultUnit(gasType: String): String { return when (gasType.uppercase()) { O2 -> UNIT_VOL CH4, H2 -> UNIT_LEL diff --git a/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/SensorCalibrationActivity.kt b/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/SensorCalibrationActivity.kt index cdb6c28..2a893c9 100644 --- a/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/SensorCalibrationActivity.kt +++ b/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/SensorCalibrationActivity.kt @@ -1,12 +1,15 @@ package com.yinuo.safetywatcher.watcher.ui +import android.view.KeyEvent import android.view.View import com.yinuo.safetywatcher.R import com.yinuo.safetywatcher.databinding.ActivitySensorCalibrationBinding import com.yinuo.safetywatcher.watcher.base.NoOptionsActivity import com.yinuo.safetywatcher.watcher.port.GasPortUtils +import com.yinuo.safetywatcher.watcher.port.getDefaultUnit +import com.yinuo.safetywatcher.watcher.utils.showIme -class SensorCalibrationActivity : NoOptionsActivity(){ +class SensorCalibrationActivity : NoOptionsActivity() { private val mBinding by lazy { ActivitySensorCalibrationBinding.inflate(layoutInflater) } @@ -21,6 +24,33 @@ class SensorCalibrationActivity : NoOptionsActivity(){ override fun initView() { val sensorIndex = intent.getIntExtra("index", -1) + val gasName = intent.getStringExtra("GasType")!! + val defaultUnit = getDefaultUnit(gasName) + mBinding.tvUnit.text = defaultUnit + + /** + * 昵称edittext,按键设置 + */ + mBinding.etName.setOnKeyListener { _, keyCode, event -> + if (keyCode == KeyEvent.KEYCODE_DPAD_UP) { + if (event.action == KeyEvent.ACTION_DOWN) { + tryFocusBackArea() + return@setOnKeyListener true + } + } else if (keyCode == KeyEvent.KEYCODE_DPAD_DOWN) { + if (event.action == KeyEvent.ACTION_DOWN) { + mBinding.tvSave.requestFocus() + return@setOnKeyListener true + } + } else if (keyCode == KeyEvent.KEYCODE_DPAD_CENTER || keyCode == KeyEvent.KEYCODE_ENTER) { + if (event.action == KeyEvent.ACTION_DOWN) { + mBinding.etName.showIme() + return@setOnKeyListener true + } + } + return@setOnKeyListener false + } + mBinding.tvSave.setOnClickListener { mBinding.etName.text.toString().let { if (sensorIndex != -1) { diff --git a/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/SensorSettingActivity.kt b/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/SensorSettingActivity.kt index a2bf03d..6065e91 100644 --- a/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/SensorSettingActivity.kt +++ b/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/SensorSettingActivity.kt @@ -144,6 +144,7 @@ class SensorSettingActivity : NoOptionsActivity() { mBinding.tvSensorInit.setOnClickListener { val intent = Intent(this, SensorCalibrationActivity::class.java) intent.putExtra("index", sensorIndex) + intent.putExtra("GasType", gasName) startActivity(intent) } } diff --git a/app/src/main/res/layout/activity_sensor_calibration.xml b/app/src/main/res/layout/activity_sensor_calibration.xml index 3368be4..fa66759 100644 --- a/app/src/main/res/layout/activity_sensor_calibration.xml +++ b/app/src/main/res/layout/activity_sensor_calibration.xml @@ -13,24 +13,35 @@ android:layout_marginTop="@dimen/_23dp" android:gravity="center" android:text="@string/calibration_tip" - android:focusable="true" android:textSize="@dimen/_40dp"/> - + + + +