desc:数据查询增加跨级返回功能

main
xiaowusky 1 year ago
parent 9e53e027cc
commit cf6a23bdcb

@ -30,7 +30,9 @@ class HistoryVideoActivity : BaseActivity() {
ActivityHistoryVideoBinding.inflate(layoutInflater) ActivityHistoryVideoBinding.inflate(layoutInflater)
} }
private val mAdapter = HistoryVideoAdapter().apply { private val mAdapter = HistoryVideoAdapter {
tryFocusBackArea()
}.apply {
mItemClickListener = object : HistoryVideoAdapter.OnItemClickListener { mItemClickListener = object : HistoryVideoAdapter.OnItemClickListener {
override fun onItemClick(data: Video) { override fun onItemClick(data: Video) {
gotoPlayVideo(data.path) gotoPlayVideo(data.path)
@ -132,7 +134,12 @@ class HistoryVideoActivity : BaseActivity() {
} }
showLoadingDialog(R.string.export_data_tip) showLoadingDialog(R.string.export_data_tip)
GlobalScope.launch(Dispatchers.IO) { GlobalScope.launch(Dispatchers.IO) {
ExportUtils.testCopyVideo(this@HistoryVideoActivity, usbPath, mAdapter._data, loadingDialog) ExportUtils.testCopyVideo(
this@HistoryVideoActivity,
usbPath,
mAdapter._data,
loadingDialog
)
launch(Dispatchers.Main) { launch(Dispatchers.Main) {
showToast(getString(R.string.export_success)) showToast(getString(R.string.export_success))
} }

@ -3,6 +3,7 @@ package com.yinuo.safetywatcher.watcher.ui
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.content.Intent import android.content.Intent
import android.text.TextUtils import android.text.TextUtils
import android.view.KeyEvent
import android.view.View import android.view.View
import androidx.activity.result.contract.ActivityResultContracts import androidx.activity.result.contract.ActivityResultContracts
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
@ -71,7 +72,9 @@ class QueryDataActivity : BaseActivity() {
private var startTime = -1L private var startTime = -1L
private var endTime = -1L private var endTime = -1L
private var timeStep = TimeStep.SECOND_30 private var timeStep = TimeStep.SECOND_30
private val mAdapter = HistoryDataAdapter() private val mAdapter = HistoryDataAdapter{
tryFocusBackArea()
}
private val paramsLauncher = private val paramsLauncher =
registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result -> registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->

@ -51,7 +51,9 @@ class WarnDataActivity : BaseActivity() {
private var startTime = -1L private var startTime = -1L
private var endTime = -1L private var endTime = -1L
private val mAdapter = WarnDataAdapter() private val mAdapter = WarnDataAdapter {
tryFocusBackArea()
}
private val paramsLauncher = private val paramsLauncher =
registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result -> registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->

@ -1,5 +1,6 @@
package com.yinuo.safetywatcher.watcher.ui.adapter package com.yinuo.safetywatcher.watcher.ui.adapter
import android.view.KeyEvent
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.ViewGroup import android.view.ViewGroup
import com.common.commonlib.db.entity.Gas import com.common.commonlib.db.entity.Gas
@ -9,14 +10,24 @@ import com.yinuo.safetywatcher.databinding.LayoutItemHistoryBinding
import com.yinuo.safetywatcher.watcher.base.BaseRvAdapter import com.yinuo.safetywatcher.watcher.base.BaseRvAdapter
import com.yinuo.safetywatcher.watcher.utils.DateUtils import com.yinuo.safetywatcher.watcher.utils.DateUtils
class HistoryDataAdapter : class HistoryDataAdapter(private val leftRightClick: (() -> Unit?)? = null) :
BaseRvAdapter<Gas, LayoutItemHistoryBinding, HistoryDataAdapter.HViewHolder>() { BaseRvAdapter<Gas, LayoutItemHistoryBinding, HistoryDataAdapter.HViewHolder>() {
class HViewHolder(val binding: LayoutItemHistoryBinding) : class HViewHolder(val binding: LayoutItemHistoryBinding, val leftRightClick: (() -> Unit?)? = null) :
BaseRvAdapter.BaseViewHolder<Gas, LayoutItemHistoryBinding>(binding) { BaseRvAdapter.BaseViewHolder<Gas, LayoutItemHistoryBinding>(binding) {
override fun bindView(data: Gas) { override fun bindView(data: Gas) {
binding.tvTime.text = formatTime(data.time) binding.tvTime.text = formatTime(data.time)
binding.tvSensor.text = "${data.gasName.getGasShowName()} : ${data.gasValue.forShowStr()} ${data.unit}" binding.tvSensor.text =
"${data.gasName.getGasShowName()} : ${data.gasValue.forShowStr()} ${data.unit}"
binding.root.setOnKeyListener { v, keyCode, event ->
if (keyCode == KeyEvent.KEYCODE_DPAD_LEFT || keyCode == KeyEvent.KEYCODE_DPAD_RIGHT) {
if (event.action == KeyEvent.ACTION_DOWN) {
leftRightClick?.let { it() }
return@setOnKeyListener true
}
}
return@setOnKeyListener false
}
} }
private fun formatTime(time: Long): CharSequence? { private fun formatTime(time: Long): CharSequence? {
@ -27,6 +38,6 @@ class HistoryDataAdapter :
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): HViewHolder { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): HViewHolder {
val binding = val binding =
LayoutItemHistoryBinding.inflate(LayoutInflater.from(parent.context), parent, false) LayoutItemHistoryBinding.inflate(LayoutInflater.from(parent.context), parent, false)
return HViewHolder(binding) return HViewHolder(binding, leftRightClick)
} }
} }

@ -1,5 +1,6 @@
package com.yinuo.safetywatcher.watcher.ui.adapter package com.yinuo.safetywatcher.watcher.ui.adapter
import android.view.KeyEvent
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.ViewGroup import android.view.ViewGroup
import com.yinuo.safetywatcher.databinding.LayoutItemHistoryBinding import com.yinuo.safetywatcher.databinding.LayoutItemHistoryBinding
@ -7,18 +8,28 @@ import com.yinuo.safetywatcher.watcher.base.BaseRvAdapter
import com.common.commonlib.db.entity.Video import com.common.commonlib.db.entity.Video
import com.yinuo.safetywatcher.watcher.utils.DateUtils import com.yinuo.safetywatcher.watcher.utils.DateUtils
class HistoryVideoAdapter : class HistoryVideoAdapter(private val leftRightClick: (() -> Unit?)? = null) :
BaseRvAdapter<Video, LayoutItemHistoryBinding, HistoryVideoAdapter.HViewHolder>() { BaseRvAdapter<Video, LayoutItemHistoryBinding, HistoryVideoAdapter.HViewHolder>() {
class HViewHolder( class HViewHolder(
val binding: LayoutItemHistoryBinding, val binding: LayoutItemHistoryBinding,
val mItemClickListener: OnItemClickListener? val mItemClickListener: OnItemClickListener?,
val leftRightClick: (() -> Unit?)? = null
) : ) :
BaseRvAdapter.BaseViewHolder<Video, LayoutItemHistoryBinding>(binding) { BaseRvAdapter.BaseViewHolder<Video, LayoutItemHistoryBinding>(binding) {
override fun bindView(data: Video) { override fun bindView(data: Video) {
binding.tvTime.text = formatTime(data.time) binding.tvTime.text = formatTime(data.time)
binding.tvSensor.text = data.name binding.tvSensor.text = data.name
binding.root.setOnKeyListener { v, keyCode, event ->
if (keyCode == KeyEvent.KEYCODE_DPAD_LEFT || keyCode == KeyEvent.KEYCODE_DPAD_RIGHT) {
if (event.action == KeyEvent.ACTION_DOWN) {
leftRightClick?.let { it() }
return@setOnKeyListener true
}
}
return@setOnKeyListener false
}
binding.root.setOnClickListener { binding.root.setOnClickListener {
mItemClickListener?.onItemClick(data) mItemClickListener?.onItemClick(data)
} }
@ -32,7 +43,7 @@ class HistoryVideoAdapter :
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): HViewHolder { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): HViewHolder {
val binding = val binding =
LayoutItemHistoryBinding.inflate(LayoutInflater.from(parent.context), parent, false) LayoutItemHistoryBinding.inflate(LayoutInflater.from(parent.context), parent, false)
return HViewHolder(binding, mItemClickListener) return HViewHolder(binding, mItemClickListener, leftRightClick)
} }
var mItemClickListener: OnItemClickListener? = null var mItemClickListener: OnItemClickListener? = null

@ -1,5 +1,6 @@
package com.yinuo.safetywatcher.watcher.ui.adapter package com.yinuo.safetywatcher.watcher.ui.adapter
import android.view.KeyEvent
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.ViewGroup import android.view.ViewGroup
import com.common.commonlib.db.entity.Warning import com.common.commonlib.db.entity.Warning
@ -8,14 +9,23 @@ import com.yinuo.safetywatcher.watcher.base.BaseRvAdapter
import com.yinuo.safetywatcher.watcher.port.getShowWarnTxt import com.yinuo.safetywatcher.watcher.port.getShowWarnTxt
import com.yinuo.safetywatcher.watcher.utils.DateUtils import com.yinuo.safetywatcher.watcher.utils.DateUtils
class WarnDataAdapter : class WarnDataAdapter(private val leftRightClick: (() -> Unit?)? = null) :
BaseRvAdapter<Warning, LayoutItemWarnBinding, WarnDataAdapter.WViewHolder>() { BaseRvAdapter<Warning, LayoutItemWarnBinding, WarnDataAdapter.WViewHolder>() {
class WViewHolder(private val binding: LayoutItemWarnBinding) : class WViewHolder(private val binding: LayoutItemWarnBinding, val leftRightClick: (() -> Unit?)? = null) :
BaseRvAdapter.BaseViewHolder<Warning, LayoutItemWarnBinding>(binding) { BaseRvAdapter.BaseViewHolder<Warning, LayoutItemWarnBinding>(binding) {
override fun bindView(data: Warning) { override fun bindView(data: Warning) {
binding.tvTime.text = formatTime(data.startTime) binding.tvTime.text = formatTime(data.startTime)
binding.tvSensor.text = getShowWarnTxt(data) binding.tvSensor.text = getShowWarnTxt(data)
binding.root.setOnKeyListener { v, keyCode, event ->
if (keyCode == KeyEvent.KEYCODE_DPAD_LEFT || keyCode == KeyEvent.KEYCODE_DPAD_RIGHT) {
if (event.action == KeyEvent.ACTION_DOWN) {
leftRightClick?.let { it() }
return@setOnKeyListener true
}
}
return@setOnKeyListener false
}
} }
private fun formatTime(time: Long): CharSequence? { private fun formatTime(time: Long): CharSequence? {
@ -26,6 +36,6 @@ class WarnDataAdapter :
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): WViewHolder { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): WViewHolder {
val binding = val binding =
LayoutItemWarnBinding.inflate(LayoutInflater.from(parent.context), parent, false) LayoutItemWarnBinding.inflate(LayoutInflater.from(parent.context), parent, false)
return WViewHolder(binding) return WViewHolder(binding, leftRightClick)
} }
} }
Loading…
Cancel
Save