diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 94266cf..77471a9 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -85,6 +85,10 @@
android:name=".watcher.ui.SensorThresholdSetActivity"
android:exported="false"
android:screenOrientation="landscape" />
+
() {
+
+ class HViewHolder(val binding: LayoutItemHistoryBinding) :
+ BaseRvAdapter.BaseViewHolder(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)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/yinuo/safetywatcher/watcher/adapter/WarnDataAdapter.kt b/app/src/main/java/com/yinuo/safetywatcher/watcher/adapter/WarnDataAdapter.kt
new file mode 100644
index 0000000..054902b
--- /dev/null
+++ b/app/src/main/java/com/yinuo/safetywatcher/watcher/adapter/WarnDataAdapter.kt
@@ -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() {
+
+ class WViewHolder(val binding: LayoutItemWarnBinding) :
+ BaseRvAdapter.BaseViewHolder(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)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/yinuo/safetywatcher/watcher/bean/HistoryData.kt b/app/src/main/java/com/yinuo/safetywatcher/watcher/bean/HistoryData.kt
new file mode 100644
index 0000000..fad3a46
--- /dev/null
+++ b/app/src/main/java/com/yinuo/safetywatcher/watcher/bean/HistoryData.kt
@@ -0,0 +1,3 @@
+package com.yinuo.safetywatcher.watcher.bean
+
+data class HistoryData(val time:Long, val sensor:String)
diff --git a/app/src/main/java/com/yinuo/safetywatcher/watcher/bean/WarnData.kt b/app/src/main/java/com/yinuo/safetywatcher/watcher/bean/WarnData.kt
new file mode 100644
index 0000000..559c49b
--- /dev/null
+++ b/app/src/main/java/com/yinuo/safetywatcher/watcher/bean/WarnData.kt
@@ -0,0 +1,3 @@
+package com.yinuo.safetywatcher.watcher.bean
+
+data class WarnData(val time:Long, val error:String)
diff --git a/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/HistoryVideoActivity.kt b/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/HistoryVideoActivity.kt
new file mode 100644
index 0000000..882aa5c
--- /dev/null
+++ b/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/HistoryVideoActivity.kt
@@ -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? {
+ val ops = mutableListOf()
+ 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() {
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/QueryDataActivity.kt b/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/QueryDataActivity.kt
index 4b31239..092d384 100644
--- a/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/QueryDataActivity.kt
+++ b/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/QueryDataActivity.kt
@@ -1,9 +1,12 @@
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.ActivityQueryDataBinding
+import com.yinuo.safetywatcher.watcher.adapter.HistoryDataAdapter
import com.yinuo.safetywatcher.watcher.base.BaseActivity
+import com.yinuo.safetywatcher.watcher.bean.HistoryData
import com.yinuo.safetywatcher.watcher.view.CommonTopBar
class QueryDataActivity : BaseActivity() {
@@ -36,5 +39,13 @@ class QueryDataActivity : BaseActivity() {
}
override fun initView() {
+ mBinding.rvData.layoutManager = LinearLayoutManager(this@QueryDataActivity)
+
+ val adapter = HistoryDataAdapter()
+ val datas = mutableListOf()
+ datas.add(HistoryData(0, "气体传感器"))
+ datas.add(HistoryData(0, "温度传感器"))
+ adapter.setData(datas)
+ mBinding.rvData.adapter = adapter
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/SettingActivity.kt b/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/SettingActivity.kt
index 65006f7..abaeb5a 100644
--- a/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/SettingActivity.kt
+++ b/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/SettingActivity.kt
@@ -34,6 +34,9 @@ class SettingActivity : NoOptionsActivity() {
itemWraning.setOnClickListener {
startActivity(Intent(this@SettingActivity, WarnDataActivity::class.java))
}
+ itemVideo.setOnClickListener {
+ startActivity(Intent(this@SettingActivity, HistoryVideoActivity::class.java))
+ }
itemSensor.setOnClickListener {
startActivity(Intent(this@SettingActivity, SensorActivity::class.java))
}
diff --git a/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/WarnDataActivity.kt b/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/WarnDataActivity.kt
index 0894718..1198a41 100644
--- a/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/WarnDataActivity.kt
+++ b/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/WarnDataActivity.kt
@@ -1,9 +1,14 @@
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.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 WarnDataActivity : BaseActivity() {
@@ -36,5 +41,13 @@ class WarnDataActivity : BaseActivity() {
}
override fun initView() {
+ mBinding.rvData.layoutManager = LinearLayoutManager(this@WarnDataActivity)
+
+ val adapter = WarnDataAdapter()
+ val datas = mutableListOf()
+ datas.add(WarnData(0, "二氧化碳浓度过高"))
+ datas.add(WarnData(0, "温度超标"))
+ adapter.setData(datas)
+ mBinding.rvData.adapter = adapter
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/yinuo/safetywatcher/watcher/utils/DateUtils.kt b/app/src/main/java/com/yinuo/safetywatcher/watcher/utils/DateUtils.kt
new file mode 100644
index 0000000..e091d63
--- /dev/null
+++ b/app/src/main/java/com/yinuo/safetywatcher/watcher/utils/DateUtils.kt
@@ -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)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_history_video.xml b/app/src/main/res/layout/activity_history_video.xml
new file mode 100644
index 0000000..0994f79
--- /dev/null
+++ b/app/src/main/res/layout/activity_history_video.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_query_data.xml b/app/src/main/res/layout/activity_query_data.xml
index 41d2ef1..0994f79 100644
--- a/app/src/main/res/layout/activity_query_data.xml
+++ b/app/src/main/res/layout/activity_query_data.xml
@@ -3,4 +3,8 @@
android:layout_width="match_parent"
android:layout_height="match_parent">
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_setting.xml b/app/src/main/res/layout/activity_setting.xml
index c6db30d..44983ad 100644
--- a/app/src/main/res/layout/activity_setting.xml
+++ b/app/src/main/res/layout/activity_setting.xml
@@ -109,6 +109,33 @@
android:textSize="@dimen/_36dp" />
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/layout_item_history.xml b/app/src/main/res/layout/layout_item_history.xml
new file mode 100644
index 0000000..59b3fcb
--- /dev/null
+++ b/app/src/main/res/layout/layout_item_history.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/layout_item_warn.xml b/app/src/main/res/layout/layout_item_warn.xml
new file mode 100644
index 0000000..fd4674c
--- /dev/null
+++ b/app/src/main/res/layout/layout_item_warn.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 58ce3a5..29b9416 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -9,6 +9,7 @@
背光设置
查询数据
报警数据
+ 历史视频
传感器
传感器数据详情
传感器设置