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

main
xiaowusky 1 year ago
parent 9e53e027cc
commit cf6a23bdcb

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

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

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

@ -1,5 +1,6 @@
package com.yinuo.safetywatcher.watcher.ui.adapter
import android.view.KeyEvent
import android.view.LayoutInflater
import android.view.ViewGroup
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.utils.DateUtils
class HistoryDataAdapter :
class HistoryDataAdapter(private val leftRightClick: (() -> Unit?)? = null) :
BaseRvAdapter<Gas, LayoutItemHistoryBinding, HistoryDataAdapter.HViewHolder>() {
class HViewHolder(val binding: LayoutItemHistoryBinding) :
class HViewHolder(val binding: LayoutItemHistoryBinding, val leftRightClick: (() -> Unit?)? = null) :
BaseRvAdapter.BaseViewHolder<Gas, LayoutItemHistoryBinding>(binding) {
override fun bindView(data: Gas) {
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? {
@ -27,6 +38,6 @@ class HistoryDataAdapter :
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): HViewHolder {
val binding =
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
import android.view.KeyEvent
import android.view.LayoutInflater
import android.view.ViewGroup
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.yinuo.safetywatcher.watcher.utils.DateUtils
class HistoryVideoAdapter :
class HistoryVideoAdapter(private val leftRightClick: (() -> Unit?)? = null) :
BaseRvAdapter<Video, LayoutItemHistoryBinding, HistoryVideoAdapter.HViewHolder>() {
class HViewHolder(
val binding: LayoutItemHistoryBinding,
val mItemClickListener: OnItemClickListener?
val mItemClickListener: OnItemClickListener?,
val leftRightClick: (() -> Unit?)? = null
) :
BaseRvAdapter.BaseViewHolder<Video, LayoutItemHistoryBinding>(binding) {
override fun bindView(data: Video) {
binding.tvTime.text = formatTime(data.time)
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 {
mItemClickListener?.onItemClick(data)
}
@ -32,7 +43,7 @@ class HistoryVideoAdapter :
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): HViewHolder {
val binding =
LayoutItemHistoryBinding.inflate(LayoutInflater.from(parent.context), parent, false)
return HViewHolder(binding, mItemClickListener)
return HViewHolder(binding, mItemClickListener, leftRightClick)
}
var mItemClickListener: OnItemClickListener? = null

@ -1,5 +1,6 @@
package com.yinuo.safetywatcher.watcher.ui.adapter
import android.view.KeyEvent
import android.view.LayoutInflater
import android.view.ViewGroup
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.utils.DateUtils
class WarnDataAdapter :
class WarnDataAdapter(private val leftRightClick: (() -> Unit?)? = null) :
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) {
override fun bindView(data: Warning) {
binding.tvTime.text = formatTime(data.startTime)
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? {
@ -26,6 +36,6 @@ class WarnDataAdapter :
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): WViewHolder {
val binding =
LayoutItemWarnBinding.inflate(LayoutInflater.from(parent.context), parent, false)
return WViewHolder(binding)
return WViewHolder(binding, leftRightClick)
}
}
Loading…
Cancel
Save