From 6bc333c71e5b5a1a5d9dc88532b06115fed39c44 Mon Sep 17 00:00:00 2001 From: xiaowusky Date: Wed, 29 Nov 2023 10:28:42 +0800 Subject: [PATCH] =?UTF-8?q?desc:=E4=BC=A0=E6=84=9F=E5=99=A8=E6=A0=87?= =?UTF-8?q?=E5=AE=9A=E7=84=A6=E7=82=B9=E6=8E=A7=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../safetywatcher/watcher/port/GasUtilss.kt | 2 +- .../watcher/ui/SensorCalibrationActivity.kt | 32 +++++++++++++- .../watcher/ui/SensorSettingActivity.kt | 1 + .../layout/activity_sensor_calibration.xml | 43 ++++++++++++------- 4 files changed, 60 insertions(+), 18 deletions(-) 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"/> - + + + +