desc:数据查询。告警数据。历史视频。
parent
888ef2a590
commit
5e4009205b
@ -0,0 +1,30 @@
|
||||
package com.yinuo.safetywatcher.watcher.adapter
|
||||
|
||||
import android.view.LayoutInflater
|
||||
import android.view.ViewGroup
|
||||
import com.yinuo.safetywatcher.databinding.LayoutItemHistoryBinding
|
||||
import com.yinuo.safetywatcher.watcher.base.BaseRvAdapter
|
||||
import com.yinuo.safetywatcher.watcher.bean.HistoryData
|
||||
import com.yinuo.safetywatcher.watcher.utils.DateUtils
|
||||
|
||||
class HistoryDataAdapter :
|
||||
BaseRvAdapter<HistoryData, LayoutItemHistoryBinding, HistoryDataAdapter.HViewHolder>() {
|
||||
|
||||
class HViewHolder(val binding: LayoutItemHistoryBinding) :
|
||||
BaseRvAdapter.BaseViewHolder<HistoryData, LayoutItemHistoryBinding>(binding) {
|
||||
override fun bindView(data: HistoryData) {
|
||||
binding.tvTime.text = formatTime(data.time)
|
||||
binding.tvSensor.text = data.sensor
|
||||
}
|
||||
|
||||
private fun formatTime(time: Long): CharSequence? {
|
||||
return DateUtils.formatHistoryTime(time)
|
||||
}
|
||||
}
|
||||
|
||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): HViewHolder {
|
||||
val binding =
|
||||
LayoutItemHistoryBinding.inflate(LayoutInflater.from(parent.context), parent, false)
|
||||
return HViewHolder(binding)
|
||||
}
|
||||
}
|
@ -0,0 +1,32 @@
|
||||
package com.yinuo.safetywatcher.watcher.adapter
|
||||
|
||||
import android.view.LayoutInflater
|
||||
import android.view.ViewGroup
|
||||
import com.yinuo.safetywatcher.databinding.LayoutItemHistoryBinding
|
||||
import com.yinuo.safetywatcher.databinding.LayoutItemWarnBinding
|
||||
import com.yinuo.safetywatcher.watcher.base.BaseRvAdapter
|
||||
import com.yinuo.safetywatcher.watcher.bean.HistoryData
|
||||
import com.yinuo.safetywatcher.watcher.bean.WarnData
|
||||
import com.yinuo.safetywatcher.watcher.utils.DateUtils
|
||||
|
||||
class WarnDataAdapter :
|
||||
BaseRvAdapter<WarnData, LayoutItemWarnBinding, WarnDataAdapter.WViewHolder>() {
|
||||
|
||||
class WViewHolder(val binding: LayoutItemWarnBinding) :
|
||||
BaseRvAdapter.BaseViewHolder<WarnData, LayoutItemWarnBinding>(binding) {
|
||||
override fun bindView(data: WarnData) {
|
||||
binding.tvTime.text = formatTime(data.time)
|
||||
binding.tvSensor.text = data.error
|
||||
}
|
||||
|
||||
private fun formatTime(time: Long): CharSequence? {
|
||||
return DateUtils.formatHistoryTime(time)
|
||||
}
|
||||
}
|
||||
|
||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): WViewHolder {
|
||||
val binding =
|
||||
LayoutItemWarnBinding.inflate(LayoutInflater.from(parent.context), parent, false)
|
||||
return WViewHolder(binding)
|
||||
}
|
||||
}
|
@ -0,0 +1,3 @@
|
||||
package com.yinuo.safetywatcher.watcher.bean
|
||||
|
||||
data class HistoryData(val time:Long, val sensor:String)
|
@ -0,0 +1,3 @@
|
||||
package com.yinuo.safetywatcher.watcher.bean
|
||||
|
||||
data class WarnData(val time:Long, val error:String)
|
@ -0,0 +1,46 @@
|
||||
package com.yinuo.safetywatcher.watcher.ui
|
||||
|
||||
import android.view.View
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import com.yinuo.safetywatcher.R
|
||||
import com.yinuo.safetywatcher.databinding.ActivityHistoryVideoBinding
|
||||
import com.yinuo.safetywatcher.databinding.ActivityWarndataBinding
|
||||
import com.yinuo.safetywatcher.watcher.adapter.HistoryDataAdapter
|
||||
import com.yinuo.safetywatcher.watcher.adapter.WarnDataAdapter
|
||||
import com.yinuo.safetywatcher.watcher.base.BaseActivity
|
||||
import com.yinuo.safetywatcher.watcher.bean.HistoryData
|
||||
import com.yinuo.safetywatcher.watcher.bean.WarnData
|
||||
import com.yinuo.safetywatcher.watcher.view.CommonTopBar
|
||||
|
||||
class HistoryVideoActivity : BaseActivity() {
|
||||
|
||||
private val mBinding: ActivityHistoryVideoBinding by lazy {
|
||||
ActivityHistoryVideoBinding.inflate(layoutInflater)
|
||||
}
|
||||
|
||||
override fun onOptionClick(type: Int, target: View) {
|
||||
if (0 == type) {
|
||||
|
||||
} else if (1 == type) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
override fun getOptions(): List<CommonTopBar.Option>? {
|
||||
val ops = mutableListOf<CommonTopBar.Option>()
|
||||
ops.add(CommonTopBar.Option(0, getString(R.string.search)))
|
||||
ops.add(CommonTopBar.Option(1, getString(R.string.export)))
|
||||
return ops
|
||||
}
|
||||
|
||||
override fun getTopBarTitle(): String? {
|
||||
return getString(R.string.history_video)
|
||||
}
|
||||
|
||||
override fun generateContentView(): View {
|
||||
return mBinding.root
|
||||
}
|
||||
|
||||
override fun initView() {
|
||||
}
|
||||
}
|
@ -0,0 +1,16 @@
|
||||
package com.yinuo.safetywatcher.watcher.utils
|
||||
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Locale
|
||||
|
||||
object DateUtils {
|
||||
private val dataFormat = SimpleDateFormat("yyyy/MM/dd HH:mm:ss", Locale.ROOT)
|
||||
|
||||
fun formatHistoryTime(time: Long): String? {
|
||||
return dataFormat.format(time)
|
||||
}
|
||||
|
||||
fun formatTime(pattern: String, time: Long): String? {
|
||||
return SimpleDateFormat(pattern, Locale.ROOT).format(time)
|
||||
}
|
||||
}
|
@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/rv_data"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"/>
|
||||
</LinearLayout>
|
@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:orientation="horizontal"
|
||||
android:layout_width="match_parent"
|
||||
android:gravity="center_vertical"
|
||||
android:layout_height="@dimen/_108dp"
|
||||
android:paddingStart="@dimen/_172dp">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_time"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/_30dp"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_sensor"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/_201dp"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/_30dp"/>
|
||||
</LinearLayout>
|
@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:orientation="horizontal"
|
||||
android:layout_width="match_parent"
|
||||
android:gravity="center_vertical"
|
||||
android:layout_height="@dimen/_108dp"
|
||||
android:paddingStart="@dimen/_172dp">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_time"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@color/color_error"
|
||||
android:textSize="@dimen/_30dp"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_sensor"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/_201dp"
|
||||
android:textColor="@color/color_error"
|
||||
android:textSize="@dimen/_30dp"/>
|
||||
</LinearLayout>
|
Loading…
Reference in New Issue