diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 95caacb..a88c540 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -63,6 +63,7 @@
+
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 95caacb..a88c540 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -63,6 +63,7 @@
+
diff --git a/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt
index 15f5263..46515b2 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt
@@ -15,6 +15,7 @@
import com.pengxh.kt.lite.base.KotlinBaseActivity
import com.pengxh.kt.lite.divider.RecyclerViewItemDivider
import com.pengxh.kt.lite.extensions.convertColor
+import com.pengxh.kt.lite.extensions.dp2px
import com.pengxh.kt.lite.extensions.isNetworkConnected
import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.show
@@ -76,66 +77,7 @@
} else {
binding.emptyView.visibility = View.GONE
binding.recyclerView.visibility = View.VISIBLE
- alarmAdapter = object :
- NormalRecyclerAdapter(
- R.layout.item_alarm_rv_l, dataRows
- ) {
- override fun convertView(
- viewHolder: ViewHolder, position: Int,
- item: AlarmListModel.DataModel.RowsModel
- ) {
- val color = when (item.alarmStatusName) {
- "正在报警" -> R.color.redTextColor.convertColor(context)
- "手动消警" -> R.color.greenColor.convertColor(context)
- else -> R.color.hintTextColor.convertColor(context)
- }
-
- val road = if (item.workRoad.isNullOrBlank()) {
- "未知"
- } else {
- item.workRoad
- }
-
- viewHolder.setText(R.id.alarmStatusView, item.alarmStatusName)
- .setBackgroundColor(R.id.alarmStatusView, color)
- .setText(R.id.alarmContentView, item.alarmContent)
- .setText(R.id.workRoadView, road)
- .setText(R.id.alarmTimeView, item.alarmTime)
- .setImageResource(
- R.id.alarmImageView, item.alarmImage.combineImagePath()
- )
- .setOnClickListener(R.id.alarmImageView) {
- navigatePageTo(
- 0, arrayListOf(item.alarmImage.combineImagePath())
- )
- }
-
- if (item.alarmType == "1" ||
- item.alarmType == "4" ||
- item.alarmType == "5" ||
- item.alarmType == "7" ||
- item.alarmType == "8" ||
- item.alarmType == "9" ||
- item.alarmType == "10"
- ) {
- val ppm = item.alarmValue.toString().toFloat()
- val lel = "%.2f".format(ppm / 500)
- viewHolder.setVisibility(R.id.alarmValueView, View.VISIBLE)
- .setVisibility(R.id.alarmImageView, View.GONE)
- .setText(
- R.id.alarmValueView, "报警值:${lel}%LEL"
- )
- } else {
- viewHolder.setVisibility(
- R.id.alarmValueView, View.INVISIBLE
- ).setVisibility(R.id.alarmImageView, View.VISIBLE)
- }
- }
- }
- binding.recyclerView.adapter = alarmAdapter
- binding.recyclerView.addItemDecoration(
- RecyclerViewItemDivider(0f, 0f, Color.LTGRAY)
- )
+ initRecyclerView(dataRows)
}
}
}
@@ -144,6 +86,80 @@
getAlarmListByPage()
}
+ private fun initRecyclerView(dataRows: MutableList) {
+ alarmAdapter = object :
+ NormalRecyclerAdapter(
+ R.layout.item_alarm_rv_l, dataRows
+ ) {
+ override fun convertView(
+ viewHolder: ViewHolder, position: Int, item: AlarmListModel.DataModel.RowsModel
+ ) {
+ val color = when (item.alarmStatusName) {
+ "正在报警" -> R.color.redTextColor.convertColor(context)
+ "手动消警" -> R.color.greenColor.convertColor(context)
+ else -> R.color.hintTextColor.convertColor(context)
+ }
+
+ val road = if (item.workRoad.isNullOrBlank()) {
+ "未知"
+ } else {
+ item.workRoad
+ }
+
+ viewHolder.setText(R.id.alarmStatusView, item.alarmStatusName)
+ .setBackgroundColor(R.id.alarmStatusView, color)
+ .setText(R.id.alarmContentView, item.alarmContent)
+ .setText(R.id.workRoadView, road)
+ .setText(R.id.alarmTimeView, item.alarmTime)
+ .setImageResource(R.id.alarmImageView, item.alarmImage.combineImagePath())
+ .setOnClickListener(R.id.alarmImageView) {
+ navigatePageTo(
+ 0, arrayListOf(item.alarmImage.combineImagePath())
+ )
+ }
+
+ if (item.alarmType == "1" ||
+ item.alarmType == "4" ||
+ item.alarmType == "5" ||
+ item.alarmType == "7" ||
+ item.alarmType == "8" ||
+ item.alarmType == "9" ||
+ item.alarmType == "10"
+ ) {
+ val ppm = item.alarmValue.toString().toFloat()
+ val lel = "%.2f".format(ppm / 500)
+ viewHolder.setVisibility(R.id.alarmValueView, View.VISIBLE)
+ .setVisibility(R.id.alarmImageView, View.GONE)
+ .setText(R.id.alarmValueView, "报警值:${lel}%LEL")
+ } else {
+ viewHolder.setVisibility(R.id.alarmValueView, View.INVISIBLE)
+ .setVisibility(R.id.alarmImageView, View.VISIBLE)
+ }
+ }
+ }
+ binding.recyclerView.adapter = alarmAdapter
+ binding.recyclerView.addItemDecoration(
+ RecyclerViewItemDivider(0f, 130f.dp2px(this), Color.LTGRAY)
+ )
+ alarmAdapter.setOnItemClickedListener(object :
+ NormalRecyclerAdapter.OnItemClickedListener {
+ override fun onItemClicked(position: Int, item: AlarmListModel.DataModel.RowsModel) {
+ if (item.alarmType == "1" ||
+ item.alarmType == "4" ||
+ item.alarmType == "5" ||
+ item.alarmType == "7" ||
+ item.alarmType == "8" ||
+ item.alarmType == "9" ||
+ item.alarmType == "10"
+ ) {
+ navigatePageTo()
+ } else {
+ "暂时仅支持燃气设备查看浓度趋势".show(this@AlarmListActivity)
+ }
+ }
+ })
+ }
+
override fun observeRequestState() {
alarmViewModel.loadState.observe(this) {
if (isRefresh || isLoadMore) {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 95caacb..a88c540 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -63,6 +63,7 @@
+
diff --git a/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt
index 15f5263..46515b2 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt
@@ -15,6 +15,7 @@
import com.pengxh.kt.lite.base.KotlinBaseActivity
import com.pengxh.kt.lite.divider.RecyclerViewItemDivider
import com.pengxh.kt.lite.extensions.convertColor
+import com.pengxh.kt.lite.extensions.dp2px
import com.pengxh.kt.lite.extensions.isNetworkConnected
import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.show
@@ -76,66 +77,7 @@
} else {
binding.emptyView.visibility = View.GONE
binding.recyclerView.visibility = View.VISIBLE
- alarmAdapter = object :
- NormalRecyclerAdapter(
- R.layout.item_alarm_rv_l, dataRows
- ) {
- override fun convertView(
- viewHolder: ViewHolder, position: Int,
- item: AlarmListModel.DataModel.RowsModel
- ) {
- val color = when (item.alarmStatusName) {
- "正在报警" -> R.color.redTextColor.convertColor(context)
- "手动消警" -> R.color.greenColor.convertColor(context)
- else -> R.color.hintTextColor.convertColor(context)
- }
-
- val road = if (item.workRoad.isNullOrBlank()) {
- "未知"
- } else {
- item.workRoad
- }
-
- viewHolder.setText(R.id.alarmStatusView, item.alarmStatusName)
- .setBackgroundColor(R.id.alarmStatusView, color)
- .setText(R.id.alarmContentView, item.alarmContent)
- .setText(R.id.workRoadView, road)
- .setText(R.id.alarmTimeView, item.alarmTime)
- .setImageResource(
- R.id.alarmImageView, item.alarmImage.combineImagePath()
- )
- .setOnClickListener(R.id.alarmImageView) {
- navigatePageTo(
- 0, arrayListOf(item.alarmImage.combineImagePath())
- )
- }
-
- if (item.alarmType == "1" ||
- item.alarmType == "4" ||
- item.alarmType == "5" ||
- item.alarmType == "7" ||
- item.alarmType == "8" ||
- item.alarmType == "9" ||
- item.alarmType == "10"
- ) {
- val ppm = item.alarmValue.toString().toFloat()
- val lel = "%.2f".format(ppm / 500)
- viewHolder.setVisibility(R.id.alarmValueView, View.VISIBLE)
- .setVisibility(R.id.alarmImageView, View.GONE)
- .setText(
- R.id.alarmValueView, "报警值:${lel}%LEL"
- )
- } else {
- viewHolder.setVisibility(
- R.id.alarmValueView, View.INVISIBLE
- ).setVisibility(R.id.alarmImageView, View.VISIBLE)
- }
- }
- }
- binding.recyclerView.adapter = alarmAdapter
- binding.recyclerView.addItemDecoration(
- RecyclerViewItemDivider(0f, 0f, Color.LTGRAY)
- )
+ initRecyclerView(dataRows)
}
}
}
@@ -144,6 +86,80 @@
getAlarmListByPage()
}
+ private fun initRecyclerView(dataRows: MutableList) {
+ alarmAdapter = object :
+ NormalRecyclerAdapter(
+ R.layout.item_alarm_rv_l, dataRows
+ ) {
+ override fun convertView(
+ viewHolder: ViewHolder, position: Int, item: AlarmListModel.DataModel.RowsModel
+ ) {
+ val color = when (item.alarmStatusName) {
+ "正在报警" -> R.color.redTextColor.convertColor(context)
+ "手动消警" -> R.color.greenColor.convertColor(context)
+ else -> R.color.hintTextColor.convertColor(context)
+ }
+
+ val road = if (item.workRoad.isNullOrBlank()) {
+ "未知"
+ } else {
+ item.workRoad
+ }
+
+ viewHolder.setText(R.id.alarmStatusView, item.alarmStatusName)
+ .setBackgroundColor(R.id.alarmStatusView, color)
+ .setText(R.id.alarmContentView, item.alarmContent)
+ .setText(R.id.workRoadView, road)
+ .setText(R.id.alarmTimeView, item.alarmTime)
+ .setImageResource(R.id.alarmImageView, item.alarmImage.combineImagePath())
+ .setOnClickListener(R.id.alarmImageView) {
+ navigatePageTo(
+ 0, arrayListOf(item.alarmImage.combineImagePath())
+ )
+ }
+
+ if (item.alarmType == "1" ||
+ item.alarmType == "4" ||
+ item.alarmType == "5" ||
+ item.alarmType == "7" ||
+ item.alarmType == "8" ||
+ item.alarmType == "9" ||
+ item.alarmType == "10"
+ ) {
+ val ppm = item.alarmValue.toString().toFloat()
+ val lel = "%.2f".format(ppm / 500)
+ viewHolder.setVisibility(R.id.alarmValueView, View.VISIBLE)
+ .setVisibility(R.id.alarmImageView, View.GONE)
+ .setText(R.id.alarmValueView, "报警值:${lel}%LEL")
+ } else {
+ viewHolder.setVisibility(R.id.alarmValueView, View.INVISIBLE)
+ .setVisibility(R.id.alarmImageView, View.VISIBLE)
+ }
+ }
+ }
+ binding.recyclerView.adapter = alarmAdapter
+ binding.recyclerView.addItemDecoration(
+ RecyclerViewItemDivider(0f, 130f.dp2px(this), Color.LTGRAY)
+ )
+ alarmAdapter.setOnItemClickedListener(object :
+ NormalRecyclerAdapter.OnItemClickedListener {
+ override fun onItemClicked(position: Int, item: AlarmListModel.DataModel.RowsModel) {
+ if (item.alarmType == "1" ||
+ item.alarmType == "4" ||
+ item.alarmType == "5" ||
+ item.alarmType == "7" ||
+ item.alarmType == "8" ||
+ item.alarmType == "9" ||
+ item.alarmType == "10"
+ ) {
+ navigatePageTo()
+ } else {
+ "暂时仅支持燃气设备查看浓度趋势".show(this@AlarmListActivity)
+ }
+ }
+ })
+ }
+
override fun observeRequestState() {
alarmViewModel.loadState.observe(this) {
if (isRefresh || isLoadMore) {
diff --git a/app/src/main/java/com/casic/br/operationsite/view/GasDetailActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/GasDetailActivity.kt
new file mode 100644
index 0000000..cb8fc3b
--- /dev/null
+++ b/app/src/main/java/com/casic/br/operationsite/view/GasDetailActivity.kt
@@ -0,0 +1,77 @@
+package com.casic.br.operationsite.view
+
+import android.os.Bundle
+import com.amap.api.maps.AMap
+import com.casic.br.operationsite.R
+import com.casic.br.operationsite.databinding.ActivityGasDetailBinding
+import com.casic.br.operationsite.extensions.initImmersionBar
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.utils.ActivityStackManager
+import com.pengxh.kt.lite.widget.TitleBarView
+
+class GasDetailActivity : KotlinBaseActivity() {
+
+ private val kTag = "GasDetailActivity"
+ private lateinit var aMap: AMap
+
+ override fun initOnCreate(savedInstanceState: Bundle?) {
+ ActivityStackManager.addActivity(this)
+
+ /**
+ * 地图初始化设置
+ * */
+ binding.mapView.onCreate(savedInstanceState)
+ aMap = binding.mapView.map
+ aMap.mapType = AMap.MAP_TYPE_NORMAL
+ val uiSettings = aMap.uiSettings
+ uiSettings.isTiltGesturesEnabled = false//不许地图随手势倾斜角度
+ uiSettings.isRotateGesturesEnabled = false//不允许地图随手势改变方位
+ }
+
+ override fun initViewBinding(): ActivityGasDetailBinding {
+ return ActivityGasDetailBinding.inflate(layoutInflater)
+ }
+
+ override fun observeRequestState() {
+
+ }
+
+ override fun setupTopBarLayout() {
+ binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor)
+
+ binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener {
+ override fun onLeftClick() {
+ finish()
+ }
+
+ override fun onRightClick() {
+
+ }
+ })
+ }
+
+ override fun initEvent() {
+
+ }
+
+ /**地图相关*********/
+ override fun onResume() {
+ super.onResume()
+ binding.mapView.onResume()
+ }
+
+ override fun onPause() {
+ super.onPause()
+ binding.mapView.onPause()
+ }
+
+ override fun onDestroy() {
+ binding.mapView.onDestroy()
+ super.onDestroy()
+ }
+
+ override fun onSaveInstanceState(outState: Bundle) {
+ super.onSaveInstanceState(outState)
+ binding.mapView.onSaveInstanceState(outState)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 95caacb..a88c540 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -63,6 +63,7 @@
+
diff --git a/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt
index 15f5263..46515b2 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt
@@ -15,6 +15,7 @@
import com.pengxh.kt.lite.base.KotlinBaseActivity
import com.pengxh.kt.lite.divider.RecyclerViewItemDivider
import com.pengxh.kt.lite.extensions.convertColor
+import com.pengxh.kt.lite.extensions.dp2px
import com.pengxh.kt.lite.extensions.isNetworkConnected
import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.show
@@ -76,66 +77,7 @@
} else {
binding.emptyView.visibility = View.GONE
binding.recyclerView.visibility = View.VISIBLE
- alarmAdapter = object :
- NormalRecyclerAdapter(
- R.layout.item_alarm_rv_l, dataRows
- ) {
- override fun convertView(
- viewHolder: ViewHolder, position: Int,
- item: AlarmListModel.DataModel.RowsModel
- ) {
- val color = when (item.alarmStatusName) {
- "正在报警" -> R.color.redTextColor.convertColor(context)
- "手动消警" -> R.color.greenColor.convertColor(context)
- else -> R.color.hintTextColor.convertColor(context)
- }
-
- val road = if (item.workRoad.isNullOrBlank()) {
- "未知"
- } else {
- item.workRoad
- }
-
- viewHolder.setText(R.id.alarmStatusView, item.alarmStatusName)
- .setBackgroundColor(R.id.alarmStatusView, color)
- .setText(R.id.alarmContentView, item.alarmContent)
- .setText(R.id.workRoadView, road)
- .setText(R.id.alarmTimeView, item.alarmTime)
- .setImageResource(
- R.id.alarmImageView, item.alarmImage.combineImagePath()
- )
- .setOnClickListener(R.id.alarmImageView) {
- navigatePageTo(
- 0, arrayListOf(item.alarmImage.combineImagePath())
- )
- }
-
- if (item.alarmType == "1" ||
- item.alarmType == "4" ||
- item.alarmType == "5" ||
- item.alarmType == "7" ||
- item.alarmType == "8" ||
- item.alarmType == "9" ||
- item.alarmType == "10"
- ) {
- val ppm = item.alarmValue.toString().toFloat()
- val lel = "%.2f".format(ppm / 500)
- viewHolder.setVisibility(R.id.alarmValueView, View.VISIBLE)
- .setVisibility(R.id.alarmImageView, View.GONE)
- .setText(
- R.id.alarmValueView, "报警值:${lel}%LEL"
- )
- } else {
- viewHolder.setVisibility(
- R.id.alarmValueView, View.INVISIBLE
- ).setVisibility(R.id.alarmImageView, View.VISIBLE)
- }
- }
- }
- binding.recyclerView.adapter = alarmAdapter
- binding.recyclerView.addItemDecoration(
- RecyclerViewItemDivider(0f, 0f, Color.LTGRAY)
- )
+ initRecyclerView(dataRows)
}
}
}
@@ -144,6 +86,80 @@
getAlarmListByPage()
}
+ private fun initRecyclerView(dataRows: MutableList) {
+ alarmAdapter = object :
+ NormalRecyclerAdapter(
+ R.layout.item_alarm_rv_l, dataRows
+ ) {
+ override fun convertView(
+ viewHolder: ViewHolder, position: Int, item: AlarmListModel.DataModel.RowsModel
+ ) {
+ val color = when (item.alarmStatusName) {
+ "正在报警" -> R.color.redTextColor.convertColor(context)
+ "手动消警" -> R.color.greenColor.convertColor(context)
+ else -> R.color.hintTextColor.convertColor(context)
+ }
+
+ val road = if (item.workRoad.isNullOrBlank()) {
+ "未知"
+ } else {
+ item.workRoad
+ }
+
+ viewHolder.setText(R.id.alarmStatusView, item.alarmStatusName)
+ .setBackgroundColor(R.id.alarmStatusView, color)
+ .setText(R.id.alarmContentView, item.alarmContent)
+ .setText(R.id.workRoadView, road)
+ .setText(R.id.alarmTimeView, item.alarmTime)
+ .setImageResource(R.id.alarmImageView, item.alarmImage.combineImagePath())
+ .setOnClickListener(R.id.alarmImageView) {
+ navigatePageTo(
+ 0, arrayListOf(item.alarmImage.combineImagePath())
+ )
+ }
+
+ if (item.alarmType == "1" ||
+ item.alarmType == "4" ||
+ item.alarmType == "5" ||
+ item.alarmType == "7" ||
+ item.alarmType == "8" ||
+ item.alarmType == "9" ||
+ item.alarmType == "10"
+ ) {
+ val ppm = item.alarmValue.toString().toFloat()
+ val lel = "%.2f".format(ppm / 500)
+ viewHolder.setVisibility(R.id.alarmValueView, View.VISIBLE)
+ .setVisibility(R.id.alarmImageView, View.GONE)
+ .setText(R.id.alarmValueView, "报警值:${lel}%LEL")
+ } else {
+ viewHolder.setVisibility(R.id.alarmValueView, View.INVISIBLE)
+ .setVisibility(R.id.alarmImageView, View.VISIBLE)
+ }
+ }
+ }
+ binding.recyclerView.adapter = alarmAdapter
+ binding.recyclerView.addItemDecoration(
+ RecyclerViewItemDivider(0f, 130f.dp2px(this), Color.LTGRAY)
+ )
+ alarmAdapter.setOnItemClickedListener(object :
+ NormalRecyclerAdapter.OnItemClickedListener {
+ override fun onItemClicked(position: Int, item: AlarmListModel.DataModel.RowsModel) {
+ if (item.alarmType == "1" ||
+ item.alarmType == "4" ||
+ item.alarmType == "5" ||
+ item.alarmType == "7" ||
+ item.alarmType == "8" ||
+ item.alarmType == "9" ||
+ item.alarmType == "10"
+ ) {
+ navigatePageTo()
+ } else {
+ "暂时仅支持燃气设备查看浓度趋势".show(this@AlarmListActivity)
+ }
+ }
+ })
+ }
+
override fun observeRequestState() {
alarmViewModel.loadState.observe(this) {
if (isRefresh || isLoadMore) {
diff --git a/app/src/main/java/com/casic/br/operationsite/view/GasDetailActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/GasDetailActivity.kt
new file mode 100644
index 0000000..cb8fc3b
--- /dev/null
+++ b/app/src/main/java/com/casic/br/operationsite/view/GasDetailActivity.kt
@@ -0,0 +1,77 @@
+package com.casic.br.operationsite.view
+
+import android.os.Bundle
+import com.amap.api.maps.AMap
+import com.casic.br.operationsite.R
+import com.casic.br.operationsite.databinding.ActivityGasDetailBinding
+import com.casic.br.operationsite.extensions.initImmersionBar
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.utils.ActivityStackManager
+import com.pengxh.kt.lite.widget.TitleBarView
+
+class GasDetailActivity : KotlinBaseActivity() {
+
+ private val kTag = "GasDetailActivity"
+ private lateinit var aMap: AMap
+
+ override fun initOnCreate(savedInstanceState: Bundle?) {
+ ActivityStackManager.addActivity(this)
+
+ /**
+ * 地图初始化设置
+ * */
+ binding.mapView.onCreate(savedInstanceState)
+ aMap = binding.mapView.map
+ aMap.mapType = AMap.MAP_TYPE_NORMAL
+ val uiSettings = aMap.uiSettings
+ uiSettings.isTiltGesturesEnabled = false//不许地图随手势倾斜角度
+ uiSettings.isRotateGesturesEnabled = false//不允许地图随手势改变方位
+ }
+
+ override fun initViewBinding(): ActivityGasDetailBinding {
+ return ActivityGasDetailBinding.inflate(layoutInflater)
+ }
+
+ override fun observeRequestState() {
+
+ }
+
+ override fun setupTopBarLayout() {
+ binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor)
+
+ binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener {
+ override fun onLeftClick() {
+ finish()
+ }
+
+ override fun onRightClick() {
+
+ }
+ })
+ }
+
+ override fun initEvent() {
+
+ }
+
+ /**地图相关*********/
+ override fun onResume() {
+ super.onResume()
+ binding.mapView.onResume()
+ }
+
+ override fun onPause() {
+ super.onPause()
+ binding.mapView.onPause()
+ }
+
+ override fun onDestroy() {
+ binding.mapView.onDestroy()
+ super.onDestroy()
+ }
+
+ override fun onSaveInstanceState(outState: Bundle) {
+ super.onSaveInstanceState(outState)
+ binding.mapView.onSaveInstanceState(outState)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/operationsite/widgets/CustomMapView.kt b/app/src/main/java/com/casic/br/operationsite/widgets/CustomMapView.kt
new file mode 100644
index 0000000..67e831c
--- /dev/null
+++ b/app/src/main/java/com/casic/br/operationsite/widgets/CustomMapView.kt
@@ -0,0 +1,19 @@
+package com.casic.br.operationsite.widgets
+
+import android.content.Context
+import android.util.AttributeSet
+import android.view.MotionEvent
+import com.amap.api.maps.MapView
+
+/**
+ * 解决[com.amap.api.maps.MapView]和[androidx.core.widget.NestedScrollView]的滑动冲突
+ */
+class CustomMapView @JvmOverloads constructor(
+ context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0
+) : MapView(context, attrs, defStyleAttr) {
+
+ override fun dispatchTouchEvent(ev: MotionEvent): Boolean {
+ parent.requestDisallowInterceptTouchEvent(true)
+ return super.dispatchTouchEvent(ev)
+ }
+}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 95caacb..a88c540 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -63,6 +63,7 @@
+
diff --git a/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt
index 15f5263..46515b2 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt
@@ -15,6 +15,7 @@
import com.pengxh.kt.lite.base.KotlinBaseActivity
import com.pengxh.kt.lite.divider.RecyclerViewItemDivider
import com.pengxh.kt.lite.extensions.convertColor
+import com.pengxh.kt.lite.extensions.dp2px
import com.pengxh.kt.lite.extensions.isNetworkConnected
import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.show
@@ -76,66 +77,7 @@
} else {
binding.emptyView.visibility = View.GONE
binding.recyclerView.visibility = View.VISIBLE
- alarmAdapter = object :
- NormalRecyclerAdapter(
- R.layout.item_alarm_rv_l, dataRows
- ) {
- override fun convertView(
- viewHolder: ViewHolder, position: Int,
- item: AlarmListModel.DataModel.RowsModel
- ) {
- val color = when (item.alarmStatusName) {
- "正在报警" -> R.color.redTextColor.convertColor(context)
- "手动消警" -> R.color.greenColor.convertColor(context)
- else -> R.color.hintTextColor.convertColor(context)
- }
-
- val road = if (item.workRoad.isNullOrBlank()) {
- "未知"
- } else {
- item.workRoad
- }
-
- viewHolder.setText(R.id.alarmStatusView, item.alarmStatusName)
- .setBackgroundColor(R.id.alarmStatusView, color)
- .setText(R.id.alarmContentView, item.alarmContent)
- .setText(R.id.workRoadView, road)
- .setText(R.id.alarmTimeView, item.alarmTime)
- .setImageResource(
- R.id.alarmImageView, item.alarmImage.combineImagePath()
- )
- .setOnClickListener(R.id.alarmImageView) {
- navigatePageTo(
- 0, arrayListOf(item.alarmImage.combineImagePath())
- )
- }
-
- if (item.alarmType == "1" ||
- item.alarmType == "4" ||
- item.alarmType == "5" ||
- item.alarmType == "7" ||
- item.alarmType == "8" ||
- item.alarmType == "9" ||
- item.alarmType == "10"
- ) {
- val ppm = item.alarmValue.toString().toFloat()
- val lel = "%.2f".format(ppm / 500)
- viewHolder.setVisibility(R.id.alarmValueView, View.VISIBLE)
- .setVisibility(R.id.alarmImageView, View.GONE)
- .setText(
- R.id.alarmValueView, "报警值:${lel}%LEL"
- )
- } else {
- viewHolder.setVisibility(
- R.id.alarmValueView, View.INVISIBLE
- ).setVisibility(R.id.alarmImageView, View.VISIBLE)
- }
- }
- }
- binding.recyclerView.adapter = alarmAdapter
- binding.recyclerView.addItemDecoration(
- RecyclerViewItemDivider(0f, 0f, Color.LTGRAY)
- )
+ initRecyclerView(dataRows)
}
}
}
@@ -144,6 +86,80 @@
getAlarmListByPage()
}
+ private fun initRecyclerView(dataRows: MutableList) {
+ alarmAdapter = object :
+ NormalRecyclerAdapter(
+ R.layout.item_alarm_rv_l, dataRows
+ ) {
+ override fun convertView(
+ viewHolder: ViewHolder, position: Int, item: AlarmListModel.DataModel.RowsModel
+ ) {
+ val color = when (item.alarmStatusName) {
+ "正在报警" -> R.color.redTextColor.convertColor(context)
+ "手动消警" -> R.color.greenColor.convertColor(context)
+ else -> R.color.hintTextColor.convertColor(context)
+ }
+
+ val road = if (item.workRoad.isNullOrBlank()) {
+ "未知"
+ } else {
+ item.workRoad
+ }
+
+ viewHolder.setText(R.id.alarmStatusView, item.alarmStatusName)
+ .setBackgroundColor(R.id.alarmStatusView, color)
+ .setText(R.id.alarmContentView, item.alarmContent)
+ .setText(R.id.workRoadView, road)
+ .setText(R.id.alarmTimeView, item.alarmTime)
+ .setImageResource(R.id.alarmImageView, item.alarmImage.combineImagePath())
+ .setOnClickListener(R.id.alarmImageView) {
+ navigatePageTo(
+ 0, arrayListOf(item.alarmImage.combineImagePath())
+ )
+ }
+
+ if (item.alarmType == "1" ||
+ item.alarmType == "4" ||
+ item.alarmType == "5" ||
+ item.alarmType == "7" ||
+ item.alarmType == "8" ||
+ item.alarmType == "9" ||
+ item.alarmType == "10"
+ ) {
+ val ppm = item.alarmValue.toString().toFloat()
+ val lel = "%.2f".format(ppm / 500)
+ viewHolder.setVisibility(R.id.alarmValueView, View.VISIBLE)
+ .setVisibility(R.id.alarmImageView, View.GONE)
+ .setText(R.id.alarmValueView, "报警值:${lel}%LEL")
+ } else {
+ viewHolder.setVisibility(R.id.alarmValueView, View.INVISIBLE)
+ .setVisibility(R.id.alarmImageView, View.VISIBLE)
+ }
+ }
+ }
+ binding.recyclerView.adapter = alarmAdapter
+ binding.recyclerView.addItemDecoration(
+ RecyclerViewItemDivider(0f, 130f.dp2px(this), Color.LTGRAY)
+ )
+ alarmAdapter.setOnItemClickedListener(object :
+ NormalRecyclerAdapter.OnItemClickedListener {
+ override fun onItemClicked(position: Int, item: AlarmListModel.DataModel.RowsModel) {
+ if (item.alarmType == "1" ||
+ item.alarmType == "4" ||
+ item.alarmType == "5" ||
+ item.alarmType == "7" ||
+ item.alarmType == "8" ||
+ item.alarmType == "9" ||
+ item.alarmType == "10"
+ ) {
+ navigatePageTo()
+ } else {
+ "暂时仅支持燃气设备查看浓度趋势".show(this@AlarmListActivity)
+ }
+ }
+ })
+ }
+
override fun observeRequestState() {
alarmViewModel.loadState.observe(this) {
if (isRefresh || isLoadMore) {
diff --git a/app/src/main/java/com/casic/br/operationsite/view/GasDetailActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/GasDetailActivity.kt
new file mode 100644
index 0000000..cb8fc3b
--- /dev/null
+++ b/app/src/main/java/com/casic/br/operationsite/view/GasDetailActivity.kt
@@ -0,0 +1,77 @@
+package com.casic.br.operationsite.view
+
+import android.os.Bundle
+import com.amap.api.maps.AMap
+import com.casic.br.operationsite.R
+import com.casic.br.operationsite.databinding.ActivityGasDetailBinding
+import com.casic.br.operationsite.extensions.initImmersionBar
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.utils.ActivityStackManager
+import com.pengxh.kt.lite.widget.TitleBarView
+
+class GasDetailActivity : KotlinBaseActivity() {
+
+ private val kTag = "GasDetailActivity"
+ private lateinit var aMap: AMap
+
+ override fun initOnCreate(savedInstanceState: Bundle?) {
+ ActivityStackManager.addActivity(this)
+
+ /**
+ * 地图初始化设置
+ * */
+ binding.mapView.onCreate(savedInstanceState)
+ aMap = binding.mapView.map
+ aMap.mapType = AMap.MAP_TYPE_NORMAL
+ val uiSettings = aMap.uiSettings
+ uiSettings.isTiltGesturesEnabled = false//不许地图随手势倾斜角度
+ uiSettings.isRotateGesturesEnabled = false//不允许地图随手势改变方位
+ }
+
+ override fun initViewBinding(): ActivityGasDetailBinding {
+ return ActivityGasDetailBinding.inflate(layoutInflater)
+ }
+
+ override fun observeRequestState() {
+
+ }
+
+ override fun setupTopBarLayout() {
+ binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor)
+
+ binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener {
+ override fun onLeftClick() {
+ finish()
+ }
+
+ override fun onRightClick() {
+
+ }
+ })
+ }
+
+ override fun initEvent() {
+
+ }
+
+ /**地图相关*********/
+ override fun onResume() {
+ super.onResume()
+ binding.mapView.onResume()
+ }
+
+ override fun onPause() {
+ super.onPause()
+ binding.mapView.onPause()
+ }
+
+ override fun onDestroy() {
+ binding.mapView.onDestroy()
+ super.onDestroy()
+ }
+
+ override fun onSaveInstanceState(outState: Bundle) {
+ super.onSaveInstanceState(outState)
+ binding.mapView.onSaveInstanceState(outState)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/operationsite/widgets/CustomMapView.kt b/app/src/main/java/com/casic/br/operationsite/widgets/CustomMapView.kt
new file mode 100644
index 0000000..67e831c
--- /dev/null
+++ b/app/src/main/java/com/casic/br/operationsite/widgets/CustomMapView.kt
@@ -0,0 +1,19 @@
+package com.casic.br.operationsite.widgets
+
+import android.content.Context
+import android.util.AttributeSet
+import android.view.MotionEvent
+import com.amap.api.maps.MapView
+
+/**
+ * 解决[com.amap.api.maps.MapView]和[androidx.core.widget.NestedScrollView]的滑动冲突
+ */
+class CustomMapView @JvmOverloads constructor(
+ context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0
+) : MapView(context, attrs, defStyleAttr) {
+
+ override fun dispatchTouchEvent(ev: MotionEvent): Boolean {
+ parent.requestDisallowInterceptTouchEvent(true)
+ return super.dispatchTouchEvent(ev)
+ }
+}
diff --git a/app/src/main/res/layout/activity_apply_enter.xml b/app/src/main/res/layout/activity_apply_enter.xml
index f380cd0..a99961b 100644
--- a/app/src/main/res/layout/activity_apply_enter.xml
+++ b/app/src/main/res/layout/activity_apply_enter.xml
@@ -12,6 +12,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/mainThemeColor"
+ app:tbv_smaller_title="true"
app:tbv_text="人员信息" />
+
diff --git a/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt
index 15f5263..46515b2 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt
@@ -15,6 +15,7 @@
import com.pengxh.kt.lite.base.KotlinBaseActivity
import com.pengxh.kt.lite.divider.RecyclerViewItemDivider
import com.pengxh.kt.lite.extensions.convertColor
+import com.pengxh.kt.lite.extensions.dp2px
import com.pengxh.kt.lite.extensions.isNetworkConnected
import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.show
@@ -76,66 +77,7 @@
} else {
binding.emptyView.visibility = View.GONE
binding.recyclerView.visibility = View.VISIBLE
- alarmAdapter = object :
- NormalRecyclerAdapter(
- R.layout.item_alarm_rv_l, dataRows
- ) {
- override fun convertView(
- viewHolder: ViewHolder, position: Int,
- item: AlarmListModel.DataModel.RowsModel
- ) {
- val color = when (item.alarmStatusName) {
- "正在报警" -> R.color.redTextColor.convertColor(context)
- "手动消警" -> R.color.greenColor.convertColor(context)
- else -> R.color.hintTextColor.convertColor(context)
- }
-
- val road = if (item.workRoad.isNullOrBlank()) {
- "未知"
- } else {
- item.workRoad
- }
-
- viewHolder.setText(R.id.alarmStatusView, item.alarmStatusName)
- .setBackgroundColor(R.id.alarmStatusView, color)
- .setText(R.id.alarmContentView, item.alarmContent)
- .setText(R.id.workRoadView, road)
- .setText(R.id.alarmTimeView, item.alarmTime)
- .setImageResource(
- R.id.alarmImageView, item.alarmImage.combineImagePath()
- )
- .setOnClickListener(R.id.alarmImageView) {
- navigatePageTo(
- 0, arrayListOf(item.alarmImage.combineImagePath())
- )
- }
-
- if (item.alarmType == "1" ||
- item.alarmType == "4" ||
- item.alarmType == "5" ||
- item.alarmType == "7" ||
- item.alarmType == "8" ||
- item.alarmType == "9" ||
- item.alarmType == "10"
- ) {
- val ppm = item.alarmValue.toString().toFloat()
- val lel = "%.2f".format(ppm / 500)
- viewHolder.setVisibility(R.id.alarmValueView, View.VISIBLE)
- .setVisibility(R.id.alarmImageView, View.GONE)
- .setText(
- R.id.alarmValueView, "报警值:${lel}%LEL"
- )
- } else {
- viewHolder.setVisibility(
- R.id.alarmValueView, View.INVISIBLE
- ).setVisibility(R.id.alarmImageView, View.VISIBLE)
- }
- }
- }
- binding.recyclerView.adapter = alarmAdapter
- binding.recyclerView.addItemDecoration(
- RecyclerViewItemDivider(0f, 0f, Color.LTGRAY)
- )
+ initRecyclerView(dataRows)
}
}
}
@@ -144,6 +86,80 @@
getAlarmListByPage()
}
+ private fun initRecyclerView(dataRows: MutableList) {
+ alarmAdapter = object :
+ NormalRecyclerAdapter(
+ R.layout.item_alarm_rv_l, dataRows
+ ) {
+ override fun convertView(
+ viewHolder: ViewHolder, position: Int, item: AlarmListModel.DataModel.RowsModel
+ ) {
+ val color = when (item.alarmStatusName) {
+ "正在报警" -> R.color.redTextColor.convertColor(context)
+ "手动消警" -> R.color.greenColor.convertColor(context)
+ else -> R.color.hintTextColor.convertColor(context)
+ }
+
+ val road = if (item.workRoad.isNullOrBlank()) {
+ "未知"
+ } else {
+ item.workRoad
+ }
+
+ viewHolder.setText(R.id.alarmStatusView, item.alarmStatusName)
+ .setBackgroundColor(R.id.alarmStatusView, color)
+ .setText(R.id.alarmContentView, item.alarmContent)
+ .setText(R.id.workRoadView, road)
+ .setText(R.id.alarmTimeView, item.alarmTime)
+ .setImageResource(R.id.alarmImageView, item.alarmImage.combineImagePath())
+ .setOnClickListener(R.id.alarmImageView) {
+ navigatePageTo(
+ 0, arrayListOf(item.alarmImage.combineImagePath())
+ )
+ }
+
+ if (item.alarmType == "1" ||
+ item.alarmType == "4" ||
+ item.alarmType == "5" ||
+ item.alarmType == "7" ||
+ item.alarmType == "8" ||
+ item.alarmType == "9" ||
+ item.alarmType == "10"
+ ) {
+ val ppm = item.alarmValue.toString().toFloat()
+ val lel = "%.2f".format(ppm / 500)
+ viewHolder.setVisibility(R.id.alarmValueView, View.VISIBLE)
+ .setVisibility(R.id.alarmImageView, View.GONE)
+ .setText(R.id.alarmValueView, "报警值:${lel}%LEL")
+ } else {
+ viewHolder.setVisibility(R.id.alarmValueView, View.INVISIBLE)
+ .setVisibility(R.id.alarmImageView, View.VISIBLE)
+ }
+ }
+ }
+ binding.recyclerView.adapter = alarmAdapter
+ binding.recyclerView.addItemDecoration(
+ RecyclerViewItemDivider(0f, 130f.dp2px(this), Color.LTGRAY)
+ )
+ alarmAdapter.setOnItemClickedListener(object :
+ NormalRecyclerAdapter.OnItemClickedListener {
+ override fun onItemClicked(position: Int, item: AlarmListModel.DataModel.RowsModel) {
+ if (item.alarmType == "1" ||
+ item.alarmType == "4" ||
+ item.alarmType == "5" ||
+ item.alarmType == "7" ||
+ item.alarmType == "8" ||
+ item.alarmType == "9" ||
+ item.alarmType == "10"
+ ) {
+ navigatePageTo()
+ } else {
+ "暂时仅支持燃气设备查看浓度趋势".show(this@AlarmListActivity)
+ }
+ }
+ })
+ }
+
override fun observeRequestState() {
alarmViewModel.loadState.observe(this) {
if (isRefresh || isLoadMore) {
diff --git a/app/src/main/java/com/casic/br/operationsite/view/GasDetailActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/GasDetailActivity.kt
new file mode 100644
index 0000000..cb8fc3b
--- /dev/null
+++ b/app/src/main/java/com/casic/br/operationsite/view/GasDetailActivity.kt
@@ -0,0 +1,77 @@
+package com.casic.br.operationsite.view
+
+import android.os.Bundle
+import com.amap.api.maps.AMap
+import com.casic.br.operationsite.R
+import com.casic.br.operationsite.databinding.ActivityGasDetailBinding
+import com.casic.br.operationsite.extensions.initImmersionBar
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.utils.ActivityStackManager
+import com.pengxh.kt.lite.widget.TitleBarView
+
+class GasDetailActivity : KotlinBaseActivity() {
+
+ private val kTag = "GasDetailActivity"
+ private lateinit var aMap: AMap
+
+ override fun initOnCreate(savedInstanceState: Bundle?) {
+ ActivityStackManager.addActivity(this)
+
+ /**
+ * 地图初始化设置
+ * */
+ binding.mapView.onCreate(savedInstanceState)
+ aMap = binding.mapView.map
+ aMap.mapType = AMap.MAP_TYPE_NORMAL
+ val uiSettings = aMap.uiSettings
+ uiSettings.isTiltGesturesEnabled = false//不许地图随手势倾斜角度
+ uiSettings.isRotateGesturesEnabled = false//不允许地图随手势改变方位
+ }
+
+ override fun initViewBinding(): ActivityGasDetailBinding {
+ return ActivityGasDetailBinding.inflate(layoutInflater)
+ }
+
+ override fun observeRequestState() {
+
+ }
+
+ override fun setupTopBarLayout() {
+ binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor)
+
+ binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener {
+ override fun onLeftClick() {
+ finish()
+ }
+
+ override fun onRightClick() {
+
+ }
+ })
+ }
+
+ override fun initEvent() {
+
+ }
+
+ /**地图相关*********/
+ override fun onResume() {
+ super.onResume()
+ binding.mapView.onResume()
+ }
+
+ override fun onPause() {
+ super.onPause()
+ binding.mapView.onPause()
+ }
+
+ override fun onDestroy() {
+ binding.mapView.onDestroy()
+ super.onDestroy()
+ }
+
+ override fun onSaveInstanceState(outState: Bundle) {
+ super.onSaveInstanceState(outState)
+ binding.mapView.onSaveInstanceState(outState)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/operationsite/widgets/CustomMapView.kt b/app/src/main/java/com/casic/br/operationsite/widgets/CustomMapView.kt
new file mode 100644
index 0000000..67e831c
--- /dev/null
+++ b/app/src/main/java/com/casic/br/operationsite/widgets/CustomMapView.kt
@@ -0,0 +1,19 @@
+package com.casic.br.operationsite.widgets
+
+import android.content.Context
+import android.util.AttributeSet
+import android.view.MotionEvent
+import com.amap.api.maps.MapView
+
+/**
+ * 解决[com.amap.api.maps.MapView]和[androidx.core.widget.NestedScrollView]的滑动冲突
+ */
+class CustomMapView @JvmOverloads constructor(
+ context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0
+) : MapView(context, attrs, defStyleAttr) {
+
+ override fun dispatchTouchEvent(ev: MotionEvent): Boolean {
+ parent.requestDisallowInterceptTouchEvent(true)
+ return super.dispatchTouchEvent(ev)
+ }
+}
diff --git a/app/src/main/res/layout/activity_apply_enter.xml b/app/src/main/res/layout/activity_apply_enter.xml
index f380cd0..a99961b 100644
--- a/app/src/main/res/layout/activity_apply_enter.xml
+++ b/app/src/main/res/layout/activity_apply_enter.xml
@@ -12,6 +12,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/mainThemeColor"
+ app:tbv_smaller_title="true"
app:tbv_text="人员信息" />
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 95caacb..a88c540 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -63,6 +63,7 @@
+
diff --git a/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt
index 15f5263..46515b2 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt
@@ -15,6 +15,7 @@
import com.pengxh.kt.lite.base.KotlinBaseActivity
import com.pengxh.kt.lite.divider.RecyclerViewItemDivider
import com.pengxh.kt.lite.extensions.convertColor
+import com.pengxh.kt.lite.extensions.dp2px
import com.pengxh.kt.lite.extensions.isNetworkConnected
import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.show
@@ -76,66 +77,7 @@
} else {
binding.emptyView.visibility = View.GONE
binding.recyclerView.visibility = View.VISIBLE
- alarmAdapter = object :
- NormalRecyclerAdapter(
- R.layout.item_alarm_rv_l, dataRows
- ) {
- override fun convertView(
- viewHolder: ViewHolder, position: Int,
- item: AlarmListModel.DataModel.RowsModel
- ) {
- val color = when (item.alarmStatusName) {
- "正在报警" -> R.color.redTextColor.convertColor(context)
- "手动消警" -> R.color.greenColor.convertColor(context)
- else -> R.color.hintTextColor.convertColor(context)
- }
-
- val road = if (item.workRoad.isNullOrBlank()) {
- "未知"
- } else {
- item.workRoad
- }
-
- viewHolder.setText(R.id.alarmStatusView, item.alarmStatusName)
- .setBackgroundColor(R.id.alarmStatusView, color)
- .setText(R.id.alarmContentView, item.alarmContent)
- .setText(R.id.workRoadView, road)
- .setText(R.id.alarmTimeView, item.alarmTime)
- .setImageResource(
- R.id.alarmImageView, item.alarmImage.combineImagePath()
- )
- .setOnClickListener(R.id.alarmImageView) {
- navigatePageTo(
- 0, arrayListOf(item.alarmImage.combineImagePath())
- )
- }
-
- if (item.alarmType == "1" ||
- item.alarmType == "4" ||
- item.alarmType == "5" ||
- item.alarmType == "7" ||
- item.alarmType == "8" ||
- item.alarmType == "9" ||
- item.alarmType == "10"
- ) {
- val ppm = item.alarmValue.toString().toFloat()
- val lel = "%.2f".format(ppm / 500)
- viewHolder.setVisibility(R.id.alarmValueView, View.VISIBLE)
- .setVisibility(R.id.alarmImageView, View.GONE)
- .setText(
- R.id.alarmValueView, "报警值:${lel}%LEL"
- )
- } else {
- viewHolder.setVisibility(
- R.id.alarmValueView, View.INVISIBLE
- ).setVisibility(R.id.alarmImageView, View.VISIBLE)
- }
- }
- }
- binding.recyclerView.adapter = alarmAdapter
- binding.recyclerView.addItemDecoration(
- RecyclerViewItemDivider(0f, 0f, Color.LTGRAY)
- )
+ initRecyclerView(dataRows)
}
}
}
@@ -144,6 +86,80 @@
getAlarmListByPage()
}
+ private fun initRecyclerView(dataRows: MutableList) {
+ alarmAdapter = object :
+ NormalRecyclerAdapter(
+ R.layout.item_alarm_rv_l, dataRows
+ ) {
+ override fun convertView(
+ viewHolder: ViewHolder, position: Int, item: AlarmListModel.DataModel.RowsModel
+ ) {
+ val color = when (item.alarmStatusName) {
+ "正在报警" -> R.color.redTextColor.convertColor(context)
+ "手动消警" -> R.color.greenColor.convertColor(context)
+ else -> R.color.hintTextColor.convertColor(context)
+ }
+
+ val road = if (item.workRoad.isNullOrBlank()) {
+ "未知"
+ } else {
+ item.workRoad
+ }
+
+ viewHolder.setText(R.id.alarmStatusView, item.alarmStatusName)
+ .setBackgroundColor(R.id.alarmStatusView, color)
+ .setText(R.id.alarmContentView, item.alarmContent)
+ .setText(R.id.workRoadView, road)
+ .setText(R.id.alarmTimeView, item.alarmTime)
+ .setImageResource(R.id.alarmImageView, item.alarmImage.combineImagePath())
+ .setOnClickListener(R.id.alarmImageView) {
+ navigatePageTo(
+ 0, arrayListOf(item.alarmImage.combineImagePath())
+ )
+ }
+
+ if (item.alarmType == "1" ||
+ item.alarmType == "4" ||
+ item.alarmType == "5" ||
+ item.alarmType == "7" ||
+ item.alarmType == "8" ||
+ item.alarmType == "9" ||
+ item.alarmType == "10"
+ ) {
+ val ppm = item.alarmValue.toString().toFloat()
+ val lel = "%.2f".format(ppm / 500)
+ viewHolder.setVisibility(R.id.alarmValueView, View.VISIBLE)
+ .setVisibility(R.id.alarmImageView, View.GONE)
+ .setText(R.id.alarmValueView, "报警值:${lel}%LEL")
+ } else {
+ viewHolder.setVisibility(R.id.alarmValueView, View.INVISIBLE)
+ .setVisibility(R.id.alarmImageView, View.VISIBLE)
+ }
+ }
+ }
+ binding.recyclerView.adapter = alarmAdapter
+ binding.recyclerView.addItemDecoration(
+ RecyclerViewItemDivider(0f, 130f.dp2px(this), Color.LTGRAY)
+ )
+ alarmAdapter.setOnItemClickedListener(object :
+ NormalRecyclerAdapter.OnItemClickedListener {
+ override fun onItemClicked(position: Int, item: AlarmListModel.DataModel.RowsModel) {
+ if (item.alarmType == "1" ||
+ item.alarmType == "4" ||
+ item.alarmType == "5" ||
+ item.alarmType == "7" ||
+ item.alarmType == "8" ||
+ item.alarmType == "9" ||
+ item.alarmType == "10"
+ ) {
+ navigatePageTo()
+ } else {
+ "暂时仅支持燃气设备查看浓度趋势".show(this@AlarmListActivity)
+ }
+ }
+ })
+ }
+
override fun observeRequestState() {
alarmViewModel.loadState.observe(this) {
if (isRefresh || isLoadMore) {
diff --git a/app/src/main/java/com/casic/br/operationsite/view/GasDetailActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/GasDetailActivity.kt
new file mode 100644
index 0000000..cb8fc3b
--- /dev/null
+++ b/app/src/main/java/com/casic/br/operationsite/view/GasDetailActivity.kt
@@ -0,0 +1,77 @@
+package com.casic.br.operationsite.view
+
+import android.os.Bundle
+import com.amap.api.maps.AMap
+import com.casic.br.operationsite.R
+import com.casic.br.operationsite.databinding.ActivityGasDetailBinding
+import com.casic.br.operationsite.extensions.initImmersionBar
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.utils.ActivityStackManager
+import com.pengxh.kt.lite.widget.TitleBarView
+
+class GasDetailActivity : KotlinBaseActivity() {
+
+ private val kTag = "GasDetailActivity"
+ private lateinit var aMap: AMap
+
+ override fun initOnCreate(savedInstanceState: Bundle?) {
+ ActivityStackManager.addActivity(this)
+
+ /**
+ * 地图初始化设置
+ * */
+ binding.mapView.onCreate(savedInstanceState)
+ aMap = binding.mapView.map
+ aMap.mapType = AMap.MAP_TYPE_NORMAL
+ val uiSettings = aMap.uiSettings
+ uiSettings.isTiltGesturesEnabled = false//不许地图随手势倾斜角度
+ uiSettings.isRotateGesturesEnabled = false//不允许地图随手势改变方位
+ }
+
+ override fun initViewBinding(): ActivityGasDetailBinding {
+ return ActivityGasDetailBinding.inflate(layoutInflater)
+ }
+
+ override fun observeRequestState() {
+
+ }
+
+ override fun setupTopBarLayout() {
+ binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor)
+
+ binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener {
+ override fun onLeftClick() {
+ finish()
+ }
+
+ override fun onRightClick() {
+
+ }
+ })
+ }
+
+ override fun initEvent() {
+
+ }
+
+ /**地图相关*********/
+ override fun onResume() {
+ super.onResume()
+ binding.mapView.onResume()
+ }
+
+ override fun onPause() {
+ super.onPause()
+ binding.mapView.onPause()
+ }
+
+ override fun onDestroy() {
+ binding.mapView.onDestroy()
+ super.onDestroy()
+ }
+
+ override fun onSaveInstanceState(outState: Bundle) {
+ super.onSaveInstanceState(outState)
+ binding.mapView.onSaveInstanceState(outState)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/operationsite/widgets/CustomMapView.kt b/app/src/main/java/com/casic/br/operationsite/widgets/CustomMapView.kt
new file mode 100644
index 0000000..67e831c
--- /dev/null
+++ b/app/src/main/java/com/casic/br/operationsite/widgets/CustomMapView.kt
@@ -0,0 +1,19 @@
+package com.casic.br.operationsite.widgets
+
+import android.content.Context
+import android.util.AttributeSet
+import android.view.MotionEvent
+import com.amap.api.maps.MapView
+
+/**
+ * 解决[com.amap.api.maps.MapView]和[androidx.core.widget.NestedScrollView]的滑动冲突
+ */
+class CustomMapView @JvmOverloads constructor(
+ context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0
+) : MapView(context, attrs, defStyleAttr) {
+
+ override fun dispatchTouchEvent(ev: MotionEvent): Boolean {
+ parent.requestDisallowInterceptTouchEvent(true)
+ return super.dispatchTouchEvent(ev)
+ }
+}
diff --git a/app/src/main/res/layout/activity_apply_enter.xml b/app/src/main/res/layout/activity_apply_enter.xml
index f380cd0..a99961b 100644
--- a/app/src/main/res/layout/activity_apply_enter.xml
+++ b/app/src/main/res/layout/activity_apply_enter.xml
@@ -12,6 +12,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/mainThemeColor"
+ app:tbv_smaller_title="true"
app:tbv_text="人员信息" />
diff --git a/app/src/main/res/layout/activity_face_detect.xml b/app/src/main/res/layout/activity_face_detect.xml
index 1204387..4ad0564 100644
--- a/app/src/main/res/layout/activity_face_detect.xml
+++ b/app/src/main/res/layout/activity_face_detect.xml
@@ -11,6 +11,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/mainThemeColor"
+ app:tbv_smaller_title="true"
app:tbv_text="入场申请人脸采集" />
+
diff --git a/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt
index 15f5263..46515b2 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt
@@ -15,6 +15,7 @@
import com.pengxh.kt.lite.base.KotlinBaseActivity
import com.pengxh.kt.lite.divider.RecyclerViewItemDivider
import com.pengxh.kt.lite.extensions.convertColor
+import com.pengxh.kt.lite.extensions.dp2px
import com.pengxh.kt.lite.extensions.isNetworkConnected
import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.show
@@ -76,66 +77,7 @@
} else {
binding.emptyView.visibility = View.GONE
binding.recyclerView.visibility = View.VISIBLE
- alarmAdapter = object :
- NormalRecyclerAdapter(
- R.layout.item_alarm_rv_l, dataRows
- ) {
- override fun convertView(
- viewHolder: ViewHolder, position: Int,
- item: AlarmListModel.DataModel.RowsModel
- ) {
- val color = when (item.alarmStatusName) {
- "正在报警" -> R.color.redTextColor.convertColor(context)
- "手动消警" -> R.color.greenColor.convertColor(context)
- else -> R.color.hintTextColor.convertColor(context)
- }
-
- val road = if (item.workRoad.isNullOrBlank()) {
- "未知"
- } else {
- item.workRoad
- }
-
- viewHolder.setText(R.id.alarmStatusView, item.alarmStatusName)
- .setBackgroundColor(R.id.alarmStatusView, color)
- .setText(R.id.alarmContentView, item.alarmContent)
- .setText(R.id.workRoadView, road)
- .setText(R.id.alarmTimeView, item.alarmTime)
- .setImageResource(
- R.id.alarmImageView, item.alarmImage.combineImagePath()
- )
- .setOnClickListener(R.id.alarmImageView) {
- navigatePageTo(
- 0, arrayListOf(item.alarmImage.combineImagePath())
- )
- }
-
- if (item.alarmType == "1" ||
- item.alarmType == "4" ||
- item.alarmType == "5" ||
- item.alarmType == "7" ||
- item.alarmType == "8" ||
- item.alarmType == "9" ||
- item.alarmType == "10"
- ) {
- val ppm = item.alarmValue.toString().toFloat()
- val lel = "%.2f".format(ppm / 500)
- viewHolder.setVisibility(R.id.alarmValueView, View.VISIBLE)
- .setVisibility(R.id.alarmImageView, View.GONE)
- .setText(
- R.id.alarmValueView, "报警值:${lel}%LEL"
- )
- } else {
- viewHolder.setVisibility(
- R.id.alarmValueView, View.INVISIBLE
- ).setVisibility(R.id.alarmImageView, View.VISIBLE)
- }
- }
- }
- binding.recyclerView.adapter = alarmAdapter
- binding.recyclerView.addItemDecoration(
- RecyclerViewItemDivider(0f, 0f, Color.LTGRAY)
- )
+ initRecyclerView(dataRows)
}
}
}
@@ -144,6 +86,80 @@
getAlarmListByPage()
}
+ private fun initRecyclerView(dataRows: MutableList) {
+ alarmAdapter = object :
+ NormalRecyclerAdapter(
+ R.layout.item_alarm_rv_l, dataRows
+ ) {
+ override fun convertView(
+ viewHolder: ViewHolder, position: Int, item: AlarmListModel.DataModel.RowsModel
+ ) {
+ val color = when (item.alarmStatusName) {
+ "正在报警" -> R.color.redTextColor.convertColor(context)
+ "手动消警" -> R.color.greenColor.convertColor(context)
+ else -> R.color.hintTextColor.convertColor(context)
+ }
+
+ val road = if (item.workRoad.isNullOrBlank()) {
+ "未知"
+ } else {
+ item.workRoad
+ }
+
+ viewHolder.setText(R.id.alarmStatusView, item.alarmStatusName)
+ .setBackgroundColor(R.id.alarmStatusView, color)
+ .setText(R.id.alarmContentView, item.alarmContent)
+ .setText(R.id.workRoadView, road)
+ .setText(R.id.alarmTimeView, item.alarmTime)
+ .setImageResource(R.id.alarmImageView, item.alarmImage.combineImagePath())
+ .setOnClickListener(R.id.alarmImageView) {
+ navigatePageTo(
+ 0, arrayListOf(item.alarmImage.combineImagePath())
+ )
+ }
+
+ if (item.alarmType == "1" ||
+ item.alarmType == "4" ||
+ item.alarmType == "5" ||
+ item.alarmType == "7" ||
+ item.alarmType == "8" ||
+ item.alarmType == "9" ||
+ item.alarmType == "10"
+ ) {
+ val ppm = item.alarmValue.toString().toFloat()
+ val lel = "%.2f".format(ppm / 500)
+ viewHolder.setVisibility(R.id.alarmValueView, View.VISIBLE)
+ .setVisibility(R.id.alarmImageView, View.GONE)
+ .setText(R.id.alarmValueView, "报警值:${lel}%LEL")
+ } else {
+ viewHolder.setVisibility(R.id.alarmValueView, View.INVISIBLE)
+ .setVisibility(R.id.alarmImageView, View.VISIBLE)
+ }
+ }
+ }
+ binding.recyclerView.adapter = alarmAdapter
+ binding.recyclerView.addItemDecoration(
+ RecyclerViewItemDivider(0f, 130f.dp2px(this), Color.LTGRAY)
+ )
+ alarmAdapter.setOnItemClickedListener(object :
+ NormalRecyclerAdapter.OnItemClickedListener {
+ override fun onItemClicked(position: Int, item: AlarmListModel.DataModel.RowsModel) {
+ if (item.alarmType == "1" ||
+ item.alarmType == "4" ||
+ item.alarmType == "5" ||
+ item.alarmType == "7" ||
+ item.alarmType == "8" ||
+ item.alarmType == "9" ||
+ item.alarmType == "10"
+ ) {
+ navigatePageTo()
+ } else {
+ "暂时仅支持燃气设备查看浓度趋势".show(this@AlarmListActivity)
+ }
+ }
+ })
+ }
+
override fun observeRequestState() {
alarmViewModel.loadState.observe(this) {
if (isRefresh || isLoadMore) {
diff --git a/app/src/main/java/com/casic/br/operationsite/view/GasDetailActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/GasDetailActivity.kt
new file mode 100644
index 0000000..cb8fc3b
--- /dev/null
+++ b/app/src/main/java/com/casic/br/operationsite/view/GasDetailActivity.kt
@@ -0,0 +1,77 @@
+package com.casic.br.operationsite.view
+
+import android.os.Bundle
+import com.amap.api.maps.AMap
+import com.casic.br.operationsite.R
+import com.casic.br.operationsite.databinding.ActivityGasDetailBinding
+import com.casic.br.operationsite.extensions.initImmersionBar
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.utils.ActivityStackManager
+import com.pengxh.kt.lite.widget.TitleBarView
+
+class GasDetailActivity : KotlinBaseActivity() {
+
+ private val kTag = "GasDetailActivity"
+ private lateinit var aMap: AMap
+
+ override fun initOnCreate(savedInstanceState: Bundle?) {
+ ActivityStackManager.addActivity(this)
+
+ /**
+ * 地图初始化设置
+ * */
+ binding.mapView.onCreate(savedInstanceState)
+ aMap = binding.mapView.map
+ aMap.mapType = AMap.MAP_TYPE_NORMAL
+ val uiSettings = aMap.uiSettings
+ uiSettings.isTiltGesturesEnabled = false//不许地图随手势倾斜角度
+ uiSettings.isRotateGesturesEnabled = false//不允许地图随手势改变方位
+ }
+
+ override fun initViewBinding(): ActivityGasDetailBinding {
+ return ActivityGasDetailBinding.inflate(layoutInflater)
+ }
+
+ override fun observeRequestState() {
+
+ }
+
+ override fun setupTopBarLayout() {
+ binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor)
+
+ binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener {
+ override fun onLeftClick() {
+ finish()
+ }
+
+ override fun onRightClick() {
+
+ }
+ })
+ }
+
+ override fun initEvent() {
+
+ }
+
+ /**地图相关*********/
+ override fun onResume() {
+ super.onResume()
+ binding.mapView.onResume()
+ }
+
+ override fun onPause() {
+ super.onPause()
+ binding.mapView.onPause()
+ }
+
+ override fun onDestroy() {
+ binding.mapView.onDestroy()
+ super.onDestroy()
+ }
+
+ override fun onSaveInstanceState(outState: Bundle) {
+ super.onSaveInstanceState(outState)
+ binding.mapView.onSaveInstanceState(outState)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/operationsite/widgets/CustomMapView.kt b/app/src/main/java/com/casic/br/operationsite/widgets/CustomMapView.kt
new file mode 100644
index 0000000..67e831c
--- /dev/null
+++ b/app/src/main/java/com/casic/br/operationsite/widgets/CustomMapView.kt
@@ -0,0 +1,19 @@
+package com.casic.br.operationsite.widgets
+
+import android.content.Context
+import android.util.AttributeSet
+import android.view.MotionEvent
+import com.amap.api.maps.MapView
+
+/**
+ * 解决[com.amap.api.maps.MapView]和[androidx.core.widget.NestedScrollView]的滑动冲突
+ */
+class CustomMapView @JvmOverloads constructor(
+ context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0
+) : MapView(context, attrs, defStyleAttr) {
+
+ override fun dispatchTouchEvent(ev: MotionEvent): Boolean {
+ parent.requestDisallowInterceptTouchEvent(true)
+ return super.dispatchTouchEvent(ev)
+ }
+}
diff --git a/app/src/main/res/layout/activity_apply_enter.xml b/app/src/main/res/layout/activity_apply_enter.xml
index f380cd0..a99961b 100644
--- a/app/src/main/res/layout/activity_apply_enter.xml
+++ b/app/src/main/res/layout/activity_apply_enter.xml
@@ -12,6 +12,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/mainThemeColor"
+ app:tbv_smaller_title="true"
app:tbv_text="人员信息" />
diff --git a/app/src/main/res/layout/activity_face_detect.xml b/app/src/main/res/layout/activity_face_detect.xml
index 1204387..4ad0564 100644
--- a/app/src/main/res/layout/activity_face_detect.xml
+++ b/app/src/main/res/layout/activity_face_detect.xml
@@ -11,6 +11,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/mainThemeColor"
+ app:tbv_smaller_title="true"
app:tbv_text="入场申请人脸采集" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 95caacb..a88c540 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -63,6 +63,7 @@
+
diff --git a/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt
index 15f5263..46515b2 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt
@@ -15,6 +15,7 @@
import com.pengxh.kt.lite.base.KotlinBaseActivity
import com.pengxh.kt.lite.divider.RecyclerViewItemDivider
import com.pengxh.kt.lite.extensions.convertColor
+import com.pengxh.kt.lite.extensions.dp2px
import com.pengxh.kt.lite.extensions.isNetworkConnected
import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.show
@@ -76,66 +77,7 @@
} else {
binding.emptyView.visibility = View.GONE
binding.recyclerView.visibility = View.VISIBLE
- alarmAdapter = object :
- NormalRecyclerAdapter(
- R.layout.item_alarm_rv_l, dataRows
- ) {
- override fun convertView(
- viewHolder: ViewHolder, position: Int,
- item: AlarmListModel.DataModel.RowsModel
- ) {
- val color = when (item.alarmStatusName) {
- "正在报警" -> R.color.redTextColor.convertColor(context)
- "手动消警" -> R.color.greenColor.convertColor(context)
- else -> R.color.hintTextColor.convertColor(context)
- }
-
- val road = if (item.workRoad.isNullOrBlank()) {
- "未知"
- } else {
- item.workRoad
- }
-
- viewHolder.setText(R.id.alarmStatusView, item.alarmStatusName)
- .setBackgroundColor(R.id.alarmStatusView, color)
- .setText(R.id.alarmContentView, item.alarmContent)
- .setText(R.id.workRoadView, road)
- .setText(R.id.alarmTimeView, item.alarmTime)
- .setImageResource(
- R.id.alarmImageView, item.alarmImage.combineImagePath()
- )
- .setOnClickListener(R.id.alarmImageView) {
- navigatePageTo(
- 0, arrayListOf(item.alarmImage.combineImagePath())
- )
- }
-
- if (item.alarmType == "1" ||
- item.alarmType == "4" ||
- item.alarmType == "5" ||
- item.alarmType == "7" ||
- item.alarmType == "8" ||
- item.alarmType == "9" ||
- item.alarmType == "10"
- ) {
- val ppm = item.alarmValue.toString().toFloat()
- val lel = "%.2f".format(ppm / 500)
- viewHolder.setVisibility(R.id.alarmValueView, View.VISIBLE)
- .setVisibility(R.id.alarmImageView, View.GONE)
- .setText(
- R.id.alarmValueView, "报警值:${lel}%LEL"
- )
- } else {
- viewHolder.setVisibility(
- R.id.alarmValueView, View.INVISIBLE
- ).setVisibility(R.id.alarmImageView, View.VISIBLE)
- }
- }
- }
- binding.recyclerView.adapter = alarmAdapter
- binding.recyclerView.addItemDecoration(
- RecyclerViewItemDivider(0f, 0f, Color.LTGRAY)
- )
+ initRecyclerView(dataRows)
}
}
}
@@ -144,6 +86,80 @@
getAlarmListByPage()
}
+ private fun initRecyclerView(dataRows: MutableList) {
+ alarmAdapter = object :
+ NormalRecyclerAdapter(
+ R.layout.item_alarm_rv_l, dataRows
+ ) {
+ override fun convertView(
+ viewHolder: ViewHolder, position: Int, item: AlarmListModel.DataModel.RowsModel
+ ) {
+ val color = when (item.alarmStatusName) {
+ "正在报警" -> R.color.redTextColor.convertColor(context)
+ "手动消警" -> R.color.greenColor.convertColor(context)
+ else -> R.color.hintTextColor.convertColor(context)
+ }
+
+ val road = if (item.workRoad.isNullOrBlank()) {
+ "未知"
+ } else {
+ item.workRoad
+ }
+
+ viewHolder.setText(R.id.alarmStatusView, item.alarmStatusName)
+ .setBackgroundColor(R.id.alarmStatusView, color)
+ .setText(R.id.alarmContentView, item.alarmContent)
+ .setText(R.id.workRoadView, road)
+ .setText(R.id.alarmTimeView, item.alarmTime)
+ .setImageResource(R.id.alarmImageView, item.alarmImage.combineImagePath())
+ .setOnClickListener(R.id.alarmImageView) {
+ navigatePageTo(
+ 0, arrayListOf(item.alarmImage.combineImagePath())
+ )
+ }
+
+ if (item.alarmType == "1" ||
+ item.alarmType == "4" ||
+ item.alarmType == "5" ||
+ item.alarmType == "7" ||
+ item.alarmType == "8" ||
+ item.alarmType == "9" ||
+ item.alarmType == "10"
+ ) {
+ val ppm = item.alarmValue.toString().toFloat()
+ val lel = "%.2f".format(ppm / 500)
+ viewHolder.setVisibility(R.id.alarmValueView, View.VISIBLE)
+ .setVisibility(R.id.alarmImageView, View.GONE)
+ .setText(R.id.alarmValueView, "报警值:${lel}%LEL")
+ } else {
+ viewHolder.setVisibility(R.id.alarmValueView, View.INVISIBLE)
+ .setVisibility(R.id.alarmImageView, View.VISIBLE)
+ }
+ }
+ }
+ binding.recyclerView.adapter = alarmAdapter
+ binding.recyclerView.addItemDecoration(
+ RecyclerViewItemDivider(0f, 130f.dp2px(this), Color.LTGRAY)
+ )
+ alarmAdapter.setOnItemClickedListener(object :
+ NormalRecyclerAdapter.OnItemClickedListener {
+ override fun onItemClicked(position: Int, item: AlarmListModel.DataModel.RowsModel) {
+ if (item.alarmType == "1" ||
+ item.alarmType == "4" ||
+ item.alarmType == "5" ||
+ item.alarmType == "7" ||
+ item.alarmType == "8" ||
+ item.alarmType == "9" ||
+ item.alarmType == "10"
+ ) {
+ navigatePageTo()
+ } else {
+ "暂时仅支持燃气设备查看浓度趋势".show(this@AlarmListActivity)
+ }
+ }
+ })
+ }
+
override fun observeRequestState() {
alarmViewModel.loadState.observe(this) {
if (isRefresh || isLoadMore) {
diff --git a/app/src/main/java/com/casic/br/operationsite/view/GasDetailActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/GasDetailActivity.kt
new file mode 100644
index 0000000..cb8fc3b
--- /dev/null
+++ b/app/src/main/java/com/casic/br/operationsite/view/GasDetailActivity.kt
@@ -0,0 +1,77 @@
+package com.casic.br.operationsite.view
+
+import android.os.Bundle
+import com.amap.api.maps.AMap
+import com.casic.br.operationsite.R
+import com.casic.br.operationsite.databinding.ActivityGasDetailBinding
+import com.casic.br.operationsite.extensions.initImmersionBar
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.utils.ActivityStackManager
+import com.pengxh.kt.lite.widget.TitleBarView
+
+class GasDetailActivity : KotlinBaseActivity() {
+
+ private val kTag = "GasDetailActivity"
+ private lateinit var aMap: AMap
+
+ override fun initOnCreate(savedInstanceState: Bundle?) {
+ ActivityStackManager.addActivity(this)
+
+ /**
+ * 地图初始化设置
+ * */
+ binding.mapView.onCreate(savedInstanceState)
+ aMap = binding.mapView.map
+ aMap.mapType = AMap.MAP_TYPE_NORMAL
+ val uiSettings = aMap.uiSettings
+ uiSettings.isTiltGesturesEnabled = false//不许地图随手势倾斜角度
+ uiSettings.isRotateGesturesEnabled = false//不允许地图随手势改变方位
+ }
+
+ override fun initViewBinding(): ActivityGasDetailBinding {
+ return ActivityGasDetailBinding.inflate(layoutInflater)
+ }
+
+ override fun observeRequestState() {
+
+ }
+
+ override fun setupTopBarLayout() {
+ binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor)
+
+ binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener {
+ override fun onLeftClick() {
+ finish()
+ }
+
+ override fun onRightClick() {
+
+ }
+ })
+ }
+
+ override fun initEvent() {
+
+ }
+
+ /**地图相关*********/
+ override fun onResume() {
+ super.onResume()
+ binding.mapView.onResume()
+ }
+
+ override fun onPause() {
+ super.onPause()
+ binding.mapView.onPause()
+ }
+
+ override fun onDestroy() {
+ binding.mapView.onDestroy()
+ super.onDestroy()
+ }
+
+ override fun onSaveInstanceState(outState: Bundle) {
+ super.onSaveInstanceState(outState)
+ binding.mapView.onSaveInstanceState(outState)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/operationsite/widgets/CustomMapView.kt b/app/src/main/java/com/casic/br/operationsite/widgets/CustomMapView.kt
new file mode 100644
index 0000000..67e831c
--- /dev/null
+++ b/app/src/main/java/com/casic/br/operationsite/widgets/CustomMapView.kt
@@ -0,0 +1,19 @@
+package com.casic.br.operationsite.widgets
+
+import android.content.Context
+import android.util.AttributeSet
+import android.view.MotionEvent
+import com.amap.api.maps.MapView
+
+/**
+ * 解决[com.amap.api.maps.MapView]和[androidx.core.widget.NestedScrollView]的滑动冲突
+ */
+class CustomMapView @JvmOverloads constructor(
+ context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0
+) : MapView(context, attrs, defStyleAttr) {
+
+ override fun dispatchTouchEvent(ev: MotionEvent): Boolean {
+ parent.requestDisallowInterceptTouchEvent(true)
+ return super.dispatchTouchEvent(ev)
+ }
+}
diff --git a/app/src/main/res/layout/activity_apply_enter.xml b/app/src/main/res/layout/activity_apply_enter.xml
index f380cd0..a99961b 100644
--- a/app/src/main/res/layout/activity_apply_enter.xml
+++ b/app/src/main/res/layout/activity_apply_enter.xml
@@ -12,6 +12,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/mainThemeColor"
+ app:tbv_smaller_title="true"
app:tbv_text="人员信息" />
diff --git a/app/src/main/res/layout/activity_face_detect.xml b/app/src/main/res/layout/activity_face_detect.xml
index 1204387..4ad0564 100644
--- a/app/src/main/res/layout/activity_face_detect.xml
+++ b/app/src/main/res/layout/activity_face_detect.xml
@@ -11,6 +11,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/mainThemeColor"
+ app:tbv_smaller_title="true"
app:tbv_text="入场申请人脸采集" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_helmet_video.xml b/app/src/main/res/layout/activity_helmet_video.xml
index cb97e90..dd3f09c 100644
--- a/app/src/main/res/layout/activity_helmet_video.xml
+++ b/app/src/main/res/layout/activity_helmet_video.xml
@@ -11,6 +11,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/mainThemeColor"
+ app:tbv_smaller_title="true"
app:tbv_text="视频通话" />
+
diff --git a/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt
index 15f5263..46515b2 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt
@@ -15,6 +15,7 @@
import com.pengxh.kt.lite.base.KotlinBaseActivity
import com.pengxh.kt.lite.divider.RecyclerViewItemDivider
import com.pengxh.kt.lite.extensions.convertColor
+import com.pengxh.kt.lite.extensions.dp2px
import com.pengxh.kt.lite.extensions.isNetworkConnected
import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.show
@@ -76,66 +77,7 @@
} else {
binding.emptyView.visibility = View.GONE
binding.recyclerView.visibility = View.VISIBLE
- alarmAdapter = object :
- NormalRecyclerAdapter(
- R.layout.item_alarm_rv_l, dataRows
- ) {
- override fun convertView(
- viewHolder: ViewHolder, position: Int,
- item: AlarmListModel.DataModel.RowsModel
- ) {
- val color = when (item.alarmStatusName) {
- "正在报警" -> R.color.redTextColor.convertColor(context)
- "手动消警" -> R.color.greenColor.convertColor(context)
- else -> R.color.hintTextColor.convertColor(context)
- }
-
- val road = if (item.workRoad.isNullOrBlank()) {
- "未知"
- } else {
- item.workRoad
- }
-
- viewHolder.setText(R.id.alarmStatusView, item.alarmStatusName)
- .setBackgroundColor(R.id.alarmStatusView, color)
- .setText(R.id.alarmContentView, item.alarmContent)
- .setText(R.id.workRoadView, road)
- .setText(R.id.alarmTimeView, item.alarmTime)
- .setImageResource(
- R.id.alarmImageView, item.alarmImage.combineImagePath()
- )
- .setOnClickListener(R.id.alarmImageView) {
- navigatePageTo(
- 0, arrayListOf(item.alarmImage.combineImagePath())
- )
- }
-
- if (item.alarmType == "1" ||
- item.alarmType == "4" ||
- item.alarmType == "5" ||
- item.alarmType == "7" ||
- item.alarmType == "8" ||
- item.alarmType == "9" ||
- item.alarmType == "10"
- ) {
- val ppm = item.alarmValue.toString().toFloat()
- val lel = "%.2f".format(ppm / 500)
- viewHolder.setVisibility(R.id.alarmValueView, View.VISIBLE)
- .setVisibility(R.id.alarmImageView, View.GONE)
- .setText(
- R.id.alarmValueView, "报警值:${lel}%LEL"
- )
- } else {
- viewHolder.setVisibility(
- R.id.alarmValueView, View.INVISIBLE
- ).setVisibility(R.id.alarmImageView, View.VISIBLE)
- }
- }
- }
- binding.recyclerView.adapter = alarmAdapter
- binding.recyclerView.addItemDecoration(
- RecyclerViewItemDivider(0f, 0f, Color.LTGRAY)
- )
+ initRecyclerView(dataRows)
}
}
}
@@ -144,6 +86,80 @@
getAlarmListByPage()
}
+ private fun initRecyclerView(dataRows: MutableList) {
+ alarmAdapter = object :
+ NormalRecyclerAdapter(
+ R.layout.item_alarm_rv_l, dataRows
+ ) {
+ override fun convertView(
+ viewHolder: ViewHolder, position: Int, item: AlarmListModel.DataModel.RowsModel
+ ) {
+ val color = when (item.alarmStatusName) {
+ "正在报警" -> R.color.redTextColor.convertColor(context)
+ "手动消警" -> R.color.greenColor.convertColor(context)
+ else -> R.color.hintTextColor.convertColor(context)
+ }
+
+ val road = if (item.workRoad.isNullOrBlank()) {
+ "未知"
+ } else {
+ item.workRoad
+ }
+
+ viewHolder.setText(R.id.alarmStatusView, item.alarmStatusName)
+ .setBackgroundColor(R.id.alarmStatusView, color)
+ .setText(R.id.alarmContentView, item.alarmContent)
+ .setText(R.id.workRoadView, road)
+ .setText(R.id.alarmTimeView, item.alarmTime)
+ .setImageResource(R.id.alarmImageView, item.alarmImage.combineImagePath())
+ .setOnClickListener(R.id.alarmImageView) {
+ navigatePageTo(
+ 0, arrayListOf(item.alarmImage.combineImagePath())
+ )
+ }
+
+ if (item.alarmType == "1" ||
+ item.alarmType == "4" ||
+ item.alarmType == "5" ||
+ item.alarmType == "7" ||
+ item.alarmType == "8" ||
+ item.alarmType == "9" ||
+ item.alarmType == "10"
+ ) {
+ val ppm = item.alarmValue.toString().toFloat()
+ val lel = "%.2f".format(ppm / 500)
+ viewHolder.setVisibility(R.id.alarmValueView, View.VISIBLE)
+ .setVisibility(R.id.alarmImageView, View.GONE)
+ .setText(R.id.alarmValueView, "报警值:${lel}%LEL")
+ } else {
+ viewHolder.setVisibility(R.id.alarmValueView, View.INVISIBLE)
+ .setVisibility(R.id.alarmImageView, View.VISIBLE)
+ }
+ }
+ }
+ binding.recyclerView.adapter = alarmAdapter
+ binding.recyclerView.addItemDecoration(
+ RecyclerViewItemDivider(0f, 130f.dp2px(this), Color.LTGRAY)
+ )
+ alarmAdapter.setOnItemClickedListener(object :
+ NormalRecyclerAdapter.OnItemClickedListener {
+ override fun onItemClicked(position: Int, item: AlarmListModel.DataModel.RowsModel) {
+ if (item.alarmType == "1" ||
+ item.alarmType == "4" ||
+ item.alarmType == "5" ||
+ item.alarmType == "7" ||
+ item.alarmType == "8" ||
+ item.alarmType == "9" ||
+ item.alarmType == "10"
+ ) {
+ navigatePageTo()
+ } else {
+ "暂时仅支持燃气设备查看浓度趋势".show(this@AlarmListActivity)
+ }
+ }
+ })
+ }
+
override fun observeRequestState() {
alarmViewModel.loadState.observe(this) {
if (isRefresh || isLoadMore) {
diff --git a/app/src/main/java/com/casic/br/operationsite/view/GasDetailActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/GasDetailActivity.kt
new file mode 100644
index 0000000..cb8fc3b
--- /dev/null
+++ b/app/src/main/java/com/casic/br/operationsite/view/GasDetailActivity.kt
@@ -0,0 +1,77 @@
+package com.casic.br.operationsite.view
+
+import android.os.Bundle
+import com.amap.api.maps.AMap
+import com.casic.br.operationsite.R
+import com.casic.br.operationsite.databinding.ActivityGasDetailBinding
+import com.casic.br.operationsite.extensions.initImmersionBar
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.utils.ActivityStackManager
+import com.pengxh.kt.lite.widget.TitleBarView
+
+class GasDetailActivity : KotlinBaseActivity() {
+
+ private val kTag = "GasDetailActivity"
+ private lateinit var aMap: AMap
+
+ override fun initOnCreate(savedInstanceState: Bundle?) {
+ ActivityStackManager.addActivity(this)
+
+ /**
+ * 地图初始化设置
+ * */
+ binding.mapView.onCreate(savedInstanceState)
+ aMap = binding.mapView.map
+ aMap.mapType = AMap.MAP_TYPE_NORMAL
+ val uiSettings = aMap.uiSettings
+ uiSettings.isTiltGesturesEnabled = false//不许地图随手势倾斜角度
+ uiSettings.isRotateGesturesEnabled = false//不允许地图随手势改变方位
+ }
+
+ override fun initViewBinding(): ActivityGasDetailBinding {
+ return ActivityGasDetailBinding.inflate(layoutInflater)
+ }
+
+ override fun observeRequestState() {
+
+ }
+
+ override fun setupTopBarLayout() {
+ binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor)
+
+ binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener {
+ override fun onLeftClick() {
+ finish()
+ }
+
+ override fun onRightClick() {
+
+ }
+ })
+ }
+
+ override fun initEvent() {
+
+ }
+
+ /**地图相关*********/
+ override fun onResume() {
+ super.onResume()
+ binding.mapView.onResume()
+ }
+
+ override fun onPause() {
+ super.onPause()
+ binding.mapView.onPause()
+ }
+
+ override fun onDestroy() {
+ binding.mapView.onDestroy()
+ super.onDestroy()
+ }
+
+ override fun onSaveInstanceState(outState: Bundle) {
+ super.onSaveInstanceState(outState)
+ binding.mapView.onSaveInstanceState(outState)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/operationsite/widgets/CustomMapView.kt b/app/src/main/java/com/casic/br/operationsite/widgets/CustomMapView.kt
new file mode 100644
index 0000000..67e831c
--- /dev/null
+++ b/app/src/main/java/com/casic/br/operationsite/widgets/CustomMapView.kt
@@ -0,0 +1,19 @@
+package com.casic.br.operationsite.widgets
+
+import android.content.Context
+import android.util.AttributeSet
+import android.view.MotionEvent
+import com.amap.api.maps.MapView
+
+/**
+ * 解决[com.amap.api.maps.MapView]和[androidx.core.widget.NestedScrollView]的滑动冲突
+ */
+class CustomMapView @JvmOverloads constructor(
+ context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0
+) : MapView(context, attrs, defStyleAttr) {
+
+ override fun dispatchTouchEvent(ev: MotionEvent): Boolean {
+ parent.requestDisallowInterceptTouchEvent(true)
+ return super.dispatchTouchEvent(ev)
+ }
+}
diff --git a/app/src/main/res/layout/activity_apply_enter.xml b/app/src/main/res/layout/activity_apply_enter.xml
index f380cd0..a99961b 100644
--- a/app/src/main/res/layout/activity_apply_enter.xml
+++ b/app/src/main/res/layout/activity_apply_enter.xml
@@ -12,6 +12,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/mainThemeColor"
+ app:tbv_smaller_title="true"
app:tbv_text="人员信息" />
diff --git a/app/src/main/res/layout/activity_face_detect.xml b/app/src/main/res/layout/activity_face_detect.xml
index 1204387..4ad0564 100644
--- a/app/src/main/res/layout/activity_face_detect.xml
+++ b/app/src/main/res/layout/activity_face_detect.xml
@@ -11,6 +11,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/mainThemeColor"
+ app:tbv_smaller_title="true"
app:tbv_text="入场申请人脸采集" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_helmet_video.xml b/app/src/main/res/layout/activity_helmet_video.xml
index cb97e90..dd3f09c 100644
--- a/app/src/main/res/layout/activity_helmet_video.xml
+++ b/app/src/main/res/layout/activity_helmet_video.xml
@@ -11,6 +11,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/mainThemeColor"
+ app:tbv_smaller_title="true"
app:tbv_text="视频通话" />
+
diff --git a/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt
index 15f5263..46515b2 100644
--- a/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt
+++ b/app/src/main/java/com/casic/br/operationsite/view/AlarmListActivity.kt
@@ -15,6 +15,7 @@
import com.pengxh.kt.lite.base.KotlinBaseActivity
import com.pengxh.kt.lite.divider.RecyclerViewItemDivider
import com.pengxh.kt.lite.extensions.convertColor
+import com.pengxh.kt.lite.extensions.dp2px
import com.pengxh.kt.lite.extensions.isNetworkConnected
import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.show
@@ -76,66 +77,7 @@
} else {
binding.emptyView.visibility = View.GONE
binding.recyclerView.visibility = View.VISIBLE
- alarmAdapter = object :
- NormalRecyclerAdapter(
- R.layout.item_alarm_rv_l, dataRows
- ) {
- override fun convertView(
- viewHolder: ViewHolder, position: Int,
- item: AlarmListModel.DataModel.RowsModel
- ) {
- val color = when (item.alarmStatusName) {
- "正在报警" -> R.color.redTextColor.convertColor(context)
- "手动消警" -> R.color.greenColor.convertColor(context)
- else -> R.color.hintTextColor.convertColor(context)
- }
-
- val road = if (item.workRoad.isNullOrBlank()) {
- "未知"
- } else {
- item.workRoad
- }
-
- viewHolder.setText(R.id.alarmStatusView, item.alarmStatusName)
- .setBackgroundColor(R.id.alarmStatusView, color)
- .setText(R.id.alarmContentView, item.alarmContent)
- .setText(R.id.workRoadView, road)
- .setText(R.id.alarmTimeView, item.alarmTime)
- .setImageResource(
- R.id.alarmImageView, item.alarmImage.combineImagePath()
- )
- .setOnClickListener(R.id.alarmImageView) {
- navigatePageTo(
- 0, arrayListOf(item.alarmImage.combineImagePath())
- )
- }
-
- if (item.alarmType == "1" ||
- item.alarmType == "4" ||
- item.alarmType == "5" ||
- item.alarmType == "7" ||
- item.alarmType == "8" ||
- item.alarmType == "9" ||
- item.alarmType == "10"
- ) {
- val ppm = item.alarmValue.toString().toFloat()
- val lel = "%.2f".format(ppm / 500)
- viewHolder.setVisibility(R.id.alarmValueView, View.VISIBLE)
- .setVisibility(R.id.alarmImageView, View.GONE)
- .setText(
- R.id.alarmValueView, "报警值:${lel}%LEL"
- )
- } else {
- viewHolder.setVisibility(
- R.id.alarmValueView, View.INVISIBLE
- ).setVisibility(R.id.alarmImageView, View.VISIBLE)
- }
- }
- }
- binding.recyclerView.adapter = alarmAdapter
- binding.recyclerView.addItemDecoration(
- RecyclerViewItemDivider(0f, 0f, Color.LTGRAY)
- )
+ initRecyclerView(dataRows)
}
}
}
@@ -144,6 +86,80 @@
getAlarmListByPage()
}
+ private fun initRecyclerView(dataRows: MutableList) {
+ alarmAdapter = object :
+ NormalRecyclerAdapter(
+ R.layout.item_alarm_rv_l, dataRows
+ ) {
+ override fun convertView(
+ viewHolder: ViewHolder, position: Int, item: AlarmListModel.DataModel.RowsModel
+ ) {
+ val color = when (item.alarmStatusName) {
+ "正在报警" -> R.color.redTextColor.convertColor(context)
+ "手动消警" -> R.color.greenColor.convertColor(context)
+ else -> R.color.hintTextColor.convertColor(context)
+ }
+
+ val road = if (item.workRoad.isNullOrBlank()) {
+ "未知"
+ } else {
+ item.workRoad
+ }
+
+ viewHolder.setText(R.id.alarmStatusView, item.alarmStatusName)
+ .setBackgroundColor(R.id.alarmStatusView, color)
+ .setText(R.id.alarmContentView, item.alarmContent)
+ .setText(R.id.workRoadView, road)
+ .setText(R.id.alarmTimeView, item.alarmTime)
+ .setImageResource(R.id.alarmImageView, item.alarmImage.combineImagePath())
+ .setOnClickListener(R.id.alarmImageView) {
+ navigatePageTo(
+ 0, arrayListOf(item.alarmImage.combineImagePath())
+ )
+ }
+
+ if (item.alarmType == "1" ||
+ item.alarmType == "4" ||
+ item.alarmType == "5" ||
+ item.alarmType == "7" ||
+ item.alarmType == "8" ||
+ item.alarmType == "9" ||
+ item.alarmType == "10"
+ ) {
+ val ppm = item.alarmValue.toString().toFloat()
+ val lel = "%.2f".format(ppm / 500)
+ viewHolder.setVisibility(R.id.alarmValueView, View.VISIBLE)
+ .setVisibility(R.id.alarmImageView, View.GONE)
+ .setText(R.id.alarmValueView, "报警值:${lel}%LEL")
+ } else {
+ viewHolder.setVisibility(R.id.alarmValueView, View.INVISIBLE)
+ .setVisibility(R.id.alarmImageView, View.VISIBLE)
+ }
+ }
+ }
+ binding.recyclerView.adapter = alarmAdapter
+ binding.recyclerView.addItemDecoration(
+ RecyclerViewItemDivider(0f, 130f.dp2px(this), Color.LTGRAY)
+ )
+ alarmAdapter.setOnItemClickedListener(object :
+ NormalRecyclerAdapter.OnItemClickedListener {
+ override fun onItemClicked(position: Int, item: AlarmListModel.DataModel.RowsModel) {
+ if (item.alarmType == "1" ||
+ item.alarmType == "4" ||
+ item.alarmType == "5" ||
+ item.alarmType == "7" ||
+ item.alarmType == "8" ||
+ item.alarmType == "9" ||
+ item.alarmType == "10"
+ ) {
+ navigatePageTo()
+ } else {
+ "暂时仅支持燃气设备查看浓度趋势".show(this@AlarmListActivity)
+ }
+ }
+ })
+ }
+
override fun observeRequestState() {
alarmViewModel.loadState.observe(this) {
if (isRefresh || isLoadMore) {
diff --git a/app/src/main/java/com/casic/br/operationsite/view/GasDetailActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/GasDetailActivity.kt
new file mode 100644
index 0000000..cb8fc3b
--- /dev/null
+++ b/app/src/main/java/com/casic/br/operationsite/view/GasDetailActivity.kt
@@ -0,0 +1,77 @@
+package com.casic.br.operationsite.view
+
+import android.os.Bundle
+import com.amap.api.maps.AMap
+import com.casic.br.operationsite.R
+import com.casic.br.operationsite.databinding.ActivityGasDetailBinding
+import com.casic.br.operationsite.extensions.initImmersionBar
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.utils.ActivityStackManager
+import com.pengxh.kt.lite.widget.TitleBarView
+
+class GasDetailActivity : KotlinBaseActivity() {
+
+ private val kTag = "GasDetailActivity"
+ private lateinit var aMap: AMap
+
+ override fun initOnCreate(savedInstanceState: Bundle?) {
+ ActivityStackManager.addActivity(this)
+
+ /**
+ * 地图初始化设置
+ * */
+ binding.mapView.onCreate(savedInstanceState)
+ aMap = binding.mapView.map
+ aMap.mapType = AMap.MAP_TYPE_NORMAL
+ val uiSettings = aMap.uiSettings
+ uiSettings.isTiltGesturesEnabled = false//不许地图随手势倾斜角度
+ uiSettings.isRotateGesturesEnabled = false//不允许地图随手势改变方位
+ }
+
+ override fun initViewBinding(): ActivityGasDetailBinding {
+ return ActivityGasDetailBinding.inflate(layoutInflater)
+ }
+
+ override fun observeRequestState() {
+
+ }
+
+ override fun setupTopBarLayout() {
+ binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor)
+
+ binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener {
+ override fun onLeftClick() {
+ finish()
+ }
+
+ override fun onRightClick() {
+
+ }
+ })
+ }
+
+ override fun initEvent() {
+
+ }
+
+ /**地图相关*********/
+ override fun onResume() {
+ super.onResume()
+ binding.mapView.onResume()
+ }
+
+ override fun onPause() {
+ super.onPause()
+ binding.mapView.onPause()
+ }
+
+ override fun onDestroy() {
+ binding.mapView.onDestroy()
+ super.onDestroy()
+ }
+
+ override fun onSaveInstanceState(outState: Bundle) {
+ super.onSaveInstanceState(outState)
+ binding.mapView.onSaveInstanceState(outState)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/operationsite/widgets/CustomMapView.kt b/app/src/main/java/com/casic/br/operationsite/widgets/CustomMapView.kt
new file mode 100644
index 0000000..67e831c
--- /dev/null
+++ b/app/src/main/java/com/casic/br/operationsite/widgets/CustomMapView.kt
@@ -0,0 +1,19 @@
+package com.casic.br.operationsite.widgets
+
+import android.content.Context
+import android.util.AttributeSet
+import android.view.MotionEvent
+import com.amap.api.maps.MapView
+
+/**
+ * 解决[com.amap.api.maps.MapView]和[androidx.core.widget.NestedScrollView]的滑动冲突
+ */
+class CustomMapView @JvmOverloads constructor(
+ context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0
+) : MapView(context, attrs, defStyleAttr) {
+
+ override fun dispatchTouchEvent(ev: MotionEvent): Boolean {
+ parent.requestDisallowInterceptTouchEvent(true)
+ return super.dispatchTouchEvent(ev)
+ }
+}
diff --git a/app/src/main/res/layout/activity_apply_enter.xml b/app/src/main/res/layout/activity_apply_enter.xml
index f380cd0..a99961b 100644
--- a/app/src/main/res/layout/activity_apply_enter.xml
+++ b/app/src/main/res/layout/activity_apply_enter.xml
@@ -12,6 +12,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/mainThemeColor"
+ app:tbv_smaller_title="true"
app:tbv_text="人员信息" />
diff --git a/app/src/main/res/layout/activity_face_detect.xml b/app/src/main/res/layout/activity_face_detect.xml
index 1204387..4ad0564 100644
--- a/app/src/main/res/layout/activity_face_detect.xml
+++ b/app/src/main/res/layout/activity_face_detect.xml
@@ -11,6 +11,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/mainThemeColor"
+ app:tbv_smaller_title="true"
app:tbv_text="入场申请人脸采集" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_helmet_video.xml b/app/src/main/res/layout/activity_helmet_video.xml
index cb97e90..dd3f09c 100644
--- a/app/src/main/res/layout/activity_helmet_video.xml
+++ b/app/src/main/res/layout/activity_helmet_video.xml
@@ -11,6 +11,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/mainThemeColor"
+ app:tbv_smaller_title="true"
app:tbv_text="视频通话" />