diff --git a/.idea/misc.xml b/.idea/misc.xml
index 2b3c004..64b09c2 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -8,8 +8,11 @@
+
+
+
@@ -21,7 +24,7 @@
-
+
@@ -39,7 +42,7 @@
-
+
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 2b3c004..64b09c2 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -8,8 +8,11 @@
+
+
+
@@ -21,7 +24,7 @@
-
+
@@ -39,7 +42,7 @@
-
+
diff --git a/app/build.gradle b/app/build.gradle
index 0d7f214..0e2f815 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -19,9 +19,11 @@
applicationId "com.casic.birmm.inspect"
minSdkVersion 23
targetSdkVersion 31
- versionCode 1
- versionName "2.0.0"
- ndk { abiFilters "armeabi", "armeabi-v7a", "arm64-v8" }
+ versionCode 2
+ versionName "1.0.1"
+ ndk {
+ abiFilters "armeabi", "armeabi-v7a", "arm64-v8"
+ }
}
buildTypes {
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 2b3c004..64b09c2 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -8,8 +8,11 @@
+
+
+
@@ -21,7 +24,7 @@
-
+
@@ -39,7 +42,7 @@
-
+
diff --git a/app/build.gradle b/app/build.gradle
index 0d7f214..0e2f815 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -19,9 +19,11 @@
applicationId "com.casic.birmm.inspect"
minSdkVersion 23
targetSdkVersion 31
- versionCode 1
- versionName "2.0.0"
- ndk { abiFilters "armeabi", "armeabi-v7a", "arm64-v8" }
+ versionCode 2
+ versionName "1.0.1"
+ ndk {
+ abiFilters "armeabi", "armeabi-v7a", "arm64-v8"
+ }
}
buildTypes {
diff --git a/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt b/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt
index 1d9e30e..d30ea59 100644
--- a/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt
@@ -1,53 +1,44 @@
package com.casic.birmm.inspect.adapter
-import android.annotation.SuppressLint
import android.content.Context
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
+import com.bumptech.glide.Glide
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.model.TaskRecordModel
+import com.casic.birmm.inspect.model.EventListModel
import com.qmuiteam.qmui.widget.QMUIRadiusImageView
-/**
- * 根据id获取事件列表
- * */
class EventListAdapter(
- context: Context,
- dataRows: List
+ private val context: Context,
+ private val dataRows: MutableList
) : RecyclerView.Adapter() {
- private val dataRows: List? = dataRows
- private var layoutInflater: LayoutInflater? = null
-
- init {
- layoutInflater = LayoutInflater.from(context)
- }
+ private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
- val view: View =
- layoutInflater!!.inflate(R.layout.item_inspect_rv, parent, false)
- return ItemViewHolder(view)
+ return ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_inspect_rv, parent, false)
+ )
}
- @SuppressLint("SetTextI18n")
override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
//绑定数据
- val rowsBean = dataRows?.get(position)!!
+ val rowsBean = dataRows[position]
+ val imageArray = rowsBean.images?.split(",")
+ Glide.with(context).load(imageArray?.get(0)).into(holder.inspectImageView)
holder.inspectMsgView.text = rowsBean.name
holder.inspectTypeView.text = String.format("类型:${rowsBean.type}")
holder.inspectDateView.text = String.format("上报时间:${rowsBean.createTime}")
//绑定事件
- if (listener != null) {
- holder.itemView.setOnClickListener {
- listener!!.onClick(position)
- }
+ holder.itemView.setOnClickListener {
+ listener?.onClick(position)
}
}
- override fun getItemCount(): Int = dataRows!!.size
+ override fun getItemCount(): Int = dataRows.size
class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
var inspectImageView: QMUIRadiusImageView = view.findViewById(R.id.inspectImageView)
@@ -63,6 +54,6 @@
}
fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
- listener = onClickListener
+ this.listener = onClickListener
}
}
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 2b3c004..64b09c2 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -8,8 +8,11 @@
+
+
+
@@ -21,7 +24,7 @@
-
+
@@ -39,7 +42,7 @@
-
+
diff --git a/app/build.gradle b/app/build.gradle
index 0d7f214..0e2f815 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -19,9 +19,11 @@
applicationId "com.casic.birmm.inspect"
minSdkVersion 23
targetSdkVersion 31
- versionCode 1
- versionName "2.0.0"
- ndk { abiFilters "armeabi", "armeabi-v7a", "arm64-v8" }
+ versionCode 2
+ versionName "1.0.1"
+ ndk {
+ abiFilters "armeabi", "armeabi-v7a", "arm64-v8"
+ }
}
buildTypes {
diff --git a/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt b/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt
index 1d9e30e..d30ea59 100644
--- a/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt
@@ -1,53 +1,44 @@
package com.casic.birmm.inspect.adapter
-import android.annotation.SuppressLint
import android.content.Context
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
+import com.bumptech.glide.Glide
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.model.TaskRecordModel
+import com.casic.birmm.inspect.model.EventListModel
import com.qmuiteam.qmui.widget.QMUIRadiusImageView
-/**
- * 根据id获取事件列表
- * */
class EventListAdapter(
- context: Context,
- dataRows: List
+ private val context: Context,
+ private val dataRows: MutableList
) : RecyclerView.Adapter() {
- private val dataRows: List? = dataRows
- private var layoutInflater: LayoutInflater? = null
-
- init {
- layoutInflater = LayoutInflater.from(context)
- }
+ private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
- val view: View =
- layoutInflater!!.inflate(R.layout.item_inspect_rv, parent, false)
- return ItemViewHolder(view)
+ return ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_inspect_rv, parent, false)
+ )
}
- @SuppressLint("SetTextI18n")
override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
//绑定数据
- val rowsBean = dataRows?.get(position)!!
+ val rowsBean = dataRows[position]
+ val imageArray = rowsBean.images?.split(",")
+ Glide.with(context).load(imageArray?.get(0)).into(holder.inspectImageView)
holder.inspectMsgView.text = rowsBean.name
holder.inspectTypeView.text = String.format("类型:${rowsBean.type}")
holder.inspectDateView.text = String.format("上报时间:${rowsBean.createTime}")
//绑定事件
- if (listener != null) {
- holder.itemView.setOnClickListener {
- listener!!.onClick(position)
- }
+ holder.itemView.setOnClickListener {
+ listener?.onClick(position)
}
}
- override fun getItemCount(): Int = dataRows!!.size
+ override fun getItemCount(): Int = dataRows.size
class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
var inspectImageView: QMUIRadiusImageView = view.findViewById(R.id.inspectImageView)
@@ -63,6 +54,6 @@
}
fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
- listener = onClickListener
+ this.listener = onClickListener
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/adapter/EventSearchListAdapter.kt b/app/src/main/java/com/casic/birmm/inspect/adapter/EventSearchListAdapter.kt
deleted file mode 100644
index 2318e01..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/adapter/EventSearchListAdapter.kt
+++ /dev/null
@@ -1,62 +0,0 @@
-package com.casic.birmm.inspect.adapter
-
-import android.content.Context
-import android.view.LayoutInflater
-import android.view.View
-import android.view.ViewGroup
-import android.widget.TextView
-import androidx.recyclerview.widget.RecyclerView
-import com.bumptech.glide.Glide
-import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.model.EventListModel
-import com.qmuiteam.qmui.widget.QMUIRadiusImageView
-
-/**
- * 事件查询
- * */
-class EventSearchListAdapter(
- private val context: Context,
- private val dataRows: MutableList
-) : RecyclerView.Adapter() {
-
- private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
-
- override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
- return ItemViewHolder(
- layoutInflater.inflate(R.layout.item_inspect_rv, parent, false)
- )
- }
-
- override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
- //绑定数据
- val rowsBean = dataRows[position]
- val imageArray = rowsBean.images?.split(",")
- Glide.with(context).load(imageArray?.get(0)).into(holder.inspectImageView)
- holder.inspectMsgView.text = rowsBean.name
- holder.inspectTypeView.text = String.format("类型:${rowsBean.type}")
- holder.inspectDateView.text = String.format("上报时间:${rowsBean.createTime}")
- //绑定事件
- holder.itemView.setOnClickListener {
- listener?.onClick(position)
- }
- }
-
- override fun getItemCount(): Int = dataRows.size
-
- class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
- var inspectImageView: QMUIRadiusImageView = view.findViewById(R.id.inspectImageView)
- var inspectMsgView: TextView = view.findViewById(R.id.inspectMsgView)
- var inspectTypeView: TextView = view.findViewById(R.id.inspectTypeView)
- var inspectDateView: TextView = view.findViewById(R.id.inspectDateView)
- }
-
- private var listener: OnItemClickListener? = null
-
- interface OnItemClickListener {
- fun onClick(position: Int)
- }
-
- fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
- listener = onClickListener
- }
-}
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 2b3c004..64b09c2 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -8,8 +8,11 @@
+
+
+
@@ -21,7 +24,7 @@
-
+
@@ -39,7 +42,7 @@
-
+
diff --git a/app/build.gradle b/app/build.gradle
index 0d7f214..0e2f815 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -19,9 +19,11 @@
applicationId "com.casic.birmm.inspect"
minSdkVersion 23
targetSdkVersion 31
- versionCode 1
- versionName "2.0.0"
- ndk { abiFilters "armeabi", "armeabi-v7a", "arm64-v8" }
+ versionCode 2
+ versionName "1.0.1"
+ ndk {
+ abiFilters "armeabi", "armeabi-v7a", "arm64-v8"
+ }
}
buildTypes {
diff --git a/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt b/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt
index 1d9e30e..d30ea59 100644
--- a/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt
@@ -1,53 +1,44 @@
package com.casic.birmm.inspect.adapter
-import android.annotation.SuppressLint
import android.content.Context
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
+import com.bumptech.glide.Glide
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.model.TaskRecordModel
+import com.casic.birmm.inspect.model.EventListModel
import com.qmuiteam.qmui.widget.QMUIRadiusImageView
-/**
- * 根据id获取事件列表
- * */
class EventListAdapter(
- context: Context,
- dataRows: List
+ private val context: Context,
+ private val dataRows: MutableList
) : RecyclerView.Adapter() {
- private val dataRows: List? = dataRows
- private var layoutInflater: LayoutInflater? = null
-
- init {
- layoutInflater = LayoutInflater.from(context)
- }
+ private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
- val view: View =
- layoutInflater!!.inflate(R.layout.item_inspect_rv, parent, false)
- return ItemViewHolder(view)
+ return ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_inspect_rv, parent, false)
+ )
}
- @SuppressLint("SetTextI18n")
override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
//绑定数据
- val rowsBean = dataRows?.get(position)!!
+ val rowsBean = dataRows[position]
+ val imageArray = rowsBean.images?.split(",")
+ Glide.with(context).load(imageArray?.get(0)).into(holder.inspectImageView)
holder.inspectMsgView.text = rowsBean.name
holder.inspectTypeView.text = String.format("类型:${rowsBean.type}")
holder.inspectDateView.text = String.format("上报时间:${rowsBean.createTime}")
//绑定事件
- if (listener != null) {
- holder.itemView.setOnClickListener {
- listener!!.onClick(position)
- }
+ holder.itemView.setOnClickListener {
+ listener?.onClick(position)
}
}
- override fun getItemCount(): Int = dataRows!!.size
+ override fun getItemCount(): Int = dataRows.size
class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
var inspectImageView: QMUIRadiusImageView = view.findViewById(R.id.inspectImageView)
@@ -63,6 +54,6 @@
}
fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
- listener = onClickListener
+ this.listener = onClickListener
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/adapter/EventSearchListAdapter.kt b/app/src/main/java/com/casic/birmm/inspect/adapter/EventSearchListAdapter.kt
deleted file mode 100644
index 2318e01..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/adapter/EventSearchListAdapter.kt
+++ /dev/null
@@ -1,62 +0,0 @@
-package com.casic.birmm.inspect.adapter
-
-import android.content.Context
-import android.view.LayoutInflater
-import android.view.View
-import android.view.ViewGroup
-import android.widget.TextView
-import androidx.recyclerview.widget.RecyclerView
-import com.bumptech.glide.Glide
-import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.model.EventListModel
-import com.qmuiteam.qmui.widget.QMUIRadiusImageView
-
-/**
- * 事件查询
- * */
-class EventSearchListAdapter(
- private val context: Context,
- private val dataRows: MutableList
-) : RecyclerView.Adapter() {
-
- private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
-
- override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
- return ItemViewHolder(
- layoutInflater.inflate(R.layout.item_inspect_rv, parent, false)
- )
- }
-
- override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
- //绑定数据
- val rowsBean = dataRows[position]
- val imageArray = rowsBean.images?.split(",")
- Glide.with(context).load(imageArray?.get(0)).into(holder.inspectImageView)
- holder.inspectMsgView.text = rowsBean.name
- holder.inspectTypeView.text = String.format("类型:${rowsBean.type}")
- holder.inspectDateView.text = String.format("上报时间:${rowsBean.createTime}")
- //绑定事件
- holder.itemView.setOnClickListener {
- listener?.onClick(position)
- }
- }
-
- override fun getItemCount(): Int = dataRows.size
-
- class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
- var inspectImageView: QMUIRadiusImageView = view.findViewById(R.id.inspectImageView)
- var inspectMsgView: TextView = view.findViewById(R.id.inspectMsgView)
- var inspectTypeView: TextView = view.findViewById(R.id.inspectTypeView)
- var inspectDateView: TextView = view.findViewById(R.id.inspectDateView)
- }
-
- private var listener: OnItemClickListener? = null
-
- interface OnItemClickListener {
- fun onClick(position: Int)
- }
-
- fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
- listener = onClickListener
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/adapter/InspectEventListAdapter.kt b/app/src/main/java/com/casic/birmm/inspect/adapter/InspectEventListAdapter.kt
new file mode 100644
index 0000000..a6c76f6
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/adapter/InspectEventListAdapter.kt
@@ -0,0 +1,55 @@
+package com.casic.birmm.inspect.adapter
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
+import com.casic.birmm.inspect.R
+import com.casic.birmm.inspect.model.TaskRecordModel
+import com.qmuiteam.qmui.widget.QMUIRadiusImageView
+
+class InspectEventListAdapter(
+ context: Context, private val dataRows: List
+) : RecyclerView.Adapter() {
+
+ private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
+
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
+ return ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_inspect_rv, parent, false)
+ )
+ }
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ //绑定数据
+ val rowsBean = dataRows[position]
+ holder.inspectMsgView.text = rowsBean.name
+ holder.inspectTypeView.text = String.format("类型:${rowsBean.type}")
+ holder.inspectDateView.text = String.format("上报时间:${rowsBean.createTime}")
+ //绑定事件
+ holder.itemView.setOnClickListener {
+ listener?.onClick(position)
+ }
+ }
+
+ override fun getItemCount(): Int = dataRows.size
+
+ class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
+ var inspectImageView: QMUIRadiusImageView = view.findViewById(R.id.inspectImageView)
+ var inspectMsgView: TextView = view.findViewById(R.id.inspectMsgView)
+ var inspectTypeView: TextView = view.findViewById(R.id.inspectTypeView)
+ var inspectDateView: TextView = view.findViewById(R.id.inspectDateView)
+ }
+
+ private var listener: OnItemClickListener? = null
+
+ interface OnItemClickListener {
+ fun onClick(position: Int)
+ }
+
+ fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
+ listener = onClickListener
+ }
+}
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 2b3c004..64b09c2 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -8,8 +8,11 @@
+
+
+
@@ -21,7 +24,7 @@
-
+
@@ -39,7 +42,7 @@
-
+
diff --git a/app/build.gradle b/app/build.gradle
index 0d7f214..0e2f815 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -19,9 +19,11 @@
applicationId "com.casic.birmm.inspect"
minSdkVersion 23
targetSdkVersion 31
- versionCode 1
- versionName "2.0.0"
- ndk { abiFilters "armeabi", "armeabi-v7a", "arm64-v8" }
+ versionCode 2
+ versionName "1.0.1"
+ ndk {
+ abiFilters "armeabi", "armeabi-v7a", "arm64-v8"
+ }
}
buildTypes {
diff --git a/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt b/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt
index 1d9e30e..d30ea59 100644
--- a/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt
@@ -1,53 +1,44 @@
package com.casic.birmm.inspect.adapter
-import android.annotation.SuppressLint
import android.content.Context
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
+import com.bumptech.glide.Glide
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.model.TaskRecordModel
+import com.casic.birmm.inspect.model.EventListModel
import com.qmuiteam.qmui.widget.QMUIRadiusImageView
-/**
- * 根据id获取事件列表
- * */
class EventListAdapter(
- context: Context,
- dataRows: List
+ private val context: Context,
+ private val dataRows: MutableList
) : RecyclerView.Adapter() {
- private val dataRows: List? = dataRows
- private var layoutInflater: LayoutInflater? = null
-
- init {
- layoutInflater = LayoutInflater.from(context)
- }
+ private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
- val view: View =
- layoutInflater!!.inflate(R.layout.item_inspect_rv, parent, false)
- return ItemViewHolder(view)
+ return ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_inspect_rv, parent, false)
+ )
}
- @SuppressLint("SetTextI18n")
override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
//绑定数据
- val rowsBean = dataRows?.get(position)!!
+ val rowsBean = dataRows[position]
+ val imageArray = rowsBean.images?.split(",")
+ Glide.with(context).load(imageArray?.get(0)).into(holder.inspectImageView)
holder.inspectMsgView.text = rowsBean.name
holder.inspectTypeView.text = String.format("类型:${rowsBean.type}")
holder.inspectDateView.text = String.format("上报时间:${rowsBean.createTime}")
//绑定事件
- if (listener != null) {
- holder.itemView.setOnClickListener {
- listener!!.onClick(position)
- }
+ holder.itemView.setOnClickListener {
+ listener?.onClick(position)
}
}
- override fun getItemCount(): Int = dataRows!!.size
+ override fun getItemCount(): Int = dataRows.size
class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
var inspectImageView: QMUIRadiusImageView = view.findViewById(R.id.inspectImageView)
@@ -63,6 +54,6 @@
}
fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
- listener = onClickListener
+ this.listener = onClickListener
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/adapter/EventSearchListAdapter.kt b/app/src/main/java/com/casic/birmm/inspect/adapter/EventSearchListAdapter.kt
deleted file mode 100644
index 2318e01..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/adapter/EventSearchListAdapter.kt
+++ /dev/null
@@ -1,62 +0,0 @@
-package com.casic.birmm.inspect.adapter
-
-import android.content.Context
-import android.view.LayoutInflater
-import android.view.View
-import android.view.ViewGroup
-import android.widget.TextView
-import androidx.recyclerview.widget.RecyclerView
-import com.bumptech.glide.Glide
-import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.model.EventListModel
-import com.qmuiteam.qmui.widget.QMUIRadiusImageView
-
-/**
- * 事件查询
- * */
-class EventSearchListAdapter(
- private val context: Context,
- private val dataRows: MutableList
-) : RecyclerView.Adapter() {
-
- private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
-
- override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
- return ItemViewHolder(
- layoutInflater.inflate(R.layout.item_inspect_rv, parent, false)
- )
- }
-
- override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
- //绑定数据
- val rowsBean = dataRows[position]
- val imageArray = rowsBean.images?.split(",")
- Glide.with(context).load(imageArray?.get(0)).into(holder.inspectImageView)
- holder.inspectMsgView.text = rowsBean.name
- holder.inspectTypeView.text = String.format("类型:${rowsBean.type}")
- holder.inspectDateView.text = String.format("上报时间:${rowsBean.createTime}")
- //绑定事件
- holder.itemView.setOnClickListener {
- listener?.onClick(position)
- }
- }
-
- override fun getItemCount(): Int = dataRows.size
-
- class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
- var inspectImageView: QMUIRadiusImageView = view.findViewById(R.id.inspectImageView)
- var inspectMsgView: TextView = view.findViewById(R.id.inspectMsgView)
- var inspectTypeView: TextView = view.findViewById(R.id.inspectTypeView)
- var inspectDateView: TextView = view.findViewById(R.id.inspectDateView)
- }
-
- private var listener: OnItemClickListener? = null
-
- interface OnItemClickListener {
- fun onClick(position: Int)
- }
-
- fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
- listener = onClickListener
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/adapter/InspectEventListAdapter.kt b/app/src/main/java/com/casic/birmm/inspect/adapter/InspectEventListAdapter.kt
new file mode 100644
index 0000000..a6c76f6
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/adapter/InspectEventListAdapter.kt
@@ -0,0 +1,55 @@
+package com.casic.birmm.inspect.adapter
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
+import com.casic.birmm.inspect.R
+import com.casic.birmm.inspect.model.TaskRecordModel
+import com.qmuiteam.qmui.widget.QMUIRadiusImageView
+
+class InspectEventListAdapter(
+ context: Context, private val dataRows: List
+) : RecyclerView.Adapter() {
+
+ private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
+
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
+ return ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_inspect_rv, parent, false)
+ )
+ }
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ //绑定数据
+ val rowsBean = dataRows[position]
+ holder.inspectMsgView.text = rowsBean.name
+ holder.inspectTypeView.text = String.format("类型:${rowsBean.type}")
+ holder.inspectDateView.text = String.format("上报时间:${rowsBean.createTime}")
+ //绑定事件
+ holder.itemView.setOnClickListener {
+ listener?.onClick(position)
+ }
+ }
+
+ override fun getItemCount(): Int = dataRows.size
+
+ class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
+ var inspectImageView: QMUIRadiusImageView = view.findViewById(R.id.inspectImageView)
+ var inspectMsgView: TextView = view.findViewById(R.id.inspectMsgView)
+ var inspectTypeView: TextView = view.findViewById(R.id.inspectTypeView)
+ var inspectDateView: TextView = view.findViewById(R.id.inspectDateView)
+ }
+
+ private var listener: OnItemClickListener? = null
+
+ interface OnItemClickListener {
+ fun onClick(position: Int)
+ }
+
+ fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
+ listener = onClickListener
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseSingleModeActivity.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseSingleModeActivity.kt
deleted file mode 100644
index b01a137..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/base/BaseSingleModeActivity.kt
+++ /dev/null
@@ -1,39 +0,0 @@
-package com.casic.birmm.inspect.base
-
-import android.os.Bundle
-import androidx.appcompat.app.AppCompatActivity
-import com.qmuiteam.qmui.util.QMUIStatusBarHelper
-
-/**
- * 单机模式页面的基础类
- * */
-abstract class BaseSingleModeActivity : AppCompatActivity() {
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- setContentView(initLayoutView())
- QMUIStatusBarHelper.translucent(this) //沉浸式状态栏
- setupTopBarLayout()
- initData(savedInstanceState)
- initEvent()
- }
-
- /**
- * 初始化xml布局
- */
- abstract fun initLayoutView(): Int
-
- /**
- * 特定页面定制沉浸式状态栏
- */
- protected abstract fun setupTopBarLayout()
-
- /**
- * 初始化默认数据
- */
- abstract fun initData(savedInstanceState: Bundle?)
-
- /**
- * 初始化业务逻辑
- */
- abstract fun initEvent()
-}
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 2b3c004..64b09c2 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -8,8 +8,11 @@
+
+
+
@@ -21,7 +24,7 @@
-
+
@@ -39,7 +42,7 @@
-
+
diff --git a/app/build.gradle b/app/build.gradle
index 0d7f214..0e2f815 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -19,9 +19,11 @@
applicationId "com.casic.birmm.inspect"
minSdkVersion 23
targetSdkVersion 31
- versionCode 1
- versionName "2.0.0"
- ndk { abiFilters "armeabi", "armeabi-v7a", "arm64-v8" }
+ versionCode 2
+ versionName "1.0.1"
+ ndk {
+ abiFilters "armeabi", "armeabi-v7a", "arm64-v8"
+ }
}
buildTypes {
diff --git a/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt b/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt
index 1d9e30e..d30ea59 100644
--- a/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt
@@ -1,53 +1,44 @@
package com.casic.birmm.inspect.adapter
-import android.annotation.SuppressLint
import android.content.Context
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
+import com.bumptech.glide.Glide
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.model.TaskRecordModel
+import com.casic.birmm.inspect.model.EventListModel
import com.qmuiteam.qmui.widget.QMUIRadiusImageView
-/**
- * 根据id获取事件列表
- * */
class EventListAdapter(
- context: Context,
- dataRows: List
+ private val context: Context,
+ private val dataRows: MutableList
) : RecyclerView.Adapter() {
- private val dataRows: List? = dataRows
- private var layoutInflater: LayoutInflater? = null
-
- init {
- layoutInflater = LayoutInflater.from(context)
- }
+ private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
- val view: View =
- layoutInflater!!.inflate(R.layout.item_inspect_rv, parent, false)
- return ItemViewHolder(view)
+ return ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_inspect_rv, parent, false)
+ )
}
- @SuppressLint("SetTextI18n")
override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
//绑定数据
- val rowsBean = dataRows?.get(position)!!
+ val rowsBean = dataRows[position]
+ val imageArray = rowsBean.images?.split(",")
+ Glide.with(context).load(imageArray?.get(0)).into(holder.inspectImageView)
holder.inspectMsgView.text = rowsBean.name
holder.inspectTypeView.text = String.format("类型:${rowsBean.type}")
holder.inspectDateView.text = String.format("上报时间:${rowsBean.createTime}")
//绑定事件
- if (listener != null) {
- holder.itemView.setOnClickListener {
- listener!!.onClick(position)
- }
+ holder.itemView.setOnClickListener {
+ listener?.onClick(position)
}
}
- override fun getItemCount(): Int = dataRows!!.size
+ override fun getItemCount(): Int = dataRows.size
class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
var inspectImageView: QMUIRadiusImageView = view.findViewById(R.id.inspectImageView)
@@ -63,6 +54,6 @@
}
fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
- listener = onClickListener
+ this.listener = onClickListener
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/adapter/EventSearchListAdapter.kt b/app/src/main/java/com/casic/birmm/inspect/adapter/EventSearchListAdapter.kt
deleted file mode 100644
index 2318e01..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/adapter/EventSearchListAdapter.kt
+++ /dev/null
@@ -1,62 +0,0 @@
-package com.casic.birmm.inspect.adapter
-
-import android.content.Context
-import android.view.LayoutInflater
-import android.view.View
-import android.view.ViewGroup
-import android.widget.TextView
-import androidx.recyclerview.widget.RecyclerView
-import com.bumptech.glide.Glide
-import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.model.EventListModel
-import com.qmuiteam.qmui.widget.QMUIRadiusImageView
-
-/**
- * 事件查询
- * */
-class EventSearchListAdapter(
- private val context: Context,
- private val dataRows: MutableList
-) : RecyclerView.Adapter() {
-
- private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
-
- override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
- return ItemViewHolder(
- layoutInflater.inflate(R.layout.item_inspect_rv, parent, false)
- )
- }
-
- override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
- //绑定数据
- val rowsBean = dataRows[position]
- val imageArray = rowsBean.images?.split(",")
- Glide.with(context).load(imageArray?.get(0)).into(holder.inspectImageView)
- holder.inspectMsgView.text = rowsBean.name
- holder.inspectTypeView.text = String.format("类型:${rowsBean.type}")
- holder.inspectDateView.text = String.format("上报时间:${rowsBean.createTime}")
- //绑定事件
- holder.itemView.setOnClickListener {
- listener?.onClick(position)
- }
- }
-
- override fun getItemCount(): Int = dataRows.size
-
- class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
- var inspectImageView: QMUIRadiusImageView = view.findViewById(R.id.inspectImageView)
- var inspectMsgView: TextView = view.findViewById(R.id.inspectMsgView)
- var inspectTypeView: TextView = view.findViewById(R.id.inspectTypeView)
- var inspectDateView: TextView = view.findViewById(R.id.inspectDateView)
- }
-
- private var listener: OnItemClickListener? = null
-
- interface OnItemClickListener {
- fun onClick(position: Int)
- }
-
- fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
- listener = onClickListener
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/adapter/InspectEventListAdapter.kt b/app/src/main/java/com/casic/birmm/inspect/adapter/InspectEventListAdapter.kt
new file mode 100644
index 0000000..a6c76f6
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/adapter/InspectEventListAdapter.kt
@@ -0,0 +1,55 @@
+package com.casic.birmm.inspect.adapter
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
+import com.casic.birmm.inspect.R
+import com.casic.birmm.inspect.model.TaskRecordModel
+import com.qmuiteam.qmui.widget.QMUIRadiusImageView
+
+class InspectEventListAdapter(
+ context: Context, private val dataRows: List
+) : RecyclerView.Adapter() {
+
+ private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
+
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
+ return ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_inspect_rv, parent, false)
+ )
+ }
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ //绑定数据
+ val rowsBean = dataRows[position]
+ holder.inspectMsgView.text = rowsBean.name
+ holder.inspectTypeView.text = String.format("类型:${rowsBean.type}")
+ holder.inspectDateView.text = String.format("上报时间:${rowsBean.createTime}")
+ //绑定事件
+ holder.itemView.setOnClickListener {
+ listener?.onClick(position)
+ }
+ }
+
+ override fun getItemCount(): Int = dataRows.size
+
+ class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
+ var inspectImageView: QMUIRadiusImageView = view.findViewById(R.id.inspectImageView)
+ var inspectMsgView: TextView = view.findViewById(R.id.inspectMsgView)
+ var inspectTypeView: TextView = view.findViewById(R.id.inspectTypeView)
+ var inspectDateView: TextView = view.findViewById(R.id.inspectDateView)
+ }
+
+ private var listener: OnItemClickListener? = null
+
+ interface OnItemClickListener {
+ fun onClick(position: Int)
+ }
+
+ fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
+ listener = onClickListener
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseSingleModeActivity.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseSingleModeActivity.kt
deleted file mode 100644
index b01a137..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/base/BaseSingleModeActivity.kt
+++ /dev/null
@@ -1,39 +0,0 @@
-package com.casic.birmm.inspect.base
-
-import android.os.Bundle
-import androidx.appcompat.app.AppCompatActivity
-import com.qmuiteam.qmui.util.QMUIStatusBarHelper
-
-/**
- * 单机模式页面的基础类
- * */
-abstract class BaseSingleModeActivity : AppCompatActivity() {
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- setContentView(initLayoutView())
- QMUIStatusBarHelper.translucent(this) //沉浸式状态栏
- setupTopBarLayout()
- initData(savedInstanceState)
- initEvent()
- }
-
- /**
- * 初始化xml布局
- */
- abstract fun initLayoutView(): Int
-
- /**
- * 特定页面定制沉浸式状态栏
- */
- protected abstract fun setupTopBarLayout()
-
- /**
- * 初始化默认数据
- */
- abstract fun initData(savedInstanceState: Bundle?)
-
- /**
- * 初始化业务逻辑
- */
- abstract fun initEvent()
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/base/KotlinMapBaseActivity.kt b/app/src/main/java/com/casic/birmm/inspect/base/KotlinMapBaseActivity.kt
new file mode 100644
index 0000000..8b33d26
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/base/KotlinMapBaseActivity.kt
@@ -0,0 +1,83 @@
+package com.casic.birmm.inspect.base
+
+import android.content.BroadcastReceiver
+import android.content.Context
+import android.content.Intent
+import android.net.ConnectivityManager
+import android.os.Bundle
+import android.provider.Settings
+import android.view.WindowManager
+import androidx.appcompat.app.AppCompatActivity
+import com.pengxh.kt.lite.extensions.isNetworkConnected
+import com.pengxh.kt.lite.utils.BroadcastManager
+import com.pengxh.kt.lite.utils.PageNavigationManager
+import com.pengxh.kt.lite.widget.dialog.NoNetworkDialog
+
+/**
+ * 单机模式页面的基础类
+ * */
+abstract class KotlinMapBaseActivity : AppCompatActivity() {
+
+ private lateinit var broadcastManager: BroadcastManager
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ setContentView(initLayoutView())
+ setupTopBarLayout()
+ initData(savedInstanceState)
+ initEvent()
+ PageNavigationManager.addActivity(this)
+ broadcastManager = BroadcastManager.obtainInstance(this)
+ broadcastManager.addAction(
+ object : BroadcastReceiver() {
+ override fun onReceive(context: Context?, intent: Intent?) {
+ if (!context!!.isNetworkConnected()) {
+ /**
+ * 捕获用户在有网情况下登录进入APP,后来又处于断网状态会导致闪退的Bug
+ * */
+ try {
+ NoNetworkDialog.Builder()
+ .setContext(this@KotlinMapBaseActivity)
+ .setOnDialogButtonClickListener(object :
+ NoNetworkDialog.OnDialogButtonClickListener {
+ override fun onButtonClick() {
+ startActivity(Intent(Settings.ACTION_DATA_ROAMING_SETTINGS))
+ }
+ }).build().show()
+ } catch (e: WindowManager.BadTokenException) {
+ e.printStackTrace()
+ }
+ }
+ }
+ }, ConnectivityManager.CONNECTIVITY_ACTION
+ )
+ }
+
+ /**
+ * 初始化xml布局
+ */
+ abstract fun initLayoutView(): Int
+
+ /**
+ * 特定页面定制沉浸式状态栏
+ */
+ abstract fun setupTopBarLayout()
+
+ /**
+ * 初始化默认数据
+ */
+ abstract fun initData(savedInstanceState: Bundle?)
+
+ /**
+ * 初始化业务逻辑
+ */
+ abstract fun initEvent()
+
+ /**
+ * 取消协程
+ * */
+ override fun onDestroy() {
+ broadcastManager.destroy(ConnectivityManager.CONNECTIVITY_ACTION)
+ super.onDestroy()
+ }
+}
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 2b3c004..64b09c2 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -8,8 +8,11 @@
+
+
+
@@ -21,7 +24,7 @@
-
+
@@ -39,7 +42,7 @@
-
+
diff --git a/app/build.gradle b/app/build.gradle
index 0d7f214..0e2f815 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -19,9 +19,11 @@
applicationId "com.casic.birmm.inspect"
minSdkVersion 23
targetSdkVersion 31
- versionCode 1
- versionName "2.0.0"
- ndk { abiFilters "armeabi", "armeabi-v7a", "arm64-v8" }
+ versionCode 2
+ versionName "1.0.1"
+ ndk {
+ abiFilters "armeabi", "armeabi-v7a", "arm64-v8"
+ }
}
buildTypes {
diff --git a/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt b/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt
index 1d9e30e..d30ea59 100644
--- a/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt
@@ -1,53 +1,44 @@
package com.casic.birmm.inspect.adapter
-import android.annotation.SuppressLint
import android.content.Context
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
+import com.bumptech.glide.Glide
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.model.TaskRecordModel
+import com.casic.birmm.inspect.model.EventListModel
import com.qmuiteam.qmui.widget.QMUIRadiusImageView
-/**
- * 根据id获取事件列表
- * */
class EventListAdapter(
- context: Context,
- dataRows: List
+ private val context: Context,
+ private val dataRows: MutableList
) : RecyclerView.Adapter() {
- private val dataRows: List? = dataRows
- private var layoutInflater: LayoutInflater? = null
-
- init {
- layoutInflater = LayoutInflater.from(context)
- }
+ private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
- val view: View =
- layoutInflater!!.inflate(R.layout.item_inspect_rv, parent, false)
- return ItemViewHolder(view)
+ return ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_inspect_rv, parent, false)
+ )
}
- @SuppressLint("SetTextI18n")
override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
//绑定数据
- val rowsBean = dataRows?.get(position)!!
+ val rowsBean = dataRows[position]
+ val imageArray = rowsBean.images?.split(",")
+ Glide.with(context).load(imageArray?.get(0)).into(holder.inspectImageView)
holder.inspectMsgView.text = rowsBean.name
holder.inspectTypeView.text = String.format("类型:${rowsBean.type}")
holder.inspectDateView.text = String.format("上报时间:${rowsBean.createTime}")
//绑定事件
- if (listener != null) {
- holder.itemView.setOnClickListener {
- listener!!.onClick(position)
- }
+ holder.itemView.setOnClickListener {
+ listener?.onClick(position)
}
}
- override fun getItemCount(): Int = dataRows!!.size
+ override fun getItemCount(): Int = dataRows.size
class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
var inspectImageView: QMUIRadiusImageView = view.findViewById(R.id.inspectImageView)
@@ -63,6 +54,6 @@
}
fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
- listener = onClickListener
+ this.listener = onClickListener
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/adapter/EventSearchListAdapter.kt b/app/src/main/java/com/casic/birmm/inspect/adapter/EventSearchListAdapter.kt
deleted file mode 100644
index 2318e01..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/adapter/EventSearchListAdapter.kt
+++ /dev/null
@@ -1,62 +0,0 @@
-package com.casic.birmm.inspect.adapter
-
-import android.content.Context
-import android.view.LayoutInflater
-import android.view.View
-import android.view.ViewGroup
-import android.widget.TextView
-import androidx.recyclerview.widget.RecyclerView
-import com.bumptech.glide.Glide
-import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.model.EventListModel
-import com.qmuiteam.qmui.widget.QMUIRadiusImageView
-
-/**
- * 事件查询
- * */
-class EventSearchListAdapter(
- private val context: Context,
- private val dataRows: MutableList
-) : RecyclerView.Adapter() {
-
- private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
-
- override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
- return ItemViewHolder(
- layoutInflater.inflate(R.layout.item_inspect_rv, parent, false)
- )
- }
-
- override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
- //绑定数据
- val rowsBean = dataRows[position]
- val imageArray = rowsBean.images?.split(",")
- Glide.with(context).load(imageArray?.get(0)).into(holder.inspectImageView)
- holder.inspectMsgView.text = rowsBean.name
- holder.inspectTypeView.text = String.format("类型:${rowsBean.type}")
- holder.inspectDateView.text = String.format("上报时间:${rowsBean.createTime}")
- //绑定事件
- holder.itemView.setOnClickListener {
- listener?.onClick(position)
- }
- }
-
- override fun getItemCount(): Int = dataRows.size
-
- class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
- var inspectImageView: QMUIRadiusImageView = view.findViewById(R.id.inspectImageView)
- var inspectMsgView: TextView = view.findViewById(R.id.inspectMsgView)
- var inspectTypeView: TextView = view.findViewById(R.id.inspectTypeView)
- var inspectDateView: TextView = view.findViewById(R.id.inspectDateView)
- }
-
- private var listener: OnItemClickListener? = null
-
- interface OnItemClickListener {
- fun onClick(position: Int)
- }
-
- fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
- listener = onClickListener
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/adapter/InspectEventListAdapter.kt b/app/src/main/java/com/casic/birmm/inspect/adapter/InspectEventListAdapter.kt
new file mode 100644
index 0000000..a6c76f6
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/adapter/InspectEventListAdapter.kt
@@ -0,0 +1,55 @@
+package com.casic.birmm.inspect.adapter
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
+import com.casic.birmm.inspect.R
+import com.casic.birmm.inspect.model.TaskRecordModel
+import com.qmuiteam.qmui.widget.QMUIRadiusImageView
+
+class InspectEventListAdapter(
+ context: Context, private val dataRows: List
+) : RecyclerView.Adapter() {
+
+ private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
+
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
+ return ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_inspect_rv, parent, false)
+ )
+ }
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ //绑定数据
+ val rowsBean = dataRows[position]
+ holder.inspectMsgView.text = rowsBean.name
+ holder.inspectTypeView.text = String.format("类型:${rowsBean.type}")
+ holder.inspectDateView.text = String.format("上报时间:${rowsBean.createTime}")
+ //绑定事件
+ holder.itemView.setOnClickListener {
+ listener?.onClick(position)
+ }
+ }
+
+ override fun getItemCount(): Int = dataRows.size
+
+ class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
+ var inspectImageView: QMUIRadiusImageView = view.findViewById(R.id.inspectImageView)
+ var inspectMsgView: TextView = view.findViewById(R.id.inspectMsgView)
+ var inspectTypeView: TextView = view.findViewById(R.id.inspectTypeView)
+ var inspectDateView: TextView = view.findViewById(R.id.inspectDateView)
+ }
+
+ private var listener: OnItemClickListener? = null
+
+ interface OnItemClickListener {
+ fun onClick(position: Int)
+ }
+
+ fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
+ listener = onClickListener
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseSingleModeActivity.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseSingleModeActivity.kt
deleted file mode 100644
index b01a137..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/base/BaseSingleModeActivity.kt
+++ /dev/null
@@ -1,39 +0,0 @@
-package com.casic.birmm.inspect.base
-
-import android.os.Bundle
-import androidx.appcompat.app.AppCompatActivity
-import com.qmuiteam.qmui.util.QMUIStatusBarHelper
-
-/**
- * 单机模式页面的基础类
- * */
-abstract class BaseSingleModeActivity : AppCompatActivity() {
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- setContentView(initLayoutView())
- QMUIStatusBarHelper.translucent(this) //沉浸式状态栏
- setupTopBarLayout()
- initData(savedInstanceState)
- initEvent()
- }
-
- /**
- * 初始化xml布局
- */
- abstract fun initLayoutView(): Int
-
- /**
- * 特定页面定制沉浸式状态栏
- */
- protected abstract fun setupTopBarLayout()
-
- /**
- * 初始化默认数据
- */
- abstract fun initData(savedInstanceState: Bundle?)
-
- /**
- * 初始化业务逻辑
- */
- abstract fun initEvent()
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/base/KotlinMapBaseActivity.kt b/app/src/main/java/com/casic/birmm/inspect/base/KotlinMapBaseActivity.kt
new file mode 100644
index 0000000..8b33d26
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/base/KotlinMapBaseActivity.kt
@@ -0,0 +1,83 @@
+package com.casic.birmm.inspect.base
+
+import android.content.BroadcastReceiver
+import android.content.Context
+import android.content.Intent
+import android.net.ConnectivityManager
+import android.os.Bundle
+import android.provider.Settings
+import android.view.WindowManager
+import androidx.appcompat.app.AppCompatActivity
+import com.pengxh.kt.lite.extensions.isNetworkConnected
+import com.pengxh.kt.lite.utils.BroadcastManager
+import com.pengxh.kt.lite.utils.PageNavigationManager
+import com.pengxh.kt.lite.widget.dialog.NoNetworkDialog
+
+/**
+ * 单机模式页面的基础类
+ * */
+abstract class KotlinMapBaseActivity : AppCompatActivity() {
+
+ private lateinit var broadcastManager: BroadcastManager
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ setContentView(initLayoutView())
+ setupTopBarLayout()
+ initData(savedInstanceState)
+ initEvent()
+ PageNavigationManager.addActivity(this)
+ broadcastManager = BroadcastManager.obtainInstance(this)
+ broadcastManager.addAction(
+ object : BroadcastReceiver() {
+ override fun onReceive(context: Context?, intent: Intent?) {
+ if (!context!!.isNetworkConnected()) {
+ /**
+ * 捕获用户在有网情况下登录进入APP,后来又处于断网状态会导致闪退的Bug
+ * */
+ try {
+ NoNetworkDialog.Builder()
+ .setContext(this@KotlinMapBaseActivity)
+ .setOnDialogButtonClickListener(object :
+ NoNetworkDialog.OnDialogButtonClickListener {
+ override fun onButtonClick() {
+ startActivity(Intent(Settings.ACTION_DATA_ROAMING_SETTINGS))
+ }
+ }).build().show()
+ } catch (e: WindowManager.BadTokenException) {
+ e.printStackTrace()
+ }
+ }
+ }
+ }, ConnectivityManager.CONNECTIVITY_ACTION
+ )
+ }
+
+ /**
+ * 初始化xml布局
+ */
+ abstract fun initLayoutView(): Int
+
+ /**
+ * 特定页面定制沉浸式状态栏
+ */
+ abstract fun setupTopBarLayout()
+
+ /**
+ * 初始化默认数据
+ */
+ abstract fun initData(savedInstanceState: Bundle?)
+
+ /**
+ * 初始化业务逻辑
+ */
+ abstract fun initEvent()
+
+ /**
+ * 取消协程
+ * */
+ override fun onDestroy() {
+ broadcastManager.destroy(ConnectivityManager.CONNECTIVITY_ACTION)
+ super.onDestroy()
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt b/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt
index c1447af..12c92e6 100644
--- a/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt
@@ -17,4 +17,12 @@
}
}
return builder.toString()
+}
+
+fun addAll(vararg args: String): ArrayList {
+ val result = ArrayList()
+ args.forEach {
+ result.add(it)
+ }
+ return result
}
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 2b3c004..64b09c2 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -8,8 +8,11 @@
+
+
+
@@ -21,7 +24,7 @@
-
+
@@ -39,7 +42,7 @@
-
+
diff --git a/app/build.gradle b/app/build.gradle
index 0d7f214..0e2f815 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -19,9 +19,11 @@
applicationId "com.casic.birmm.inspect"
minSdkVersion 23
targetSdkVersion 31
- versionCode 1
- versionName "2.0.0"
- ndk { abiFilters "armeabi", "armeabi-v7a", "arm64-v8" }
+ versionCode 2
+ versionName "1.0.1"
+ ndk {
+ abiFilters "armeabi", "armeabi-v7a", "arm64-v8"
+ }
}
buildTypes {
diff --git a/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt b/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt
index 1d9e30e..d30ea59 100644
--- a/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt
@@ -1,53 +1,44 @@
package com.casic.birmm.inspect.adapter
-import android.annotation.SuppressLint
import android.content.Context
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
+import com.bumptech.glide.Glide
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.model.TaskRecordModel
+import com.casic.birmm.inspect.model.EventListModel
import com.qmuiteam.qmui.widget.QMUIRadiusImageView
-/**
- * 根据id获取事件列表
- * */
class EventListAdapter(
- context: Context,
- dataRows: List
+ private val context: Context,
+ private val dataRows: MutableList
) : RecyclerView.Adapter() {
- private val dataRows: List? = dataRows
- private var layoutInflater: LayoutInflater? = null
-
- init {
- layoutInflater = LayoutInflater.from(context)
- }
+ private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
- val view: View =
- layoutInflater!!.inflate(R.layout.item_inspect_rv, parent, false)
- return ItemViewHolder(view)
+ return ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_inspect_rv, parent, false)
+ )
}
- @SuppressLint("SetTextI18n")
override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
//绑定数据
- val rowsBean = dataRows?.get(position)!!
+ val rowsBean = dataRows[position]
+ val imageArray = rowsBean.images?.split(",")
+ Glide.with(context).load(imageArray?.get(0)).into(holder.inspectImageView)
holder.inspectMsgView.text = rowsBean.name
holder.inspectTypeView.text = String.format("类型:${rowsBean.type}")
holder.inspectDateView.text = String.format("上报时间:${rowsBean.createTime}")
//绑定事件
- if (listener != null) {
- holder.itemView.setOnClickListener {
- listener!!.onClick(position)
- }
+ holder.itemView.setOnClickListener {
+ listener?.onClick(position)
}
}
- override fun getItemCount(): Int = dataRows!!.size
+ override fun getItemCount(): Int = dataRows.size
class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
var inspectImageView: QMUIRadiusImageView = view.findViewById(R.id.inspectImageView)
@@ -63,6 +54,6 @@
}
fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
- listener = onClickListener
+ this.listener = onClickListener
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/adapter/EventSearchListAdapter.kt b/app/src/main/java/com/casic/birmm/inspect/adapter/EventSearchListAdapter.kt
deleted file mode 100644
index 2318e01..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/adapter/EventSearchListAdapter.kt
+++ /dev/null
@@ -1,62 +0,0 @@
-package com.casic.birmm.inspect.adapter
-
-import android.content.Context
-import android.view.LayoutInflater
-import android.view.View
-import android.view.ViewGroup
-import android.widget.TextView
-import androidx.recyclerview.widget.RecyclerView
-import com.bumptech.glide.Glide
-import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.model.EventListModel
-import com.qmuiteam.qmui.widget.QMUIRadiusImageView
-
-/**
- * 事件查询
- * */
-class EventSearchListAdapter(
- private val context: Context,
- private val dataRows: MutableList
-) : RecyclerView.Adapter() {
-
- private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
-
- override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
- return ItemViewHolder(
- layoutInflater.inflate(R.layout.item_inspect_rv, parent, false)
- )
- }
-
- override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
- //绑定数据
- val rowsBean = dataRows[position]
- val imageArray = rowsBean.images?.split(",")
- Glide.with(context).load(imageArray?.get(0)).into(holder.inspectImageView)
- holder.inspectMsgView.text = rowsBean.name
- holder.inspectTypeView.text = String.format("类型:${rowsBean.type}")
- holder.inspectDateView.text = String.format("上报时间:${rowsBean.createTime}")
- //绑定事件
- holder.itemView.setOnClickListener {
- listener?.onClick(position)
- }
- }
-
- override fun getItemCount(): Int = dataRows.size
-
- class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
- var inspectImageView: QMUIRadiusImageView = view.findViewById(R.id.inspectImageView)
- var inspectMsgView: TextView = view.findViewById(R.id.inspectMsgView)
- var inspectTypeView: TextView = view.findViewById(R.id.inspectTypeView)
- var inspectDateView: TextView = view.findViewById(R.id.inspectDateView)
- }
-
- private var listener: OnItemClickListener? = null
-
- interface OnItemClickListener {
- fun onClick(position: Int)
- }
-
- fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
- listener = onClickListener
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/adapter/InspectEventListAdapter.kt b/app/src/main/java/com/casic/birmm/inspect/adapter/InspectEventListAdapter.kt
new file mode 100644
index 0000000..a6c76f6
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/adapter/InspectEventListAdapter.kt
@@ -0,0 +1,55 @@
+package com.casic.birmm.inspect.adapter
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
+import com.casic.birmm.inspect.R
+import com.casic.birmm.inspect.model.TaskRecordModel
+import com.qmuiteam.qmui.widget.QMUIRadiusImageView
+
+class InspectEventListAdapter(
+ context: Context, private val dataRows: List
+) : RecyclerView.Adapter() {
+
+ private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
+
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
+ return ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_inspect_rv, parent, false)
+ )
+ }
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ //绑定数据
+ val rowsBean = dataRows[position]
+ holder.inspectMsgView.text = rowsBean.name
+ holder.inspectTypeView.text = String.format("类型:${rowsBean.type}")
+ holder.inspectDateView.text = String.format("上报时间:${rowsBean.createTime}")
+ //绑定事件
+ holder.itemView.setOnClickListener {
+ listener?.onClick(position)
+ }
+ }
+
+ override fun getItemCount(): Int = dataRows.size
+
+ class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
+ var inspectImageView: QMUIRadiusImageView = view.findViewById(R.id.inspectImageView)
+ var inspectMsgView: TextView = view.findViewById(R.id.inspectMsgView)
+ var inspectTypeView: TextView = view.findViewById(R.id.inspectTypeView)
+ var inspectDateView: TextView = view.findViewById(R.id.inspectDateView)
+ }
+
+ private var listener: OnItemClickListener? = null
+
+ interface OnItemClickListener {
+ fun onClick(position: Int)
+ }
+
+ fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
+ listener = onClickListener
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseSingleModeActivity.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseSingleModeActivity.kt
deleted file mode 100644
index b01a137..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/base/BaseSingleModeActivity.kt
+++ /dev/null
@@ -1,39 +0,0 @@
-package com.casic.birmm.inspect.base
-
-import android.os.Bundle
-import androidx.appcompat.app.AppCompatActivity
-import com.qmuiteam.qmui.util.QMUIStatusBarHelper
-
-/**
- * 单机模式页面的基础类
- * */
-abstract class BaseSingleModeActivity : AppCompatActivity() {
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- setContentView(initLayoutView())
- QMUIStatusBarHelper.translucent(this) //沉浸式状态栏
- setupTopBarLayout()
- initData(savedInstanceState)
- initEvent()
- }
-
- /**
- * 初始化xml布局
- */
- abstract fun initLayoutView(): Int
-
- /**
- * 特定页面定制沉浸式状态栏
- */
- protected abstract fun setupTopBarLayout()
-
- /**
- * 初始化默认数据
- */
- abstract fun initData(savedInstanceState: Bundle?)
-
- /**
- * 初始化业务逻辑
- */
- abstract fun initEvent()
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/base/KotlinMapBaseActivity.kt b/app/src/main/java/com/casic/birmm/inspect/base/KotlinMapBaseActivity.kt
new file mode 100644
index 0000000..8b33d26
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/base/KotlinMapBaseActivity.kt
@@ -0,0 +1,83 @@
+package com.casic.birmm.inspect.base
+
+import android.content.BroadcastReceiver
+import android.content.Context
+import android.content.Intent
+import android.net.ConnectivityManager
+import android.os.Bundle
+import android.provider.Settings
+import android.view.WindowManager
+import androidx.appcompat.app.AppCompatActivity
+import com.pengxh.kt.lite.extensions.isNetworkConnected
+import com.pengxh.kt.lite.utils.BroadcastManager
+import com.pengxh.kt.lite.utils.PageNavigationManager
+import com.pengxh.kt.lite.widget.dialog.NoNetworkDialog
+
+/**
+ * 单机模式页面的基础类
+ * */
+abstract class KotlinMapBaseActivity : AppCompatActivity() {
+
+ private lateinit var broadcastManager: BroadcastManager
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ setContentView(initLayoutView())
+ setupTopBarLayout()
+ initData(savedInstanceState)
+ initEvent()
+ PageNavigationManager.addActivity(this)
+ broadcastManager = BroadcastManager.obtainInstance(this)
+ broadcastManager.addAction(
+ object : BroadcastReceiver() {
+ override fun onReceive(context: Context?, intent: Intent?) {
+ if (!context!!.isNetworkConnected()) {
+ /**
+ * 捕获用户在有网情况下登录进入APP,后来又处于断网状态会导致闪退的Bug
+ * */
+ try {
+ NoNetworkDialog.Builder()
+ .setContext(this@KotlinMapBaseActivity)
+ .setOnDialogButtonClickListener(object :
+ NoNetworkDialog.OnDialogButtonClickListener {
+ override fun onButtonClick() {
+ startActivity(Intent(Settings.ACTION_DATA_ROAMING_SETTINGS))
+ }
+ }).build().show()
+ } catch (e: WindowManager.BadTokenException) {
+ e.printStackTrace()
+ }
+ }
+ }
+ }, ConnectivityManager.CONNECTIVITY_ACTION
+ )
+ }
+
+ /**
+ * 初始化xml布局
+ */
+ abstract fun initLayoutView(): Int
+
+ /**
+ * 特定页面定制沉浸式状态栏
+ */
+ abstract fun setupTopBarLayout()
+
+ /**
+ * 初始化默认数据
+ */
+ abstract fun initData(savedInstanceState: Bundle?)
+
+ /**
+ * 初始化业务逻辑
+ */
+ abstract fun initEvent()
+
+ /**
+ * 取消协程
+ * */
+ override fun onDestroy() {
+ broadcastManager.destroy(ConnectivityManager.CONNECTIVITY_ACTION)
+ super.onDestroy()
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt b/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt
index c1447af..12c92e6 100644
--- a/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt
@@ -17,4 +17,12 @@
}
}
return builder.toString()
+}
+
+fun addAll(vararg args: String): ArrayList {
+ val result = ArrayList()
+ args.forEach {
+ result.add(it)
+ }
+ return result
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
index 8e8821c..fed3a92 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
@@ -1,7 +1,8 @@
+package com.casic.birmm.inspect.utils.retrofit
+
import com.casic.birmm.inspect.model.*
import com.casic.birmm.inspect.utils.AuthenticationHelper
import com.casic.birmm.inspect.utils.LocaleConstant
-import com.casic.birmm.inspect.utils.retrofit.RetrofitService
import com.pengxh.kt.lite.utils.RetrofitFactory.createRetrofit
import com.pengxh.kt.lite.utils.SaveKeyValues
import okhttp3.MediaType.Companion.toMediaTypeOrNull
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 2b3c004..64b09c2 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -8,8 +8,11 @@
+
+
+
@@ -21,7 +24,7 @@
-
+
@@ -39,7 +42,7 @@
-
+
diff --git a/app/build.gradle b/app/build.gradle
index 0d7f214..0e2f815 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -19,9 +19,11 @@
applicationId "com.casic.birmm.inspect"
minSdkVersion 23
targetSdkVersion 31
- versionCode 1
- versionName "2.0.0"
- ndk { abiFilters "armeabi", "armeabi-v7a", "arm64-v8" }
+ versionCode 2
+ versionName "1.0.1"
+ ndk {
+ abiFilters "armeabi", "armeabi-v7a", "arm64-v8"
+ }
}
buildTypes {
diff --git a/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt b/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt
index 1d9e30e..d30ea59 100644
--- a/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt
@@ -1,53 +1,44 @@
package com.casic.birmm.inspect.adapter
-import android.annotation.SuppressLint
import android.content.Context
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
+import com.bumptech.glide.Glide
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.model.TaskRecordModel
+import com.casic.birmm.inspect.model.EventListModel
import com.qmuiteam.qmui.widget.QMUIRadiusImageView
-/**
- * 根据id获取事件列表
- * */
class EventListAdapter(
- context: Context,
- dataRows: List
+ private val context: Context,
+ private val dataRows: MutableList
) : RecyclerView.Adapter() {
- private val dataRows: List? = dataRows
- private var layoutInflater: LayoutInflater? = null
-
- init {
- layoutInflater = LayoutInflater.from(context)
- }
+ private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
- val view: View =
- layoutInflater!!.inflate(R.layout.item_inspect_rv, parent, false)
- return ItemViewHolder(view)
+ return ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_inspect_rv, parent, false)
+ )
}
- @SuppressLint("SetTextI18n")
override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
//绑定数据
- val rowsBean = dataRows?.get(position)!!
+ val rowsBean = dataRows[position]
+ val imageArray = rowsBean.images?.split(",")
+ Glide.with(context).load(imageArray?.get(0)).into(holder.inspectImageView)
holder.inspectMsgView.text = rowsBean.name
holder.inspectTypeView.text = String.format("类型:${rowsBean.type}")
holder.inspectDateView.text = String.format("上报时间:${rowsBean.createTime}")
//绑定事件
- if (listener != null) {
- holder.itemView.setOnClickListener {
- listener!!.onClick(position)
- }
+ holder.itemView.setOnClickListener {
+ listener?.onClick(position)
}
}
- override fun getItemCount(): Int = dataRows!!.size
+ override fun getItemCount(): Int = dataRows.size
class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
var inspectImageView: QMUIRadiusImageView = view.findViewById(R.id.inspectImageView)
@@ -63,6 +54,6 @@
}
fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
- listener = onClickListener
+ this.listener = onClickListener
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/adapter/EventSearchListAdapter.kt b/app/src/main/java/com/casic/birmm/inspect/adapter/EventSearchListAdapter.kt
deleted file mode 100644
index 2318e01..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/adapter/EventSearchListAdapter.kt
+++ /dev/null
@@ -1,62 +0,0 @@
-package com.casic.birmm.inspect.adapter
-
-import android.content.Context
-import android.view.LayoutInflater
-import android.view.View
-import android.view.ViewGroup
-import android.widget.TextView
-import androidx.recyclerview.widget.RecyclerView
-import com.bumptech.glide.Glide
-import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.model.EventListModel
-import com.qmuiteam.qmui.widget.QMUIRadiusImageView
-
-/**
- * 事件查询
- * */
-class EventSearchListAdapter(
- private val context: Context,
- private val dataRows: MutableList
-) : RecyclerView.Adapter() {
-
- private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
-
- override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
- return ItemViewHolder(
- layoutInflater.inflate(R.layout.item_inspect_rv, parent, false)
- )
- }
-
- override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
- //绑定数据
- val rowsBean = dataRows[position]
- val imageArray = rowsBean.images?.split(",")
- Glide.with(context).load(imageArray?.get(0)).into(holder.inspectImageView)
- holder.inspectMsgView.text = rowsBean.name
- holder.inspectTypeView.text = String.format("类型:${rowsBean.type}")
- holder.inspectDateView.text = String.format("上报时间:${rowsBean.createTime}")
- //绑定事件
- holder.itemView.setOnClickListener {
- listener?.onClick(position)
- }
- }
-
- override fun getItemCount(): Int = dataRows.size
-
- class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
- var inspectImageView: QMUIRadiusImageView = view.findViewById(R.id.inspectImageView)
- var inspectMsgView: TextView = view.findViewById(R.id.inspectMsgView)
- var inspectTypeView: TextView = view.findViewById(R.id.inspectTypeView)
- var inspectDateView: TextView = view.findViewById(R.id.inspectDateView)
- }
-
- private var listener: OnItemClickListener? = null
-
- interface OnItemClickListener {
- fun onClick(position: Int)
- }
-
- fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
- listener = onClickListener
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/adapter/InspectEventListAdapter.kt b/app/src/main/java/com/casic/birmm/inspect/adapter/InspectEventListAdapter.kt
new file mode 100644
index 0000000..a6c76f6
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/adapter/InspectEventListAdapter.kt
@@ -0,0 +1,55 @@
+package com.casic.birmm.inspect.adapter
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
+import com.casic.birmm.inspect.R
+import com.casic.birmm.inspect.model.TaskRecordModel
+import com.qmuiteam.qmui.widget.QMUIRadiusImageView
+
+class InspectEventListAdapter(
+ context: Context, private val dataRows: List
+) : RecyclerView.Adapter() {
+
+ private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
+
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
+ return ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_inspect_rv, parent, false)
+ )
+ }
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ //绑定数据
+ val rowsBean = dataRows[position]
+ holder.inspectMsgView.text = rowsBean.name
+ holder.inspectTypeView.text = String.format("类型:${rowsBean.type}")
+ holder.inspectDateView.text = String.format("上报时间:${rowsBean.createTime}")
+ //绑定事件
+ holder.itemView.setOnClickListener {
+ listener?.onClick(position)
+ }
+ }
+
+ override fun getItemCount(): Int = dataRows.size
+
+ class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
+ var inspectImageView: QMUIRadiusImageView = view.findViewById(R.id.inspectImageView)
+ var inspectMsgView: TextView = view.findViewById(R.id.inspectMsgView)
+ var inspectTypeView: TextView = view.findViewById(R.id.inspectTypeView)
+ var inspectDateView: TextView = view.findViewById(R.id.inspectDateView)
+ }
+
+ private var listener: OnItemClickListener? = null
+
+ interface OnItemClickListener {
+ fun onClick(position: Int)
+ }
+
+ fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
+ listener = onClickListener
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseSingleModeActivity.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseSingleModeActivity.kt
deleted file mode 100644
index b01a137..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/base/BaseSingleModeActivity.kt
+++ /dev/null
@@ -1,39 +0,0 @@
-package com.casic.birmm.inspect.base
-
-import android.os.Bundle
-import androidx.appcompat.app.AppCompatActivity
-import com.qmuiteam.qmui.util.QMUIStatusBarHelper
-
-/**
- * 单机模式页面的基础类
- * */
-abstract class BaseSingleModeActivity : AppCompatActivity() {
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- setContentView(initLayoutView())
- QMUIStatusBarHelper.translucent(this) //沉浸式状态栏
- setupTopBarLayout()
- initData(savedInstanceState)
- initEvent()
- }
-
- /**
- * 初始化xml布局
- */
- abstract fun initLayoutView(): Int
-
- /**
- * 特定页面定制沉浸式状态栏
- */
- protected abstract fun setupTopBarLayout()
-
- /**
- * 初始化默认数据
- */
- abstract fun initData(savedInstanceState: Bundle?)
-
- /**
- * 初始化业务逻辑
- */
- abstract fun initEvent()
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/base/KotlinMapBaseActivity.kt b/app/src/main/java/com/casic/birmm/inspect/base/KotlinMapBaseActivity.kt
new file mode 100644
index 0000000..8b33d26
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/base/KotlinMapBaseActivity.kt
@@ -0,0 +1,83 @@
+package com.casic.birmm.inspect.base
+
+import android.content.BroadcastReceiver
+import android.content.Context
+import android.content.Intent
+import android.net.ConnectivityManager
+import android.os.Bundle
+import android.provider.Settings
+import android.view.WindowManager
+import androidx.appcompat.app.AppCompatActivity
+import com.pengxh.kt.lite.extensions.isNetworkConnected
+import com.pengxh.kt.lite.utils.BroadcastManager
+import com.pengxh.kt.lite.utils.PageNavigationManager
+import com.pengxh.kt.lite.widget.dialog.NoNetworkDialog
+
+/**
+ * 单机模式页面的基础类
+ * */
+abstract class KotlinMapBaseActivity : AppCompatActivity() {
+
+ private lateinit var broadcastManager: BroadcastManager
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ setContentView(initLayoutView())
+ setupTopBarLayout()
+ initData(savedInstanceState)
+ initEvent()
+ PageNavigationManager.addActivity(this)
+ broadcastManager = BroadcastManager.obtainInstance(this)
+ broadcastManager.addAction(
+ object : BroadcastReceiver() {
+ override fun onReceive(context: Context?, intent: Intent?) {
+ if (!context!!.isNetworkConnected()) {
+ /**
+ * 捕获用户在有网情况下登录进入APP,后来又处于断网状态会导致闪退的Bug
+ * */
+ try {
+ NoNetworkDialog.Builder()
+ .setContext(this@KotlinMapBaseActivity)
+ .setOnDialogButtonClickListener(object :
+ NoNetworkDialog.OnDialogButtonClickListener {
+ override fun onButtonClick() {
+ startActivity(Intent(Settings.ACTION_DATA_ROAMING_SETTINGS))
+ }
+ }).build().show()
+ } catch (e: WindowManager.BadTokenException) {
+ e.printStackTrace()
+ }
+ }
+ }
+ }, ConnectivityManager.CONNECTIVITY_ACTION
+ )
+ }
+
+ /**
+ * 初始化xml布局
+ */
+ abstract fun initLayoutView(): Int
+
+ /**
+ * 特定页面定制沉浸式状态栏
+ */
+ abstract fun setupTopBarLayout()
+
+ /**
+ * 初始化默认数据
+ */
+ abstract fun initData(savedInstanceState: Bundle?)
+
+ /**
+ * 初始化业务逻辑
+ */
+ abstract fun initEvent()
+
+ /**
+ * 取消协程
+ * */
+ override fun onDestroy() {
+ broadcastManager.destroy(ConnectivityManager.CONNECTIVITY_ACTION)
+ super.onDestroy()
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt b/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt
index c1447af..12c92e6 100644
--- a/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt
@@ -17,4 +17,12 @@
}
}
return builder.toString()
+}
+
+fun addAll(vararg args: String): ArrayList {
+ val result = ArrayList()
+ args.forEach {
+ result.add(it)
+ }
+ return result
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
index 8e8821c..fed3a92 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
@@ -1,7 +1,8 @@
+package com.casic.birmm.inspect.utils.retrofit
+
import com.casic.birmm.inspect.model.*
import com.casic.birmm.inspect.utils.AuthenticationHelper
import com.casic.birmm.inspect.utils.LocaleConstant
-import com.casic.birmm.inspect.utils.retrofit.RetrofitService
import com.pengxh.kt.lite.utils.RetrofitFactory.createRetrofit
import com.pengxh.kt.lite.utils.SaveKeyValues
import okhttp3.MediaType.Companion.toMediaTypeOrNull
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt
index 4701c40..f2a84e5 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt
@@ -5,7 +5,7 @@
import androidx.lifecycle.Observer
import androidx.recyclerview.widget.LinearLayoutManager
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.adapter.EventListAdapter
+import com.casic.birmm.inspect.adapter.InspectEventListAdapter
import com.casic.birmm.inspect.base.BaseViewModelActivity
import com.casic.birmm.inspect.extensions.filterString
import com.casic.birmm.inspect.extensions.show
@@ -37,11 +37,11 @@
if (it.data!!.list!!.isEmpty()) {
"抱歉,无法查询到相关记录".show(this)
} else {
- val eventAdapter = EventListAdapter(this, it.data!!.list!!)
+ val eventAdapter = InspectEventListAdapter(this, it.data!!.list!!)
eventRecyclerView!!.layoutManager = LinearLayoutManager(this)
eventRecyclerView.adapter = eventAdapter
eventAdapter.setOnItemClickListener(object :
- EventListAdapter.OnItemClickListener {
+ InspectEventListAdapter.OnItemClickListener {
override fun onClick(position: Int) {
val intent =
Intent(this@EventListActivity, EventDetailActivity::class.java)
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 2b3c004..64b09c2 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -8,8 +8,11 @@
+
+
+
@@ -21,7 +24,7 @@
-
+
@@ -39,7 +42,7 @@
-
+
diff --git a/app/build.gradle b/app/build.gradle
index 0d7f214..0e2f815 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -19,9 +19,11 @@
applicationId "com.casic.birmm.inspect"
minSdkVersion 23
targetSdkVersion 31
- versionCode 1
- versionName "2.0.0"
- ndk { abiFilters "armeabi", "armeabi-v7a", "arm64-v8" }
+ versionCode 2
+ versionName "1.0.1"
+ ndk {
+ abiFilters "armeabi", "armeabi-v7a", "arm64-v8"
+ }
}
buildTypes {
diff --git a/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt b/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt
index 1d9e30e..d30ea59 100644
--- a/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt
@@ -1,53 +1,44 @@
package com.casic.birmm.inspect.adapter
-import android.annotation.SuppressLint
import android.content.Context
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
+import com.bumptech.glide.Glide
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.model.TaskRecordModel
+import com.casic.birmm.inspect.model.EventListModel
import com.qmuiteam.qmui.widget.QMUIRadiusImageView
-/**
- * 根据id获取事件列表
- * */
class EventListAdapter(
- context: Context,
- dataRows: List
+ private val context: Context,
+ private val dataRows: MutableList
) : RecyclerView.Adapter() {
- private val dataRows: List? = dataRows
- private var layoutInflater: LayoutInflater? = null
-
- init {
- layoutInflater = LayoutInflater.from(context)
- }
+ private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
- val view: View =
- layoutInflater!!.inflate(R.layout.item_inspect_rv, parent, false)
- return ItemViewHolder(view)
+ return ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_inspect_rv, parent, false)
+ )
}
- @SuppressLint("SetTextI18n")
override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
//绑定数据
- val rowsBean = dataRows?.get(position)!!
+ val rowsBean = dataRows[position]
+ val imageArray = rowsBean.images?.split(",")
+ Glide.with(context).load(imageArray?.get(0)).into(holder.inspectImageView)
holder.inspectMsgView.text = rowsBean.name
holder.inspectTypeView.text = String.format("类型:${rowsBean.type}")
holder.inspectDateView.text = String.format("上报时间:${rowsBean.createTime}")
//绑定事件
- if (listener != null) {
- holder.itemView.setOnClickListener {
- listener!!.onClick(position)
- }
+ holder.itemView.setOnClickListener {
+ listener?.onClick(position)
}
}
- override fun getItemCount(): Int = dataRows!!.size
+ override fun getItemCount(): Int = dataRows.size
class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
var inspectImageView: QMUIRadiusImageView = view.findViewById(R.id.inspectImageView)
@@ -63,6 +54,6 @@
}
fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
- listener = onClickListener
+ this.listener = onClickListener
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/adapter/EventSearchListAdapter.kt b/app/src/main/java/com/casic/birmm/inspect/adapter/EventSearchListAdapter.kt
deleted file mode 100644
index 2318e01..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/adapter/EventSearchListAdapter.kt
+++ /dev/null
@@ -1,62 +0,0 @@
-package com.casic.birmm.inspect.adapter
-
-import android.content.Context
-import android.view.LayoutInflater
-import android.view.View
-import android.view.ViewGroup
-import android.widget.TextView
-import androidx.recyclerview.widget.RecyclerView
-import com.bumptech.glide.Glide
-import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.model.EventListModel
-import com.qmuiteam.qmui.widget.QMUIRadiusImageView
-
-/**
- * 事件查询
- * */
-class EventSearchListAdapter(
- private val context: Context,
- private val dataRows: MutableList
-) : RecyclerView.Adapter() {
-
- private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
-
- override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
- return ItemViewHolder(
- layoutInflater.inflate(R.layout.item_inspect_rv, parent, false)
- )
- }
-
- override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
- //绑定数据
- val rowsBean = dataRows[position]
- val imageArray = rowsBean.images?.split(",")
- Glide.with(context).load(imageArray?.get(0)).into(holder.inspectImageView)
- holder.inspectMsgView.text = rowsBean.name
- holder.inspectTypeView.text = String.format("类型:${rowsBean.type}")
- holder.inspectDateView.text = String.format("上报时间:${rowsBean.createTime}")
- //绑定事件
- holder.itemView.setOnClickListener {
- listener?.onClick(position)
- }
- }
-
- override fun getItemCount(): Int = dataRows.size
-
- class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
- var inspectImageView: QMUIRadiusImageView = view.findViewById(R.id.inspectImageView)
- var inspectMsgView: TextView = view.findViewById(R.id.inspectMsgView)
- var inspectTypeView: TextView = view.findViewById(R.id.inspectTypeView)
- var inspectDateView: TextView = view.findViewById(R.id.inspectDateView)
- }
-
- private var listener: OnItemClickListener? = null
-
- interface OnItemClickListener {
- fun onClick(position: Int)
- }
-
- fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
- listener = onClickListener
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/adapter/InspectEventListAdapter.kt b/app/src/main/java/com/casic/birmm/inspect/adapter/InspectEventListAdapter.kt
new file mode 100644
index 0000000..a6c76f6
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/adapter/InspectEventListAdapter.kt
@@ -0,0 +1,55 @@
+package com.casic.birmm.inspect.adapter
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
+import com.casic.birmm.inspect.R
+import com.casic.birmm.inspect.model.TaskRecordModel
+import com.qmuiteam.qmui.widget.QMUIRadiusImageView
+
+class InspectEventListAdapter(
+ context: Context, private val dataRows: List
+) : RecyclerView.Adapter() {
+
+ private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
+
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
+ return ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_inspect_rv, parent, false)
+ )
+ }
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ //绑定数据
+ val rowsBean = dataRows[position]
+ holder.inspectMsgView.text = rowsBean.name
+ holder.inspectTypeView.text = String.format("类型:${rowsBean.type}")
+ holder.inspectDateView.text = String.format("上报时间:${rowsBean.createTime}")
+ //绑定事件
+ holder.itemView.setOnClickListener {
+ listener?.onClick(position)
+ }
+ }
+
+ override fun getItemCount(): Int = dataRows.size
+
+ class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
+ var inspectImageView: QMUIRadiusImageView = view.findViewById(R.id.inspectImageView)
+ var inspectMsgView: TextView = view.findViewById(R.id.inspectMsgView)
+ var inspectTypeView: TextView = view.findViewById(R.id.inspectTypeView)
+ var inspectDateView: TextView = view.findViewById(R.id.inspectDateView)
+ }
+
+ private var listener: OnItemClickListener? = null
+
+ interface OnItemClickListener {
+ fun onClick(position: Int)
+ }
+
+ fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
+ listener = onClickListener
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseSingleModeActivity.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseSingleModeActivity.kt
deleted file mode 100644
index b01a137..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/base/BaseSingleModeActivity.kt
+++ /dev/null
@@ -1,39 +0,0 @@
-package com.casic.birmm.inspect.base
-
-import android.os.Bundle
-import androidx.appcompat.app.AppCompatActivity
-import com.qmuiteam.qmui.util.QMUIStatusBarHelper
-
-/**
- * 单机模式页面的基础类
- * */
-abstract class BaseSingleModeActivity : AppCompatActivity() {
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- setContentView(initLayoutView())
- QMUIStatusBarHelper.translucent(this) //沉浸式状态栏
- setupTopBarLayout()
- initData(savedInstanceState)
- initEvent()
- }
-
- /**
- * 初始化xml布局
- */
- abstract fun initLayoutView(): Int
-
- /**
- * 特定页面定制沉浸式状态栏
- */
- protected abstract fun setupTopBarLayout()
-
- /**
- * 初始化默认数据
- */
- abstract fun initData(savedInstanceState: Bundle?)
-
- /**
- * 初始化业务逻辑
- */
- abstract fun initEvent()
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/base/KotlinMapBaseActivity.kt b/app/src/main/java/com/casic/birmm/inspect/base/KotlinMapBaseActivity.kt
new file mode 100644
index 0000000..8b33d26
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/base/KotlinMapBaseActivity.kt
@@ -0,0 +1,83 @@
+package com.casic.birmm.inspect.base
+
+import android.content.BroadcastReceiver
+import android.content.Context
+import android.content.Intent
+import android.net.ConnectivityManager
+import android.os.Bundle
+import android.provider.Settings
+import android.view.WindowManager
+import androidx.appcompat.app.AppCompatActivity
+import com.pengxh.kt.lite.extensions.isNetworkConnected
+import com.pengxh.kt.lite.utils.BroadcastManager
+import com.pengxh.kt.lite.utils.PageNavigationManager
+import com.pengxh.kt.lite.widget.dialog.NoNetworkDialog
+
+/**
+ * 单机模式页面的基础类
+ * */
+abstract class KotlinMapBaseActivity : AppCompatActivity() {
+
+ private lateinit var broadcastManager: BroadcastManager
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ setContentView(initLayoutView())
+ setupTopBarLayout()
+ initData(savedInstanceState)
+ initEvent()
+ PageNavigationManager.addActivity(this)
+ broadcastManager = BroadcastManager.obtainInstance(this)
+ broadcastManager.addAction(
+ object : BroadcastReceiver() {
+ override fun onReceive(context: Context?, intent: Intent?) {
+ if (!context!!.isNetworkConnected()) {
+ /**
+ * 捕获用户在有网情况下登录进入APP,后来又处于断网状态会导致闪退的Bug
+ * */
+ try {
+ NoNetworkDialog.Builder()
+ .setContext(this@KotlinMapBaseActivity)
+ .setOnDialogButtonClickListener(object :
+ NoNetworkDialog.OnDialogButtonClickListener {
+ override fun onButtonClick() {
+ startActivity(Intent(Settings.ACTION_DATA_ROAMING_SETTINGS))
+ }
+ }).build().show()
+ } catch (e: WindowManager.BadTokenException) {
+ e.printStackTrace()
+ }
+ }
+ }
+ }, ConnectivityManager.CONNECTIVITY_ACTION
+ )
+ }
+
+ /**
+ * 初始化xml布局
+ */
+ abstract fun initLayoutView(): Int
+
+ /**
+ * 特定页面定制沉浸式状态栏
+ */
+ abstract fun setupTopBarLayout()
+
+ /**
+ * 初始化默认数据
+ */
+ abstract fun initData(savedInstanceState: Bundle?)
+
+ /**
+ * 初始化业务逻辑
+ */
+ abstract fun initEvent()
+
+ /**
+ * 取消协程
+ * */
+ override fun onDestroy() {
+ broadcastManager.destroy(ConnectivityManager.CONNECTIVITY_ACTION)
+ super.onDestroy()
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt b/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt
index c1447af..12c92e6 100644
--- a/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt
@@ -17,4 +17,12 @@
}
}
return builder.toString()
+}
+
+fun addAll(vararg args: String): ArrayList {
+ val result = ArrayList()
+ args.forEach {
+ result.add(it)
+ }
+ return result
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
index 8e8821c..fed3a92 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
@@ -1,7 +1,8 @@
+package com.casic.birmm.inspect.utils.retrofit
+
import com.casic.birmm.inspect.model.*
import com.casic.birmm.inspect.utils.AuthenticationHelper
import com.casic.birmm.inspect.utils.LocaleConstant
-import com.casic.birmm.inspect.utils.retrofit.RetrofitService
import com.pengxh.kt.lite.utils.RetrofitFactory.createRetrofit
import com.pengxh.kt.lite.utils.SaveKeyValues
import okhttp3.MediaType.Companion.toMediaTypeOrNull
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt
index 4701c40..f2a84e5 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt
@@ -5,7 +5,7 @@
import androidx.lifecycle.Observer
import androidx.recyclerview.widget.LinearLayoutManager
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.adapter.EventListAdapter
+import com.casic.birmm.inspect.adapter.InspectEventListAdapter
import com.casic.birmm.inspect.base.BaseViewModelActivity
import com.casic.birmm.inspect.extensions.filterString
import com.casic.birmm.inspect.extensions.show
@@ -37,11 +37,11 @@
if (it.data!!.list!!.isEmpty()) {
"抱歉,无法查询到相关记录".show(this)
} else {
- val eventAdapter = EventListAdapter(this, it.data!!.list!!)
+ val eventAdapter = InspectEventListAdapter(this, it.data!!.list!!)
eventRecyclerView!!.layoutManager = LinearLayoutManager(this)
eventRecyclerView.adapter = eventAdapter
eventAdapter.setOnItemClickListener(object :
- EventListAdapter.OnItemClickListener {
+ InspectEventListAdapter.OnItemClickListener {
override fun onClick(position: Int) {
val intent =
Intent(this@EventListActivity, EventDetailActivity::class.java)
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt
index 944be37..ab3a2ac 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt
@@ -7,7 +7,7 @@
import androidx.lifecycle.Observer
import androidx.recyclerview.widget.LinearLayoutManager
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.adapter.EventSearchListAdapter
+import com.casic.birmm.inspect.adapter.EventListAdapter
import com.casic.birmm.inspect.base.BaseViewModelActivity
import com.casic.birmm.inspect.extensions.filterString
import com.casic.birmm.inspect.extensions.show
@@ -40,7 +40,7 @@
private var isLoadMore = false
private var dataBeans: MutableList = ArrayList()
private lateinit var weakReferenceHandler: WeakReferenceHandler
- private lateinit var adapter: EventSearchListAdapter
+ private lateinit var adapter: EventListAdapter
override fun createViewModelByClass(): Class =
EventQueryViewModel::class.java
@@ -172,11 +172,11 @@
emptyView!!.show("抱歉,无法查询到相关记录", null)
} else {
emptyView!!.hide()
- adapter = EventSearchListAdapter(this, dataBeans)
+ adapter = EventListAdapter(this, dataBeans)
eventRecyclerView!!.layoutManager = LinearLayoutManager(this)
eventRecyclerView!!.adapter = adapter
adapter.setOnItemClickListener(object :
- EventSearchListAdapter.OnItemClickListener {
+ EventListAdapter.OnItemClickListener {
override fun onClick(position: Int) {
val intent = Intent(context, EventDetailActivity::class.java)
val rowsBean = dataBeans[position]
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 2b3c004..64b09c2 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -8,8 +8,11 @@
+
+
+
@@ -21,7 +24,7 @@
-
+
@@ -39,7 +42,7 @@
-
+
diff --git a/app/build.gradle b/app/build.gradle
index 0d7f214..0e2f815 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -19,9 +19,11 @@
applicationId "com.casic.birmm.inspect"
minSdkVersion 23
targetSdkVersion 31
- versionCode 1
- versionName "2.0.0"
- ndk { abiFilters "armeabi", "armeabi-v7a", "arm64-v8" }
+ versionCode 2
+ versionName "1.0.1"
+ ndk {
+ abiFilters "armeabi", "armeabi-v7a", "arm64-v8"
+ }
}
buildTypes {
diff --git a/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt b/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt
index 1d9e30e..d30ea59 100644
--- a/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt
@@ -1,53 +1,44 @@
package com.casic.birmm.inspect.adapter
-import android.annotation.SuppressLint
import android.content.Context
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
+import com.bumptech.glide.Glide
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.model.TaskRecordModel
+import com.casic.birmm.inspect.model.EventListModel
import com.qmuiteam.qmui.widget.QMUIRadiusImageView
-/**
- * 根据id获取事件列表
- * */
class EventListAdapter(
- context: Context,
- dataRows: List
+ private val context: Context,
+ private val dataRows: MutableList
) : RecyclerView.Adapter() {
- private val dataRows: List? = dataRows
- private var layoutInflater: LayoutInflater? = null
-
- init {
- layoutInflater = LayoutInflater.from(context)
- }
+ private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
- val view: View =
- layoutInflater!!.inflate(R.layout.item_inspect_rv, parent, false)
- return ItemViewHolder(view)
+ return ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_inspect_rv, parent, false)
+ )
}
- @SuppressLint("SetTextI18n")
override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
//绑定数据
- val rowsBean = dataRows?.get(position)!!
+ val rowsBean = dataRows[position]
+ val imageArray = rowsBean.images?.split(",")
+ Glide.with(context).load(imageArray?.get(0)).into(holder.inspectImageView)
holder.inspectMsgView.text = rowsBean.name
holder.inspectTypeView.text = String.format("类型:${rowsBean.type}")
holder.inspectDateView.text = String.format("上报时间:${rowsBean.createTime}")
//绑定事件
- if (listener != null) {
- holder.itemView.setOnClickListener {
- listener!!.onClick(position)
- }
+ holder.itemView.setOnClickListener {
+ listener?.onClick(position)
}
}
- override fun getItemCount(): Int = dataRows!!.size
+ override fun getItemCount(): Int = dataRows.size
class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
var inspectImageView: QMUIRadiusImageView = view.findViewById(R.id.inspectImageView)
@@ -63,6 +54,6 @@
}
fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
- listener = onClickListener
+ this.listener = onClickListener
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/adapter/EventSearchListAdapter.kt b/app/src/main/java/com/casic/birmm/inspect/adapter/EventSearchListAdapter.kt
deleted file mode 100644
index 2318e01..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/adapter/EventSearchListAdapter.kt
+++ /dev/null
@@ -1,62 +0,0 @@
-package com.casic.birmm.inspect.adapter
-
-import android.content.Context
-import android.view.LayoutInflater
-import android.view.View
-import android.view.ViewGroup
-import android.widget.TextView
-import androidx.recyclerview.widget.RecyclerView
-import com.bumptech.glide.Glide
-import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.model.EventListModel
-import com.qmuiteam.qmui.widget.QMUIRadiusImageView
-
-/**
- * 事件查询
- * */
-class EventSearchListAdapter(
- private val context: Context,
- private val dataRows: MutableList
-) : RecyclerView.Adapter() {
-
- private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
-
- override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
- return ItemViewHolder(
- layoutInflater.inflate(R.layout.item_inspect_rv, parent, false)
- )
- }
-
- override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
- //绑定数据
- val rowsBean = dataRows[position]
- val imageArray = rowsBean.images?.split(",")
- Glide.with(context).load(imageArray?.get(0)).into(holder.inspectImageView)
- holder.inspectMsgView.text = rowsBean.name
- holder.inspectTypeView.text = String.format("类型:${rowsBean.type}")
- holder.inspectDateView.text = String.format("上报时间:${rowsBean.createTime}")
- //绑定事件
- holder.itemView.setOnClickListener {
- listener?.onClick(position)
- }
- }
-
- override fun getItemCount(): Int = dataRows.size
-
- class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
- var inspectImageView: QMUIRadiusImageView = view.findViewById(R.id.inspectImageView)
- var inspectMsgView: TextView = view.findViewById(R.id.inspectMsgView)
- var inspectTypeView: TextView = view.findViewById(R.id.inspectTypeView)
- var inspectDateView: TextView = view.findViewById(R.id.inspectDateView)
- }
-
- private var listener: OnItemClickListener? = null
-
- interface OnItemClickListener {
- fun onClick(position: Int)
- }
-
- fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
- listener = onClickListener
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/adapter/InspectEventListAdapter.kt b/app/src/main/java/com/casic/birmm/inspect/adapter/InspectEventListAdapter.kt
new file mode 100644
index 0000000..a6c76f6
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/adapter/InspectEventListAdapter.kt
@@ -0,0 +1,55 @@
+package com.casic.birmm.inspect.adapter
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
+import com.casic.birmm.inspect.R
+import com.casic.birmm.inspect.model.TaskRecordModel
+import com.qmuiteam.qmui.widget.QMUIRadiusImageView
+
+class InspectEventListAdapter(
+ context: Context, private val dataRows: List
+) : RecyclerView.Adapter() {
+
+ private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
+
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
+ return ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_inspect_rv, parent, false)
+ )
+ }
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ //绑定数据
+ val rowsBean = dataRows[position]
+ holder.inspectMsgView.text = rowsBean.name
+ holder.inspectTypeView.text = String.format("类型:${rowsBean.type}")
+ holder.inspectDateView.text = String.format("上报时间:${rowsBean.createTime}")
+ //绑定事件
+ holder.itemView.setOnClickListener {
+ listener?.onClick(position)
+ }
+ }
+
+ override fun getItemCount(): Int = dataRows.size
+
+ class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
+ var inspectImageView: QMUIRadiusImageView = view.findViewById(R.id.inspectImageView)
+ var inspectMsgView: TextView = view.findViewById(R.id.inspectMsgView)
+ var inspectTypeView: TextView = view.findViewById(R.id.inspectTypeView)
+ var inspectDateView: TextView = view.findViewById(R.id.inspectDateView)
+ }
+
+ private var listener: OnItemClickListener? = null
+
+ interface OnItemClickListener {
+ fun onClick(position: Int)
+ }
+
+ fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
+ listener = onClickListener
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseSingleModeActivity.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseSingleModeActivity.kt
deleted file mode 100644
index b01a137..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/base/BaseSingleModeActivity.kt
+++ /dev/null
@@ -1,39 +0,0 @@
-package com.casic.birmm.inspect.base
-
-import android.os.Bundle
-import androidx.appcompat.app.AppCompatActivity
-import com.qmuiteam.qmui.util.QMUIStatusBarHelper
-
-/**
- * 单机模式页面的基础类
- * */
-abstract class BaseSingleModeActivity : AppCompatActivity() {
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- setContentView(initLayoutView())
- QMUIStatusBarHelper.translucent(this) //沉浸式状态栏
- setupTopBarLayout()
- initData(savedInstanceState)
- initEvent()
- }
-
- /**
- * 初始化xml布局
- */
- abstract fun initLayoutView(): Int
-
- /**
- * 特定页面定制沉浸式状态栏
- */
- protected abstract fun setupTopBarLayout()
-
- /**
- * 初始化默认数据
- */
- abstract fun initData(savedInstanceState: Bundle?)
-
- /**
- * 初始化业务逻辑
- */
- abstract fun initEvent()
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/base/KotlinMapBaseActivity.kt b/app/src/main/java/com/casic/birmm/inspect/base/KotlinMapBaseActivity.kt
new file mode 100644
index 0000000..8b33d26
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/base/KotlinMapBaseActivity.kt
@@ -0,0 +1,83 @@
+package com.casic.birmm.inspect.base
+
+import android.content.BroadcastReceiver
+import android.content.Context
+import android.content.Intent
+import android.net.ConnectivityManager
+import android.os.Bundle
+import android.provider.Settings
+import android.view.WindowManager
+import androidx.appcompat.app.AppCompatActivity
+import com.pengxh.kt.lite.extensions.isNetworkConnected
+import com.pengxh.kt.lite.utils.BroadcastManager
+import com.pengxh.kt.lite.utils.PageNavigationManager
+import com.pengxh.kt.lite.widget.dialog.NoNetworkDialog
+
+/**
+ * 单机模式页面的基础类
+ * */
+abstract class KotlinMapBaseActivity : AppCompatActivity() {
+
+ private lateinit var broadcastManager: BroadcastManager
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ setContentView(initLayoutView())
+ setupTopBarLayout()
+ initData(savedInstanceState)
+ initEvent()
+ PageNavigationManager.addActivity(this)
+ broadcastManager = BroadcastManager.obtainInstance(this)
+ broadcastManager.addAction(
+ object : BroadcastReceiver() {
+ override fun onReceive(context: Context?, intent: Intent?) {
+ if (!context!!.isNetworkConnected()) {
+ /**
+ * 捕获用户在有网情况下登录进入APP,后来又处于断网状态会导致闪退的Bug
+ * */
+ try {
+ NoNetworkDialog.Builder()
+ .setContext(this@KotlinMapBaseActivity)
+ .setOnDialogButtonClickListener(object :
+ NoNetworkDialog.OnDialogButtonClickListener {
+ override fun onButtonClick() {
+ startActivity(Intent(Settings.ACTION_DATA_ROAMING_SETTINGS))
+ }
+ }).build().show()
+ } catch (e: WindowManager.BadTokenException) {
+ e.printStackTrace()
+ }
+ }
+ }
+ }, ConnectivityManager.CONNECTIVITY_ACTION
+ )
+ }
+
+ /**
+ * 初始化xml布局
+ */
+ abstract fun initLayoutView(): Int
+
+ /**
+ * 特定页面定制沉浸式状态栏
+ */
+ abstract fun setupTopBarLayout()
+
+ /**
+ * 初始化默认数据
+ */
+ abstract fun initData(savedInstanceState: Bundle?)
+
+ /**
+ * 初始化业务逻辑
+ */
+ abstract fun initEvent()
+
+ /**
+ * 取消协程
+ * */
+ override fun onDestroy() {
+ broadcastManager.destroy(ConnectivityManager.CONNECTIVITY_ACTION)
+ super.onDestroy()
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt b/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt
index c1447af..12c92e6 100644
--- a/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt
@@ -17,4 +17,12 @@
}
}
return builder.toString()
+}
+
+fun addAll(vararg args: String): ArrayList {
+ val result = ArrayList()
+ args.forEach {
+ result.add(it)
+ }
+ return result
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
index 8e8821c..fed3a92 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
@@ -1,7 +1,8 @@
+package com.casic.birmm.inspect.utils.retrofit
+
import com.casic.birmm.inspect.model.*
import com.casic.birmm.inspect.utils.AuthenticationHelper
import com.casic.birmm.inspect.utils.LocaleConstant
-import com.casic.birmm.inspect.utils.retrofit.RetrofitService
import com.pengxh.kt.lite.utils.RetrofitFactory.createRetrofit
import com.pengxh.kt.lite.utils.SaveKeyValues
import okhttp3.MediaType.Companion.toMediaTypeOrNull
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt
index 4701c40..f2a84e5 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt
@@ -5,7 +5,7 @@
import androidx.lifecycle.Observer
import androidx.recyclerview.widget.LinearLayoutManager
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.adapter.EventListAdapter
+import com.casic.birmm.inspect.adapter.InspectEventListAdapter
import com.casic.birmm.inspect.base.BaseViewModelActivity
import com.casic.birmm.inspect.extensions.filterString
import com.casic.birmm.inspect.extensions.show
@@ -37,11 +37,11 @@
if (it.data!!.list!!.isEmpty()) {
"抱歉,无法查询到相关记录".show(this)
} else {
- val eventAdapter = EventListAdapter(this, it.data!!.list!!)
+ val eventAdapter = InspectEventListAdapter(this, it.data!!.list!!)
eventRecyclerView!!.layoutManager = LinearLayoutManager(this)
eventRecyclerView.adapter = eventAdapter
eventAdapter.setOnItemClickListener(object :
- EventListAdapter.OnItemClickListener {
+ InspectEventListAdapter.OnItemClickListener {
override fun onClick(position: Int) {
val intent =
Intent(this@EventListActivity, EventDetailActivity::class.java)
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt
index 944be37..ab3a2ac 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt
@@ -7,7 +7,7 @@
import androidx.lifecycle.Observer
import androidx.recyclerview.widget.LinearLayoutManager
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.adapter.EventSearchListAdapter
+import com.casic.birmm.inspect.adapter.EventListAdapter
import com.casic.birmm.inspect.base.BaseViewModelActivity
import com.casic.birmm.inspect.extensions.filterString
import com.casic.birmm.inspect.extensions.show
@@ -40,7 +40,7 @@
private var isLoadMore = false
private var dataBeans: MutableList = ArrayList()
private lateinit var weakReferenceHandler: WeakReferenceHandler
- private lateinit var adapter: EventSearchListAdapter
+ private lateinit var adapter: EventListAdapter
override fun createViewModelByClass(): Class =
EventQueryViewModel::class.java
@@ -172,11 +172,11 @@
emptyView!!.show("抱歉,无法查询到相关记录", null)
} else {
emptyView!!.hide()
- adapter = EventSearchListAdapter(this, dataBeans)
+ adapter = EventListAdapter(this, dataBeans)
eventRecyclerView!!.layoutManager = LinearLayoutManager(this)
eventRecyclerView!!.adapter = adapter
adapter.setOnItemClickListener(object :
- EventSearchListAdapter.OnItemClickListener {
+ EventListAdapter.OnItemClickListener {
override fun onClick(position: Int) {
val intent = Intent(context, EventDetailActivity::class.java)
val rowsBean = dataBeans[position]
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventDetailActivity.kt
index df2df2d..8510c31 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventDetailActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventDetailActivity.kt
@@ -9,6 +9,7 @@
import com.pengxh.kt.lite.base.KotlinBaseActivity
import com.pengxh.kt.lite.extensions.convertColor
import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.utils.Constant
import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import kotlinx.android.synthetic.main.activity_event_detail.*
import kotlinx.android.synthetic.main.include_base_title.*
@@ -28,26 +29,24 @@
}
override fun initData() {
- createTimeView.text = intent.getStringExtra("createTime")
- descriptionView.text = intent.getStringExtra("description")
- val data = intent.getIntExtra("data", -1)
- if (data == -1) {
- dataView.text = "0.0"
- } else {
- dataView.text = String.format("$data.0")
- }
- val images = intent.getStringExtra("images")
+ val conditions = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!!
+ createTimeView.text = conditions[0]
+ descriptionView.text = conditions[1]
+ val value = if (conditions[2].isBlank()) {
+ "0.0"
+ } else {
+ conditions[2] + ".0"
+ }
+ dataView.text = value
/**
* images: /storage/emulated/0/Android/data/com.casic.birmm.inspect/files/Pictures/IMG_CMP_167066503.jpeg,/storage/emulated/0/Android/data/com.casic.birmm.inspect/files/Pictures/IMG_CMP_49917670.jpeg,/storage/emulated/0/Android/data/com.casic.birmm.inspect/files/Pictures/IMG_CMP_1069640.jpeg
* */
val urls: ArrayList = ArrayList()
- if (images != null) {
- if (images.isNotEmpty()) {
- val imageArray = images.split(",")
- imageArray.forEach {
- urls.add(it)
- }
+ if (conditions[3].isNotEmpty()) {
+ val imageArray = conditions[3].split(",")
+ imageArray.forEach {
+ urls.add(it)
}
}
//绑定图片
@@ -55,7 +54,7 @@
imageAdapter.setImageList(urls)
imageGridView.adapter = imageAdapter
imageGridView.setOnItemClickListener { _, _, position, _ ->
- if (urls[position].isEmpty()) {
+ if (urls[position].isBlank()) {
"图片加载失败,无法查看大图".show(this@SingleEventDetailActivity)
} else {
navigatePageTo(position, urls)
@@ -64,6 +63,6 @@
}
override fun initEvent() {
- leftBackView.setOnClickListener { this.finish() }
+
}
}
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 2b3c004..64b09c2 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -8,8 +8,11 @@
+
+
+
@@ -21,7 +24,7 @@
-
+
@@ -39,7 +42,7 @@
-
+
diff --git a/app/build.gradle b/app/build.gradle
index 0d7f214..0e2f815 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -19,9 +19,11 @@
applicationId "com.casic.birmm.inspect"
minSdkVersion 23
targetSdkVersion 31
- versionCode 1
- versionName "2.0.0"
- ndk { abiFilters "armeabi", "armeabi-v7a", "arm64-v8" }
+ versionCode 2
+ versionName "1.0.1"
+ ndk {
+ abiFilters "armeabi", "armeabi-v7a", "arm64-v8"
+ }
}
buildTypes {
diff --git a/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt b/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt
index 1d9e30e..d30ea59 100644
--- a/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt
@@ -1,53 +1,44 @@
package com.casic.birmm.inspect.adapter
-import android.annotation.SuppressLint
import android.content.Context
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
+import com.bumptech.glide.Glide
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.model.TaskRecordModel
+import com.casic.birmm.inspect.model.EventListModel
import com.qmuiteam.qmui.widget.QMUIRadiusImageView
-/**
- * 根据id获取事件列表
- * */
class EventListAdapter(
- context: Context,
- dataRows: List
+ private val context: Context,
+ private val dataRows: MutableList
) : RecyclerView.Adapter() {
- private val dataRows: List? = dataRows
- private var layoutInflater: LayoutInflater? = null
-
- init {
- layoutInflater = LayoutInflater.from(context)
- }
+ private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
- val view: View =
- layoutInflater!!.inflate(R.layout.item_inspect_rv, parent, false)
- return ItemViewHolder(view)
+ return ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_inspect_rv, parent, false)
+ )
}
- @SuppressLint("SetTextI18n")
override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
//绑定数据
- val rowsBean = dataRows?.get(position)!!
+ val rowsBean = dataRows[position]
+ val imageArray = rowsBean.images?.split(",")
+ Glide.with(context).load(imageArray?.get(0)).into(holder.inspectImageView)
holder.inspectMsgView.text = rowsBean.name
holder.inspectTypeView.text = String.format("类型:${rowsBean.type}")
holder.inspectDateView.text = String.format("上报时间:${rowsBean.createTime}")
//绑定事件
- if (listener != null) {
- holder.itemView.setOnClickListener {
- listener!!.onClick(position)
- }
+ holder.itemView.setOnClickListener {
+ listener?.onClick(position)
}
}
- override fun getItemCount(): Int = dataRows!!.size
+ override fun getItemCount(): Int = dataRows.size
class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
var inspectImageView: QMUIRadiusImageView = view.findViewById(R.id.inspectImageView)
@@ -63,6 +54,6 @@
}
fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
- listener = onClickListener
+ this.listener = onClickListener
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/adapter/EventSearchListAdapter.kt b/app/src/main/java/com/casic/birmm/inspect/adapter/EventSearchListAdapter.kt
deleted file mode 100644
index 2318e01..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/adapter/EventSearchListAdapter.kt
+++ /dev/null
@@ -1,62 +0,0 @@
-package com.casic.birmm.inspect.adapter
-
-import android.content.Context
-import android.view.LayoutInflater
-import android.view.View
-import android.view.ViewGroup
-import android.widget.TextView
-import androidx.recyclerview.widget.RecyclerView
-import com.bumptech.glide.Glide
-import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.model.EventListModel
-import com.qmuiteam.qmui.widget.QMUIRadiusImageView
-
-/**
- * 事件查询
- * */
-class EventSearchListAdapter(
- private val context: Context,
- private val dataRows: MutableList
-) : RecyclerView.Adapter() {
-
- private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
-
- override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
- return ItemViewHolder(
- layoutInflater.inflate(R.layout.item_inspect_rv, parent, false)
- )
- }
-
- override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
- //绑定数据
- val rowsBean = dataRows[position]
- val imageArray = rowsBean.images?.split(",")
- Glide.with(context).load(imageArray?.get(0)).into(holder.inspectImageView)
- holder.inspectMsgView.text = rowsBean.name
- holder.inspectTypeView.text = String.format("类型:${rowsBean.type}")
- holder.inspectDateView.text = String.format("上报时间:${rowsBean.createTime}")
- //绑定事件
- holder.itemView.setOnClickListener {
- listener?.onClick(position)
- }
- }
-
- override fun getItemCount(): Int = dataRows.size
-
- class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
- var inspectImageView: QMUIRadiusImageView = view.findViewById(R.id.inspectImageView)
- var inspectMsgView: TextView = view.findViewById(R.id.inspectMsgView)
- var inspectTypeView: TextView = view.findViewById(R.id.inspectTypeView)
- var inspectDateView: TextView = view.findViewById(R.id.inspectDateView)
- }
-
- private var listener: OnItemClickListener? = null
-
- interface OnItemClickListener {
- fun onClick(position: Int)
- }
-
- fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
- listener = onClickListener
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/adapter/InspectEventListAdapter.kt b/app/src/main/java/com/casic/birmm/inspect/adapter/InspectEventListAdapter.kt
new file mode 100644
index 0000000..a6c76f6
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/adapter/InspectEventListAdapter.kt
@@ -0,0 +1,55 @@
+package com.casic.birmm.inspect.adapter
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
+import com.casic.birmm.inspect.R
+import com.casic.birmm.inspect.model.TaskRecordModel
+import com.qmuiteam.qmui.widget.QMUIRadiusImageView
+
+class InspectEventListAdapter(
+ context: Context, private val dataRows: List
+) : RecyclerView.Adapter() {
+
+ private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
+
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
+ return ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_inspect_rv, parent, false)
+ )
+ }
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ //绑定数据
+ val rowsBean = dataRows[position]
+ holder.inspectMsgView.text = rowsBean.name
+ holder.inspectTypeView.text = String.format("类型:${rowsBean.type}")
+ holder.inspectDateView.text = String.format("上报时间:${rowsBean.createTime}")
+ //绑定事件
+ holder.itemView.setOnClickListener {
+ listener?.onClick(position)
+ }
+ }
+
+ override fun getItemCount(): Int = dataRows.size
+
+ class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
+ var inspectImageView: QMUIRadiusImageView = view.findViewById(R.id.inspectImageView)
+ var inspectMsgView: TextView = view.findViewById(R.id.inspectMsgView)
+ var inspectTypeView: TextView = view.findViewById(R.id.inspectTypeView)
+ var inspectDateView: TextView = view.findViewById(R.id.inspectDateView)
+ }
+
+ private var listener: OnItemClickListener? = null
+
+ interface OnItemClickListener {
+ fun onClick(position: Int)
+ }
+
+ fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
+ listener = onClickListener
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseSingleModeActivity.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseSingleModeActivity.kt
deleted file mode 100644
index b01a137..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/base/BaseSingleModeActivity.kt
+++ /dev/null
@@ -1,39 +0,0 @@
-package com.casic.birmm.inspect.base
-
-import android.os.Bundle
-import androidx.appcompat.app.AppCompatActivity
-import com.qmuiteam.qmui.util.QMUIStatusBarHelper
-
-/**
- * 单机模式页面的基础类
- * */
-abstract class BaseSingleModeActivity : AppCompatActivity() {
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- setContentView(initLayoutView())
- QMUIStatusBarHelper.translucent(this) //沉浸式状态栏
- setupTopBarLayout()
- initData(savedInstanceState)
- initEvent()
- }
-
- /**
- * 初始化xml布局
- */
- abstract fun initLayoutView(): Int
-
- /**
- * 特定页面定制沉浸式状态栏
- */
- protected abstract fun setupTopBarLayout()
-
- /**
- * 初始化默认数据
- */
- abstract fun initData(savedInstanceState: Bundle?)
-
- /**
- * 初始化业务逻辑
- */
- abstract fun initEvent()
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/base/KotlinMapBaseActivity.kt b/app/src/main/java/com/casic/birmm/inspect/base/KotlinMapBaseActivity.kt
new file mode 100644
index 0000000..8b33d26
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/base/KotlinMapBaseActivity.kt
@@ -0,0 +1,83 @@
+package com.casic.birmm.inspect.base
+
+import android.content.BroadcastReceiver
+import android.content.Context
+import android.content.Intent
+import android.net.ConnectivityManager
+import android.os.Bundle
+import android.provider.Settings
+import android.view.WindowManager
+import androidx.appcompat.app.AppCompatActivity
+import com.pengxh.kt.lite.extensions.isNetworkConnected
+import com.pengxh.kt.lite.utils.BroadcastManager
+import com.pengxh.kt.lite.utils.PageNavigationManager
+import com.pengxh.kt.lite.widget.dialog.NoNetworkDialog
+
+/**
+ * 单机模式页面的基础类
+ * */
+abstract class KotlinMapBaseActivity : AppCompatActivity() {
+
+ private lateinit var broadcastManager: BroadcastManager
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ setContentView(initLayoutView())
+ setupTopBarLayout()
+ initData(savedInstanceState)
+ initEvent()
+ PageNavigationManager.addActivity(this)
+ broadcastManager = BroadcastManager.obtainInstance(this)
+ broadcastManager.addAction(
+ object : BroadcastReceiver() {
+ override fun onReceive(context: Context?, intent: Intent?) {
+ if (!context!!.isNetworkConnected()) {
+ /**
+ * 捕获用户在有网情况下登录进入APP,后来又处于断网状态会导致闪退的Bug
+ * */
+ try {
+ NoNetworkDialog.Builder()
+ .setContext(this@KotlinMapBaseActivity)
+ .setOnDialogButtonClickListener(object :
+ NoNetworkDialog.OnDialogButtonClickListener {
+ override fun onButtonClick() {
+ startActivity(Intent(Settings.ACTION_DATA_ROAMING_SETTINGS))
+ }
+ }).build().show()
+ } catch (e: WindowManager.BadTokenException) {
+ e.printStackTrace()
+ }
+ }
+ }
+ }, ConnectivityManager.CONNECTIVITY_ACTION
+ )
+ }
+
+ /**
+ * 初始化xml布局
+ */
+ abstract fun initLayoutView(): Int
+
+ /**
+ * 特定页面定制沉浸式状态栏
+ */
+ abstract fun setupTopBarLayout()
+
+ /**
+ * 初始化默认数据
+ */
+ abstract fun initData(savedInstanceState: Bundle?)
+
+ /**
+ * 初始化业务逻辑
+ */
+ abstract fun initEvent()
+
+ /**
+ * 取消协程
+ * */
+ override fun onDestroy() {
+ broadcastManager.destroy(ConnectivityManager.CONNECTIVITY_ACTION)
+ super.onDestroy()
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt b/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt
index c1447af..12c92e6 100644
--- a/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt
@@ -17,4 +17,12 @@
}
}
return builder.toString()
+}
+
+fun addAll(vararg args: String): ArrayList {
+ val result = ArrayList()
+ args.forEach {
+ result.add(it)
+ }
+ return result
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
index 8e8821c..fed3a92 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
@@ -1,7 +1,8 @@
+package com.casic.birmm.inspect.utils.retrofit
+
import com.casic.birmm.inspect.model.*
import com.casic.birmm.inspect.utils.AuthenticationHelper
import com.casic.birmm.inspect.utils.LocaleConstant
-import com.casic.birmm.inspect.utils.retrofit.RetrofitService
import com.pengxh.kt.lite.utils.RetrofitFactory.createRetrofit
import com.pengxh.kt.lite.utils.SaveKeyValues
import okhttp3.MediaType.Companion.toMediaTypeOrNull
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt
index 4701c40..f2a84e5 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt
@@ -5,7 +5,7 @@
import androidx.lifecycle.Observer
import androidx.recyclerview.widget.LinearLayoutManager
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.adapter.EventListAdapter
+import com.casic.birmm.inspect.adapter.InspectEventListAdapter
import com.casic.birmm.inspect.base.BaseViewModelActivity
import com.casic.birmm.inspect.extensions.filterString
import com.casic.birmm.inspect.extensions.show
@@ -37,11 +37,11 @@
if (it.data!!.list!!.isEmpty()) {
"抱歉,无法查询到相关记录".show(this)
} else {
- val eventAdapter = EventListAdapter(this, it.data!!.list!!)
+ val eventAdapter = InspectEventListAdapter(this, it.data!!.list!!)
eventRecyclerView!!.layoutManager = LinearLayoutManager(this)
eventRecyclerView.adapter = eventAdapter
eventAdapter.setOnItemClickListener(object :
- EventListAdapter.OnItemClickListener {
+ InspectEventListAdapter.OnItemClickListener {
override fun onClick(position: Int) {
val intent =
Intent(this@EventListActivity, EventDetailActivity::class.java)
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt
index 944be37..ab3a2ac 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt
@@ -7,7 +7,7 @@
import androidx.lifecycle.Observer
import androidx.recyclerview.widget.LinearLayoutManager
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.adapter.EventSearchListAdapter
+import com.casic.birmm.inspect.adapter.EventListAdapter
import com.casic.birmm.inspect.base.BaseViewModelActivity
import com.casic.birmm.inspect.extensions.filterString
import com.casic.birmm.inspect.extensions.show
@@ -40,7 +40,7 @@
private var isLoadMore = false
private var dataBeans: MutableList = ArrayList()
private lateinit var weakReferenceHandler: WeakReferenceHandler
- private lateinit var adapter: EventSearchListAdapter
+ private lateinit var adapter: EventListAdapter
override fun createViewModelByClass(): Class =
EventQueryViewModel::class.java
@@ -172,11 +172,11 @@
emptyView!!.show("抱歉,无法查询到相关记录", null)
} else {
emptyView!!.hide()
- adapter = EventSearchListAdapter(this, dataBeans)
+ adapter = EventListAdapter(this, dataBeans)
eventRecyclerView!!.layoutManager = LinearLayoutManager(this)
eventRecyclerView!!.adapter = adapter
adapter.setOnItemClickListener(object :
- EventSearchListAdapter.OnItemClickListener {
+ EventListAdapter.OnItemClickListener {
override fun onClick(position: Int) {
val intent = Intent(context, EventDetailActivity::class.java)
val rowsBean = dataBeans[position]
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventDetailActivity.kt
index df2df2d..8510c31 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventDetailActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventDetailActivity.kt
@@ -9,6 +9,7 @@
import com.pengxh.kt.lite.base.KotlinBaseActivity
import com.pengxh.kt.lite.extensions.convertColor
import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.utils.Constant
import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import kotlinx.android.synthetic.main.activity_event_detail.*
import kotlinx.android.synthetic.main.include_base_title.*
@@ -28,26 +29,24 @@
}
override fun initData() {
- createTimeView.text = intent.getStringExtra("createTime")
- descriptionView.text = intent.getStringExtra("description")
- val data = intent.getIntExtra("data", -1)
- if (data == -1) {
- dataView.text = "0.0"
- } else {
- dataView.text = String.format("$data.0")
- }
- val images = intent.getStringExtra("images")
+ val conditions = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!!
+ createTimeView.text = conditions[0]
+ descriptionView.text = conditions[1]
+ val value = if (conditions[2].isBlank()) {
+ "0.0"
+ } else {
+ conditions[2] + ".0"
+ }
+ dataView.text = value
/**
* images: /storage/emulated/0/Android/data/com.casic.birmm.inspect/files/Pictures/IMG_CMP_167066503.jpeg,/storage/emulated/0/Android/data/com.casic.birmm.inspect/files/Pictures/IMG_CMP_49917670.jpeg,/storage/emulated/0/Android/data/com.casic.birmm.inspect/files/Pictures/IMG_CMP_1069640.jpeg
* */
val urls: ArrayList = ArrayList()
- if (images != null) {
- if (images.isNotEmpty()) {
- val imageArray = images.split(",")
- imageArray.forEach {
- urls.add(it)
- }
+ if (conditions[3].isNotEmpty()) {
+ val imageArray = conditions[3].split(",")
+ imageArray.forEach {
+ urls.add(it)
}
}
//绑定图片
@@ -55,7 +54,7 @@
imageAdapter.setImageList(urls)
imageGridView.adapter = imageAdapter
imageGridView.setOnItemClickListener { _, _, position, _ ->
- if (urls[position].isEmpty()) {
+ if (urls[position].isBlank()) {
"图片加载失败,无法查看大图".show(this@SingleEventDetailActivity)
} else {
navigatePageTo(position, urls)
@@ -64,6 +63,6 @@
}
override fun initEvent() {
- leftBackView.setOnClickListener { this.finish() }
+
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventListActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventListActivity.kt
index e67f0e6..31f0f48 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventListActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventListActivity.kt
@@ -1,18 +1,21 @@
package com.casic.birmm.inspect.view.single
-import android.content.Intent
-import androidx.recyclerview.widget.LinearLayoutManager
+import android.view.View
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.adapter.EventListAdapter
+import com.casic.birmm.inspect.adapter.InspectEventListAdapter
+import com.casic.birmm.inspect.extensions.addAll
import com.casic.birmm.inspect.extensions.filterString
import com.casic.birmm.inspect.extensions.show
import com.casic.birmm.inspect.utils.DataBaseManager
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.base.KotlinBaseActivity
import com.pengxh.kt.lite.extensions.convertColor
+import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.utils.Constant
import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import kotlinx.android.synthetic.main.activity_event_list.*
import kotlinx.android.synthetic.main.include_base_title.*
+import kotlinx.android.synthetic.main.include_base_title.view.*
class SingleEventListActivity : KotlinBaseActivity() {
@@ -22,41 +25,37 @@
ImmersionBar.with(this).statusBarDarkFont(false).init()
ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ leftBackView.leftBackView.visibility = View.VISIBLE
+ leftBackView.setOnClickListener { this.finish() }
titleView.text = "事件清单"
}
override fun initData() {
- val id = intent.getStringExtra("id")!!
+ val id = intent.getStringExtra(Constant.INTENT_PARAM)!!
val dataRows = DataBaseManager.instance.queryTaskByInspection(id)
if (dataRows.isEmpty()) {
"抱歉,无法查询到相关记录".show(this)
} else {
- val eventAdapter = EventListAdapter(this, dataRows)
- eventRecyclerView!!.layoutManager = LinearLayoutManager(this)
+ val eventAdapter = InspectEventListAdapter(this, dataRows)
eventRecyclerView.adapter = eventAdapter
eventAdapter.setOnItemClickListener(object :
- EventListAdapter.OnItemClickListener {
+ InspectEventListAdapter.OnItemClickListener {
override fun onClick(position: Int) {
- val intent =
- Intent(
- this@SingleEventListActivity,
- SingleEventDetailActivity::class.java
+ val rowsBean = dataRows[position]
+ navigatePageTo(
+ addAll(
+ rowsBean.createTime.toString(),
+ rowsBean.description!!.filterString(),
+ rowsBean.data.toString(),
+ rowsBean.images.toString()
)
- val listBean = dataRows[position]
- intent.putExtra("createTime", listBean.createTime)
- intent.putExtra(
- "description",
- listBean.description!!.filterString()
)
- intent.putExtra("data", listBean.data)
- intent.putExtra("images", listBean.images)
- startActivity(intent)
}
})
}
}
override fun initEvent() {
- leftBackView.setOnClickListener { this.finish() }
+
}
}
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 2b3c004..64b09c2 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -8,8 +8,11 @@
+
+
+
@@ -21,7 +24,7 @@
-
+
@@ -39,7 +42,7 @@
-
+
diff --git a/app/build.gradle b/app/build.gradle
index 0d7f214..0e2f815 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -19,9 +19,11 @@
applicationId "com.casic.birmm.inspect"
minSdkVersion 23
targetSdkVersion 31
- versionCode 1
- versionName "2.0.0"
- ndk { abiFilters "armeabi", "armeabi-v7a", "arm64-v8" }
+ versionCode 2
+ versionName "1.0.1"
+ ndk {
+ abiFilters "armeabi", "armeabi-v7a", "arm64-v8"
+ }
}
buildTypes {
diff --git a/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt b/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt
index 1d9e30e..d30ea59 100644
--- a/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt
@@ -1,53 +1,44 @@
package com.casic.birmm.inspect.adapter
-import android.annotation.SuppressLint
import android.content.Context
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
+import com.bumptech.glide.Glide
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.model.TaskRecordModel
+import com.casic.birmm.inspect.model.EventListModel
import com.qmuiteam.qmui.widget.QMUIRadiusImageView
-/**
- * 根据id获取事件列表
- * */
class EventListAdapter(
- context: Context,
- dataRows: List
+ private val context: Context,
+ private val dataRows: MutableList
) : RecyclerView.Adapter() {
- private val dataRows: List? = dataRows
- private var layoutInflater: LayoutInflater? = null
-
- init {
- layoutInflater = LayoutInflater.from(context)
- }
+ private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
- val view: View =
- layoutInflater!!.inflate(R.layout.item_inspect_rv, parent, false)
- return ItemViewHolder(view)
+ return ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_inspect_rv, parent, false)
+ )
}
- @SuppressLint("SetTextI18n")
override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
//绑定数据
- val rowsBean = dataRows?.get(position)!!
+ val rowsBean = dataRows[position]
+ val imageArray = rowsBean.images?.split(",")
+ Glide.with(context).load(imageArray?.get(0)).into(holder.inspectImageView)
holder.inspectMsgView.text = rowsBean.name
holder.inspectTypeView.text = String.format("类型:${rowsBean.type}")
holder.inspectDateView.text = String.format("上报时间:${rowsBean.createTime}")
//绑定事件
- if (listener != null) {
- holder.itemView.setOnClickListener {
- listener!!.onClick(position)
- }
+ holder.itemView.setOnClickListener {
+ listener?.onClick(position)
}
}
- override fun getItemCount(): Int = dataRows!!.size
+ override fun getItemCount(): Int = dataRows.size
class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
var inspectImageView: QMUIRadiusImageView = view.findViewById(R.id.inspectImageView)
@@ -63,6 +54,6 @@
}
fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
- listener = onClickListener
+ this.listener = onClickListener
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/adapter/EventSearchListAdapter.kt b/app/src/main/java/com/casic/birmm/inspect/adapter/EventSearchListAdapter.kt
deleted file mode 100644
index 2318e01..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/adapter/EventSearchListAdapter.kt
+++ /dev/null
@@ -1,62 +0,0 @@
-package com.casic.birmm.inspect.adapter
-
-import android.content.Context
-import android.view.LayoutInflater
-import android.view.View
-import android.view.ViewGroup
-import android.widget.TextView
-import androidx.recyclerview.widget.RecyclerView
-import com.bumptech.glide.Glide
-import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.model.EventListModel
-import com.qmuiteam.qmui.widget.QMUIRadiusImageView
-
-/**
- * 事件查询
- * */
-class EventSearchListAdapter(
- private val context: Context,
- private val dataRows: MutableList
-) : RecyclerView.Adapter() {
-
- private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
-
- override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
- return ItemViewHolder(
- layoutInflater.inflate(R.layout.item_inspect_rv, parent, false)
- )
- }
-
- override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
- //绑定数据
- val rowsBean = dataRows[position]
- val imageArray = rowsBean.images?.split(",")
- Glide.with(context).load(imageArray?.get(0)).into(holder.inspectImageView)
- holder.inspectMsgView.text = rowsBean.name
- holder.inspectTypeView.text = String.format("类型:${rowsBean.type}")
- holder.inspectDateView.text = String.format("上报时间:${rowsBean.createTime}")
- //绑定事件
- holder.itemView.setOnClickListener {
- listener?.onClick(position)
- }
- }
-
- override fun getItemCount(): Int = dataRows.size
-
- class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
- var inspectImageView: QMUIRadiusImageView = view.findViewById(R.id.inspectImageView)
- var inspectMsgView: TextView = view.findViewById(R.id.inspectMsgView)
- var inspectTypeView: TextView = view.findViewById(R.id.inspectTypeView)
- var inspectDateView: TextView = view.findViewById(R.id.inspectDateView)
- }
-
- private var listener: OnItemClickListener? = null
-
- interface OnItemClickListener {
- fun onClick(position: Int)
- }
-
- fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
- listener = onClickListener
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/adapter/InspectEventListAdapter.kt b/app/src/main/java/com/casic/birmm/inspect/adapter/InspectEventListAdapter.kt
new file mode 100644
index 0000000..a6c76f6
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/adapter/InspectEventListAdapter.kt
@@ -0,0 +1,55 @@
+package com.casic.birmm.inspect.adapter
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
+import com.casic.birmm.inspect.R
+import com.casic.birmm.inspect.model.TaskRecordModel
+import com.qmuiteam.qmui.widget.QMUIRadiusImageView
+
+class InspectEventListAdapter(
+ context: Context, private val dataRows: List
+) : RecyclerView.Adapter() {
+
+ private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
+
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
+ return ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_inspect_rv, parent, false)
+ )
+ }
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ //绑定数据
+ val rowsBean = dataRows[position]
+ holder.inspectMsgView.text = rowsBean.name
+ holder.inspectTypeView.text = String.format("类型:${rowsBean.type}")
+ holder.inspectDateView.text = String.format("上报时间:${rowsBean.createTime}")
+ //绑定事件
+ holder.itemView.setOnClickListener {
+ listener?.onClick(position)
+ }
+ }
+
+ override fun getItemCount(): Int = dataRows.size
+
+ class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
+ var inspectImageView: QMUIRadiusImageView = view.findViewById(R.id.inspectImageView)
+ var inspectMsgView: TextView = view.findViewById(R.id.inspectMsgView)
+ var inspectTypeView: TextView = view.findViewById(R.id.inspectTypeView)
+ var inspectDateView: TextView = view.findViewById(R.id.inspectDateView)
+ }
+
+ private var listener: OnItemClickListener? = null
+
+ interface OnItemClickListener {
+ fun onClick(position: Int)
+ }
+
+ fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
+ listener = onClickListener
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseSingleModeActivity.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseSingleModeActivity.kt
deleted file mode 100644
index b01a137..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/base/BaseSingleModeActivity.kt
+++ /dev/null
@@ -1,39 +0,0 @@
-package com.casic.birmm.inspect.base
-
-import android.os.Bundle
-import androidx.appcompat.app.AppCompatActivity
-import com.qmuiteam.qmui.util.QMUIStatusBarHelper
-
-/**
- * 单机模式页面的基础类
- * */
-abstract class BaseSingleModeActivity : AppCompatActivity() {
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- setContentView(initLayoutView())
- QMUIStatusBarHelper.translucent(this) //沉浸式状态栏
- setupTopBarLayout()
- initData(savedInstanceState)
- initEvent()
- }
-
- /**
- * 初始化xml布局
- */
- abstract fun initLayoutView(): Int
-
- /**
- * 特定页面定制沉浸式状态栏
- */
- protected abstract fun setupTopBarLayout()
-
- /**
- * 初始化默认数据
- */
- abstract fun initData(savedInstanceState: Bundle?)
-
- /**
- * 初始化业务逻辑
- */
- abstract fun initEvent()
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/base/KotlinMapBaseActivity.kt b/app/src/main/java/com/casic/birmm/inspect/base/KotlinMapBaseActivity.kt
new file mode 100644
index 0000000..8b33d26
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/base/KotlinMapBaseActivity.kt
@@ -0,0 +1,83 @@
+package com.casic.birmm.inspect.base
+
+import android.content.BroadcastReceiver
+import android.content.Context
+import android.content.Intent
+import android.net.ConnectivityManager
+import android.os.Bundle
+import android.provider.Settings
+import android.view.WindowManager
+import androidx.appcompat.app.AppCompatActivity
+import com.pengxh.kt.lite.extensions.isNetworkConnected
+import com.pengxh.kt.lite.utils.BroadcastManager
+import com.pengxh.kt.lite.utils.PageNavigationManager
+import com.pengxh.kt.lite.widget.dialog.NoNetworkDialog
+
+/**
+ * 单机模式页面的基础类
+ * */
+abstract class KotlinMapBaseActivity : AppCompatActivity() {
+
+ private lateinit var broadcastManager: BroadcastManager
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ setContentView(initLayoutView())
+ setupTopBarLayout()
+ initData(savedInstanceState)
+ initEvent()
+ PageNavigationManager.addActivity(this)
+ broadcastManager = BroadcastManager.obtainInstance(this)
+ broadcastManager.addAction(
+ object : BroadcastReceiver() {
+ override fun onReceive(context: Context?, intent: Intent?) {
+ if (!context!!.isNetworkConnected()) {
+ /**
+ * 捕获用户在有网情况下登录进入APP,后来又处于断网状态会导致闪退的Bug
+ * */
+ try {
+ NoNetworkDialog.Builder()
+ .setContext(this@KotlinMapBaseActivity)
+ .setOnDialogButtonClickListener(object :
+ NoNetworkDialog.OnDialogButtonClickListener {
+ override fun onButtonClick() {
+ startActivity(Intent(Settings.ACTION_DATA_ROAMING_SETTINGS))
+ }
+ }).build().show()
+ } catch (e: WindowManager.BadTokenException) {
+ e.printStackTrace()
+ }
+ }
+ }
+ }, ConnectivityManager.CONNECTIVITY_ACTION
+ )
+ }
+
+ /**
+ * 初始化xml布局
+ */
+ abstract fun initLayoutView(): Int
+
+ /**
+ * 特定页面定制沉浸式状态栏
+ */
+ abstract fun setupTopBarLayout()
+
+ /**
+ * 初始化默认数据
+ */
+ abstract fun initData(savedInstanceState: Bundle?)
+
+ /**
+ * 初始化业务逻辑
+ */
+ abstract fun initEvent()
+
+ /**
+ * 取消协程
+ * */
+ override fun onDestroy() {
+ broadcastManager.destroy(ConnectivityManager.CONNECTIVITY_ACTION)
+ super.onDestroy()
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt b/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt
index c1447af..12c92e6 100644
--- a/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt
@@ -17,4 +17,12 @@
}
}
return builder.toString()
+}
+
+fun addAll(vararg args: String): ArrayList {
+ val result = ArrayList()
+ args.forEach {
+ result.add(it)
+ }
+ return result
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
index 8e8821c..fed3a92 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
@@ -1,7 +1,8 @@
+package com.casic.birmm.inspect.utils.retrofit
+
import com.casic.birmm.inspect.model.*
import com.casic.birmm.inspect.utils.AuthenticationHelper
import com.casic.birmm.inspect.utils.LocaleConstant
-import com.casic.birmm.inspect.utils.retrofit.RetrofitService
import com.pengxh.kt.lite.utils.RetrofitFactory.createRetrofit
import com.pengxh.kt.lite.utils.SaveKeyValues
import okhttp3.MediaType.Companion.toMediaTypeOrNull
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt
index 4701c40..f2a84e5 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt
@@ -5,7 +5,7 @@
import androidx.lifecycle.Observer
import androidx.recyclerview.widget.LinearLayoutManager
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.adapter.EventListAdapter
+import com.casic.birmm.inspect.adapter.InspectEventListAdapter
import com.casic.birmm.inspect.base.BaseViewModelActivity
import com.casic.birmm.inspect.extensions.filterString
import com.casic.birmm.inspect.extensions.show
@@ -37,11 +37,11 @@
if (it.data!!.list!!.isEmpty()) {
"抱歉,无法查询到相关记录".show(this)
} else {
- val eventAdapter = EventListAdapter(this, it.data!!.list!!)
+ val eventAdapter = InspectEventListAdapter(this, it.data!!.list!!)
eventRecyclerView!!.layoutManager = LinearLayoutManager(this)
eventRecyclerView.adapter = eventAdapter
eventAdapter.setOnItemClickListener(object :
- EventListAdapter.OnItemClickListener {
+ InspectEventListAdapter.OnItemClickListener {
override fun onClick(position: Int) {
val intent =
Intent(this@EventListActivity, EventDetailActivity::class.java)
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt
index 944be37..ab3a2ac 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt
@@ -7,7 +7,7 @@
import androidx.lifecycle.Observer
import androidx.recyclerview.widget.LinearLayoutManager
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.adapter.EventSearchListAdapter
+import com.casic.birmm.inspect.adapter.EventListAdapter
import com.casic.birmm.inspect.base.BaseViewModelActivity
import com.casic.birmm.inspect.extensions.filterString
import com.casic.birmm.inspect.extensions.show
@@ -40,7 +40,7 @@
private var isLoadMore = false
private var dataBeans: MutableList = ArrayList()
private lateinit var weakReferenceHandler: WeakReferenceHandler
- private lateinit var adapter: EventSearchListAdapter
+ private lateinit var adapter: EventListAdapter
override fun createViewModelByClass(): Class =
EventQueryViewModel::class.java
@@ -172,11 +172,11 @@
emptyView!!.show("抱歉,无法查询到相关记录", null)
} else {
emptyView!!.hide()
- adapter = EventSearchListAdapter(this, dataBeans)
+ adapter = EventListAdapter(this, dataBeans)
eventRecyclerView!!.layoutManager = LinearLayoutManager(this)
eventRecyclerView!!.adapter = adapter
adapter.setOnItemClickListener(object :
- EventSearchListAdapter.OnItemClickListener {
+ EventListAdapter.OnItemClickListener {
override fun onClick(position: Int) {
val intent = Intent(context, EventDetailActivity::class.java)
val rowsBean = dataBeans[position]
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventDetailActivity.kt
index df2df2d..8510c31 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventDetailActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventDetailActivity.kt
@@ -9,6 +9,7 @@
import com.pengxh.kt.lite.base.KotlinBaseActivity
import com.pengxh.kt.lite.extensions.convertColor
import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.utils.Constant
import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import kotlinx.android.synthetic.main.activity_event_detail.*
import kotlinx.android.synthetic.main.include_base_title.*
@@ -28,26 +29,24 @@
}
override fun initData() {
- createTimeView.text = intent.getStringExtra("createTime")
- descriptionView.text = intent.getStringExtra("description")
- val data = intent.getIntExtra("data", -1)
- if (data == -1) {
- dataView.text = "0.0"
- } else {
- dataView.text = String.format("$data.0")
- }
- val images = intent.getStringExtra("images")
+ val conditions = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!!
+ createTimeView.text = conditions[0]
+ descriptionView.text = conditions[1]
+ val value = if (conditions[2].isBlank()) {
+ "0.0"
+ } else {
+ conditions[2] + ".0"
+ }
+ dataView.text = value
/**
* images: /storage/emulated/0/Android/data/com.casic.birmm.inspect/files/Pictures/IMG_CMP_167066503.jpeg,/storage/emulated/0/Android/data/com.casic.birmm.inspect/files/Pictures/IMG_CMP_49917670.jpeg,/storage/emulated/0/Android/data/com.casic.birmm.inspect/files/Pictures/IMG_CMP_1069640.jpeg
* */
val urls: ArrayList = ArrayList()
- if (images != null) {
- if (images.isNotEmpty()) {
- val imageArray = images.split(",")
- imageArray.forEach {
- urls.add(it)
- }
+ if (conditions[3].isNotEmpty()) {
+ val imageArray = conditions[3].split(",")
+ imageArray.forEach {
+ urls.add(it)
}
}
//绑定图片
@@ -55,7 +54,7 @@
imageAdapter.setImageList(urls)
imageGridView.adapter = imageAdapter
imageGridView.setOnItemClickListener { _, _, position, _ ->
- if (urls[position].isEmpty()) {
+ if (urls[position].isBlank()) {
"图片加载失败,无法查看大图".show(this@SingleEventDetailActivity)
} else {
navigatePageTo(position, urls)
@@ -64,6 +63,6 @@
}
override fun initEvent() {
- leftBackView.setOnClickListener { this.finish() }
+
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventListActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventListActivity.kt
index e67f0e6..31f0f48 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventListActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventListActivity.kt
@@ -1,18 +1,21 @@
package com.casic.birmm.inspect.view.single
-import android.content.Intent
-import androidx.recyclerview.widget.LinearLayoutManager
+import android.view.View
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.adapter.EventListAdapter
+import com.casic.birmm.inspect.adapter.InspectEventListAdapter
+import com.casic.birmm.inspect.extensions.addAll
import com.casic.birmm.inspect.extensions.filterString
import com.casic.birmm.inspect.extensions.show
import com.casic.birmm.inspect.utils.DataBaseManager
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.base.KotlinBaseActivity
import com.pengxh.kt.lite.extensions.convertColor
+import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.utils.Constant
import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import kotlinx.android.synthetic.main.activity_event_list.*
import kotlinx.android.synthetic.main.include_base_title.*
+import kotlinx.android.synthetic.main.include_base_title.view.*
class SingleEventListActivity : KotlinBaseActivity() {
@@ -22,41 +25,37 @@
ImmersionBar.with(this).statusBarDarkFont(false).init()
ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ leftBackView.leftBackView.visibility = View.VISIBLE
+ leftBackView.setOnClickListener { this.finish() }
titleView.text = "事件清单"
}
override fun initData() {
- val id = intent.getStringExtra("id")!!
+ val id = intent.getStringExtra(Constant.INTENT_PARAM)!!
val dataRows = DataBaseManager.instance.queryTaskByInspection(id)
if (dataRows.isEmpty()) {
"抱歉,无法查询到相关记录".show(this)
} else {
- val eventAdapter = EventListAdapter(this, dataRows)
- eventRecyclerView!!.layoutManager = LinearLayoutManager(this)
+ val eventAdapter = InspectEventListAdapter(this, dataRows)
eventRecyclerView.adapter = eventAdapter
eventAdapter.setOnItemClickListener(object :
- EventListAdapter.OnItemClickListener {
+ InspectEventListAdapter.OnItemClickListener {
override fun onClick(position: Int) {
- val intent =
- Intent(
- this@SingleEventListActivity,
- SingleEventDetailActivity::class.java
+ val rowsBean = dataRows[position]
+ navigatePageTo(
+ addAll(
+ rowsBean.createTime.toString(),
+ rowsBean.description!!.filterString(),
+ rowsBean.data.toString(),
+ rowsBean.images.toString()
)
- val listBean = dataRows[position]
- intent.putExtra("createTime", listBean.createTime)
- intent.putExtra(
- "description",
- listBean.description!!.filterString()
)
- intent.putExtra("data", listBean.data)
- intent.putExtra("images", listBean.images)
- startActivity(intent)
}
})
}
}
override fun initEvent() {
- leftBackView.setOnClickListener { this.finish() }
+
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt
index 4579987..3e3ed70 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt
@@ -1,9 +1,9 @@
package com.casic.birmm.inspect.view.single
-import android.content.Intent
import android.graphics.Color
import android.os.Bundle
import android.util.Log
+import android.view.View
import com.amap.api.maps.AMap
import com.amap.api.maps.AMapOptions
import com.amap.api.maps.CameraUpdateFactory
@@ -12,25 +12,23 @@
import com.amap.api.maps.model.MarkerOptions
import com.amap.api.maps.model.PolylineOptions
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.base.BaseSingleModeActivity
+import com.casic.birmm.inspect.base.KotlinMapBaseActivity
import com.casic.birmm.inspect.model.NewRouteModel
import com.casic.birmm.inspect.utils.DataBaseManager
import com.google.gson.Gson
import com.google.gson.reflect.TypeToken
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.extensions.convertColor
+import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.utils.Constant
import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
-import com.pengxh.kt.lite.utils.PageNavigationManager
import kotlinx.android.synthetic.main.activity_inspect_route.*
import kotlinx.android.synthetic.main.include_base_title.*
-class SingleInspectRouteActivity : BaseSingleModeActivity() {
+class SingleInspectRouteActivity : KotlinMapBaseActivity() {
- companion object {
- private const val Tag = "SingleModeInspectRoute"
- }
-
+ private val kTag = "SingleInspectRouteActivity"
private lateinit var aMap: AMap
private lateinit var id: String
@@ -40,11 +38,12 @@
ImmersionBar.with(this).statusBarDarkFont(false).init()
ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ leftBackView.visibility = View.VISIBLE
+ leftBackView.setOnClickListener { finish() }
titleView.text = "巡检记录(单机模式)"
}
override fun initData(savedInstanceState: Bundle?) {
- PageNavigationManager.addActivity(this)
mapView.onCreate(savedInstanceState)
aMap = mapView.map
val uiSettings = aMap.uiSettings
@@ -52,7 +51,7 @@
uiSettings.isRotateGesturesEnabled = false//不许地图随手势旋转角度
//根据id查询详情
- id = intent.getStringExtra("id")!!
+ id = intent.getStringExtra(Constant.INTENT_PARAM)!!
val detailData = DataBaseManager.instance.queryInspectDetailById(id)
inspectNameView.text = detailData.name
userNameView.text = detailData.user
@@ -61,10 +60,7 @@
//移动到巡检起始经纬度
aMap.moveCamera(
CameraUpdateFactory.changeLatLng(
- LatLng(
- detailData.startLat,
- detailData.startLng
- )
+ LatLng(detailData.startLat, detailData.startLng)
)
)
aMap.moveCamera(CameraUpdateFactory.zoomTo(16.toFloat()))
@@ -78,11 +74,11 @@
return
}
//[{"lat":39.917433,"lng":116.269525},{"lat":39.917433,"lng":116.269525}]
- Log.d(Tag, "路线: $routeJson")
+ Log.d(kTag, "路线: $routeJson")
val type = object : TypeToken>() {}.type
val routeModels = Gson().fromJson>(routeJson, type)
//画线
- val latLngPoints: ArrayList = ArrayList()
+ val latLngPoints = ArrayList()
routeModels.forEach { routeModel ->
latLngPoints.add(LatLng(routeModel.lat, routeModel.lng))
}
@@ -92,11 +88,8 @@
}
override fun initEvent() {
- leftBackView.setOnClickListener { this.finish() }
eventButton.setOnClickListener {
- val intent = Intent(this, SingleEventListActivity::class.java)
- intent.putExtra("id", id)
- startActivity(intent)
+ navigatePageTo(id)
}
}
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 2b3c004..64b09c2 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -8,8 +8,11 @@
+
+
+
@@ -21,7 +24,7 @@
-
+
@@ -39,7 +42,7 @@
-
+
diff --git a/app/build.gradle b/app/build.gradle
index 0d7f214..0e2f815 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -19,9 +19,11 @@
applicationId "com.casic.birmm.inspect"
minSdkVersion 23
targetSdkVersion 31
- versionCode 1
- versionName "2.0.0"
- ndk { abiFilters "armeabi", "armeabi-v7a", "arm64-v8" }
+ versionCode 2
+ versionName "1.0.1"
+ ndk {
+ abiFilters "armeabi", "armeabi-v7a", "arm64-v8"
+ }
}
buildTypes {
diff --git a/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt b/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt
index 1d9e30e..d30ea59 100644
--- a/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt
@@ -1,53 +1,44 @@
package com.casic.birmm.inspect.adapter
-import android.annotation.SuppressLint
import android.content.Context
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
+import com.bumptech.glide.Glide
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.model.TaskRecordModel
+import com.casic.birmm.inspect.model.EventListModel
import com.qmuiteam.qmui.widget.QMUIRadiusImageView
-/**
- * 根据id获取事件列表
- * */
class EventListAdapter(
- context: Context,
- dataRows: List
+ private val context: Context,
+ private val dataRows: MutableList
) : RecyclerView.Adapter() {
- private val dataRows: List? = dataRows
- private var layoutInflater: LayoutInflater? = null
-
- init {
- layoutInflater = LayoutInflater.from(context)
- }
+ private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
- val view: View =
- layoutInflater!!.inflate(R.layout.item_inspect_rv, parent, false)
- return ItemViewHolder(view)
+ return ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_inspect_rv, parent, false)
+ )
}
- @SuppressLint("SetTextI18n")
override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
//绑定数据
- val rowsBean = dataRows?.get(position)!!
+ val rowsBean = dataRows[position]
+ val imageArray = rowsBean.images?.split(",")
+ Glide.with(context).load(imageArray?.get(0)).into(holder.inspectImageView)
holder.inspectMsgView.text = rowsBean.name
holder.inspectTypeView.text = String.format("类型:${rowsBean.type}")
holder.inspectDateView.text = String.format("上报时间:${rowsBean.createTime}")
//绑定事件
- if (listener != null) {
- holder.itemView.setOnClickListener {
- listener!!.onClick(position)
- }
+ holder.itemView.setOnClickListener {
+ listener?.onClick(position)
}
}
- override fun getItemCount(): Int = dataRows!!.size
+ override fun getItemCount(): Int = dataRows.size
class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
var inspectImageView: QMUIRadiusImageView = view.findViewById(R.id.inspectImageView)
@@ -63,6 +54,6 @@
}
fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
- listener = onClickListener
+ this.listener = onClickListener
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/adapter/EventSearchListAdapter.kt b/app/src/main/java/com/casic/birmm/inspect/adapter/EventSearchListAdapter.kt
deleted file mode 100644
index 2318e01..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/adapter/EventSearchListAdapter.kt
+++ /dev/null
@@ -1,62 +0,0 @@
-package com.casic.birmm.inspect.adapter
-
-import android.content.Context
-import android.view.LayoutInflater
-import android.view.View
-import android.view.ViewGroup
-import android.widget.TextView
-import androidx.recyclerview.widget.RecyclerView
-import com.bumptech.glide.Glide
-import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.model.EventListModel
-import com.qmuiteam.qmui.widget.QMUIRadiusImageView
-
-/**
- * 事件查询
- * */
-class EventSearchListAdapter(
- private val context: Context,
- private val dataRows: MutableList
-) : RecyclerView.Adapter() {
-
- private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
-
- override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
- return ItemViewHolder(
- layoutInflater.inflate(R.layout.item_inspect_rv, parent, false)
- )
- }
-
- override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
- //绑定数据
- val rowsBean = dataRows[position]
- val imageArray = rowsBean.images?.split(",")
- Glide.with(context).load(imageArray?.get(0)).into(holder.inspectImageView)
- holder.inspectMsgView.text = rowsBean.name
- holder.inspectTypeView.text = String.format("类型:${rowsBean.type}")
- holder.inspectDateView.text = String.format("上报时间:${rowsBean.createTime}")
- //绑定事件
- holder.itemView.setOnClickListener {
- listener?.onClick(position)
- }
- }
-
- override fun getItemCount(): Int = dataRows.size
-
- class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
- var inspectImageView: QMUIRadiusImageView = view.findViewById(R.id.inspectImageView)
- var inspectMsgView: TextView = view.findViewById(R.id.inspectMsgView)
- var inspectTypeView: TextView = view.findViewById(R.id.inspectTypeView)
- var inspectDateView: TextView = view.findViewById(R.id.inspectDateView)
- }
-
- private var listener: OnItemClickListener? = null
-
- interface OnItemClickListener {
- fun onClick(position: Int)
- }
-
- fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
- listener = onClickListener
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/adapter/InspectEventListAdapter.kt b/app/src/main/java/com/casic/birmm/inspect/adapter/InspectEventListAdapter.kt
new file mode 100644
index 0000000..a6c76f6
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/adapter/InspectEventListAdapter.kt
@@ -0,0 +1,55 @@
+package com.casic.birmm.inspect.adapter
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
+import com.casic.birmm.inspect.R
+import com.casic.birmm.inspect.model.TaskRecordModel
+import com.qmuiteam.qmui.widget.QMUIRadiusImageView
+
+class InspectEventListAdapter(
+ context: Context, private val dataRows: List
+) : RecyclerView.Adapter() {
+
+ private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
+
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
+ return ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_inspect_rv, parent, false)
+ )
+ }
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ //绑定数据
+ val rowsBean = dataRows[position]
+ holder.inspectMsgView.text = rowsBean.name
+ holder.inspectTypeView.text = String.format("类型:${rowsBean.type}")
+ holder.inspectDateView.text = String.format("上报时间:${rowsBean.createTime}")
+ //绑定事件
+ holder.itemView.setOnClickListener {
+ listener?.onClick(position)
+ }
+ }
+
+ override fun getItemCount(): Int = dataRows.size
+
+ class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
+ var inspectImageView: QMUIRadiusImageView = view.findViewById(R.id.inspectImageView)
+ var inspectMsgView: TextView = view.findViewById(R.id.inspectMsgView)
+ var inspectTypeView: TextView = view.findViewById(R.id.inspectTypeView)
+ var inspectDateView: TextView = view.findViewById(R.id.inspectDateView)
+ }
+
+ private var listener: OnItemClickListener? = null
+
+ interface OnItemClickListener {
+ fun onClick(position: Int)
+ }
+
+ fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
+ listener = onClickListener
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseSingleModeActivity.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseSingleModeActivity.kt
deleted file mode 100644
index b01a137..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/base/BaseSingleModeActivity.kt
+++ /dev/null
@@ -1,39 +0,0 @@
-package com.casic.birmm.inspect.base
-
-import android.os.Bundle
-import androidx.appcompat.app.AppCompatActivity
-import com.qmuiteam.qmui.util.QMUIStatusBarHelper
-
-/**
- * 单机模式页面的基础类
- * */
-abstract class BaseSingleModeActivity : AppCompatActivity() {
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- setContentView(initLayoutView())
- QMUIStatusBarHelper.translucent(this) //沉浸式状态栏
- setupTopBarLayout()
- initData(savedInstanceState)
- initEvent()
- }
-
- /**
- * 初始化xml布局
- */
- abstract fun initLayoutView(): Int
-
- /**
- * 特定页面定制沉浸式状态栏
- */
- protected abstract fun setupTopBarLayout()
-
- /**
- * 初始化默认数据
- */
- abstract fun initData(savedInstanceState: Bundle?)
-
- /**
- * 初始化业务逻辑
- */
- abstract fun initEvent()
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/base/KotlinMapBaseActivity.kt b/app/src/main/java/com/casic/birmm/inspect/base/KotlinMapBaseActivity.kt
new file mode 100644
index 0000000..8b33d26
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/base/KotlinMapBaseActivity.kt
@@ -0,0 +1,83 @@
+package com.casic.birmm.inspect.base
+
+import android.content.BroadcastReceiver
+import android.content.Context
+import android.content.Intent
+import android.net.ConnectivityManager
+import android.os.Bundle
+import android.provider.Settings
+import android.view.WindowManager
+import androidx.appcompat.app.AppCompatActivity
+import com.pengxh.kt.lite.extensions.isNetworkConnected
+import com.pengxh.kt.lite.utils.BroadcastManager
+import com.pengxh.kt.lite.utils.PageNavigationManager
+import com.pengxh.kt.lite.widget.dialog.NoNetworkDialog
+
+/**
+ * 单机模式页面的基础类
+ * */
+abstract class KotlinMapBaseActivity : AppCompatActivity() {
+
+ private lateinit var broadcastManager: BroadcastManager
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ setContentView(initLayoutView())
+ setupTopBarLayout()
+ initData(savedInstanceState)
+ initEvent()
+ PageNavigationManager.addActivity(this)
+ broadcastManager = BroadcastManager.obtainInstance(this)
+ broadcastManager.addAction(
+ object : BroadcastReceiver() {
+ override fun onReceive(context: Context?, intent: Intent?) {
+ if (!context!!.isNetworkConnected()) {
+ /**
+ * 捕获用户在有网情况下登录进入APP,后来又处于断网状态会导致闪退的Bug
+ * */
+ try {
+ NoNetworkDialog.Builder()
+ .setContext(this@KotlinMapBaseActivity)
+ .setOnDialogButtonClickListener(object :
+ NoNetworkDialog.OnDialogButtonClickListener {
+ override fun onButtonClick() {
+ startActivity(Intent(Settings.ACTION_DATA_ROAMING_SETTINGS))
+ }
+ }).build().show()
+ } catch (e: WindowManager.BadTokenException) {
+ e.printStackTrace()
+ }
+ }
+ }
+ }, ConnectivityManager.CONNECTIVITY_ACTION
+ )
+ }
+
+ /**
+ * 初始化xml布局
+ */
+ abstract fun initLayoutView(): Int
+
+ /**
+ * 特定页面定制沉浸式状态栏
+ */
+ abstract fun setupTopBarLayout()
+
+ /**
+ * 初始化默认数据
+ */
+ abstract fun initData(savedInstanceState: Bundle?)
+
+ /**
+ * 初始化业务逻辑
+ */
+ abstract fun initEvent()
+
+ /**
+ * 取消协程
+ * */
+ override fun onDestroy() {
+ broadcastManager.destroy(ConnectivityManager.CONNECTIVITY_ACTION)
+ super.onDestroy()
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt b/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt
index c1447af..12c92e6 100644
--- a/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt
@@ -17,4 +17,12 @@
}
}
return builder.toString()
+}
+
+fun addAll(vararg args: String): ArrayList {
+ val result = ArrayList()
+ args.forEach {
+ result.add(it)
+ }
+ return result
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
index 8e8821c..fed3a92 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
@@ -1,7 +1,8 @@
+package com.casic.birmm.inspect.utils.retrofit
+
import com.casic.birmm.inspect.model.*
import com.casic.birmm.inspect.utils.AuthenticationHelper
import com.casic.birmm.inspect.utils.LocaleConstant
-import com.casic.birmm.inspect.utils.retrofit.RetrofitService
import com.pengxh.kt.lite.utils.RetrofitFactory.createRetrofit
import com.pengxh.kt.lite.utils.SaveKeyValues
import okhttp3.MediaType.Companion.toMediaTypeOrNull
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt
index 4701c40..f2a84e5 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt
@@ -5,7 +5,7 @@
import androidx.lifecycle.Observer
import androidx.recyclerview.widget.LinearLayoutManager
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.adapter.EventListAdapter
+import com.casic.birmm.inspect.adapter.InspectEventListAdapter
import com.casic.birmm.inspect.base.BaseViewModelActivity
import com.casic.birmm.inspect.extensions.filterString
import com.casic.birmm.inspect.extensions.show
@@ -37,11 +37,11 @@
if (it.data!!.list!!.isEmpty()) {
"抱歉,无法查询到相关记录".show(this)
} else {
- val eventAdapter = EventListAdapter(this, it.data!!.list!!)
+ val eventAdapter = InspectEventListAdapter(this, it.data!!.list!!)
eventRecyclerView!!.layoutManager = LinearLayoutManager(this)
eventRecyclerView.adapter = eventAdapter
eventAdapter.setOnItemClickListener(object :
- EventListAdapter.OnItemClickListener {
+ InspectEventListAdapter.OnItemClickListener {
override fun onClick(position: Int) {
val intent =
Intent(this@EventListActivity, EventDetailActivity::class.java)
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt
index 944be37..ab3a2ac 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt
@@ -7,7 +7,7 @@
import androidx.lifecycle.Observer
import androidx.recyclerview.widget.LinearLayoutManager
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.adapter.EventSearchListAdapter
+import com.casic.birmm.inspect.adapter.EventListAdapter
import com.casic.birmm.inspect.base.BaseViewModelActivity
import com.casic.birmm.inspect.extensions.filterString
import com.casic.birmm.inspect.extensions.show
@@ -40,7 +40,7 @@
private var isLoadMore = false
private var dataBeans: MutableList = ArrayList()
private lateinit var weakReferenceHandler: WeakReferenceHandler
- private lateinit var adapter: EventSearchListAdapter
+ private lateinit var adapter: EventListAdapter
override fun createViewModelByClass(): Class =
EventQueryViewModel::class.java
@@ -172,11 +172,11 @@
emptyView!!.show("抱歉,无法查询到相关记录", null)
} else {
emptyView!!.hide()
- adapter = EventSearchListAdapter(this, dataBeans)
+ adapter = EventListAdapter(this, dataBeans)
eventRecyclerView!!.layoutManager = LinearLayoutManager(this)
eventRecyclerView!!.adapter = adapter
adapter.setOnItemClickListener(object :
- EventSearchListAdapter.OnItemClickListener {
+ EventListAdapter.OnItemClickListener {
override fun onClick(position: Int) {
val intent = Intent(context, EventDetailActivity::class.java)
val rowsBean = dataBeans[position]
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventDetailActivity.kt
index df2df2d..8510c31 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventDetailActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventDetailActivity.kt
@@ -9,6 +9,7 @@
import com.pengxh.kt.lite.base.KotlinBaseActivity
import com.pengxh.kt.lite.extensions.convertColor
import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.utils.Constant
import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import kotlinx.android.synthetic.main.activity_event_detail.*
import kotlinx.android.synthetic.main.include_base_title.*
@@ -28,26 +29,24 @@
}
override fun initData() {
- createTimeView.text = intent.getStringExtra("createTime")
- descriptionView.text = intent.getStringExtra("description")
- val data = intent.getIntExtra("data", -1)
- if (data == -1) {
- dataView.text = "0.0"
- } else {
- dataView.text = String.format("$data.0")
- }
- val images = intent.getStringExtra("images")
+ val conditions = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!!
+ createTimeView.text = conditions[0]
+ descriptionView.text = conditions[1]
+ val value = if (conditions[2].isBlank()) {
+ "0.0"
+ } else {
+ conditions[2] + ".0"
+ }
+ dataView.text = value
/**
* images: /storage/emulated/0/Android/data/com.casic.birmm.inspect/files/Pictures/IMG_CMP_167066503.jpeg,/storage/emulated/0/Android/data/com.casic.birmm.inspect/files/Pictures/IMG_CMP_49917670.jpeg,/storage/emulated/0/Android/data/com.casic.birmm.inspect/files/Pictures/IMG_CMP_1069640.jpeg
* */
val urls: ArrayList = ArrayList()
- if (images != null) {
- if (images.isNotEmpty()) {
- val imageArray = images.split(",")
- imageArray.forEach {
- urls.add(it)
- }
+ if (conditions[3].isNotEmpty()) {
+ val imageArray = conditions[3].split(",")
+ imageArray.forEach {
+ urls.add(it)
}
}
//绑定图片
@@ -55,7 +54,7 @@
imageAdapter.setImageList(urls)
imageGridView.adapter = imageAdapter
imageGridView.setOnItemClickListener { _, _, position, _ ->
- if (urls[position].isEmpty()) {
+ if (urls[position].isBlank()) {
"图片加载失败,无法查看大图".show(this@SingleEventDetailActivity)
} else {
navigatePageTo(position, urls)
@@ -64,6 +63,6 @@
}
override fun initEvent() {
- leftBackView.setOnClickListener { this.finish() }
+
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventListActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventListActivity.kt
index e67f0e6..31f0f48 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventListActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventListActivity.kt
@@ -1,18 +1,21 @@
package com.casic.birmm.inspect.view.single
-import android.content.Intent
-import androidx.recyclerview.widget.LinearLayoutManager
+import android.view.View
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.adapter.EventListAdapter
+import com.casic.birmm.inspect.adapter.InspectEventListAdapter
+import com.casic.birmm.inspect.extensions.addAll
import com.casic.birmm.inspect.extensions.filterString
import com.casic.birmm.inspect.extensions.show
import com.casic.birmm.inspect.utils.DataBaseManager
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.base.KotlinBaseActivity
import com.pengxh.kt.lite.extensions.convertColor
+import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.utils.Constant
import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import kotlinx.android.synthetic.main.activity_event_list.*
import kotlinx.android.synthetic.main.include_base_title.*
+import kotlinx.android.synthetic.main.include_base_title.view.*
class SingleEventListActivity : KotlinBaseActivity() {
@@ -22,41 +25,37 @@
ImmersionBar.with(this).statusBarDarkFont(false).init()
ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ leftBackView.leftBackView.visibility = View.VISIBLE
+ leftBackView.setOnClickListener { this.finish() }
titleView.text = "事件清单"
}
override fun initData() {
- val id = intent.getStringExtra("id")!!
+ val id = intent.getStringExtra(Constant.INTENT_PARAM)!!
val dataRows = DataBaseManager.instance.queryTaskByInspection(id)
if (dataRows.isEmpty()) {
"抱歉,无法查询到相关记录".show(this)
} else {
- val eventAdapter = EventListAdapter(this, dataRows)
- eventRecyclerView!!.layoutManager = LinearLayoutManager(this)
+ val eventAdapter = InspectEventListAdapter(this, dataRows)
eventRecyclerView.adapter = eventAdapter
eventAdapter.setOnItemClickListener(object :
- EventListAdapter.OnItemClickListener {
+ InspectEventListAdapter.OnItemClickListener {
override fun onClick(position: Int) {
- val intent =
- Intent(
- this@SingleEventListActivity,
- SingleEventDetailActivity::class.java
+ val rowsBean = dataRows[position]
+ navigatePageTo(
+ addAll(
+ rowsBean.createTime.toString(),
+ rowsBean.description!!.filterString(),
+ rowsBean.data.toString(),
+ rowsBean.images.toString()
)
- val listBean = dataRows[position]
- intent.putExtra("createTime", listBean.createTime)
- intent.putExtra(
- "description",
- listBean.description!!.filterString()
)
- intent.putExtra("data", listBean.data)
- intent.putExtra("images", listBean.images)
- startActivity(intent)
}
})
}
}
override fun initEvent() {
- leftBackView.setOnClickListener { this.finish() }
+
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt
index 4579987..3e3ed70 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt
@@ -1,9 +1,9 @@
package com.casic.birmm.inspect.view.single
-import android.content.Intent
import android.graphics.Color
import android.os.Bundle
import android.util.Log
+import android.view.View
import com.amap.api.maps.AMap
import com.amap.api.maps.AMapOptions
import com.amap.api.maps.CameraUpdateFactory
@@ -12,25 +12,23 @@
import com.amap.api.maps.model.MarkerOptions
import com.amap.api.maps.model.PolylineOptions
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.base.BaseSingleModeActivity
+import com.casic.birmm.inspect.base.KotlinMapBaseActivity
import com.casic.birmm.inspect.model.NewRouteModel
import com.casic.birmm.inspect.utils.DataBaseManager
import com.google.gson.Gson
import com.google.gson.reflect.TypeToken
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.extensions.convertColor
+import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.utils.Constant
import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
-import com.pengxh.kt.lite.utils.PageNavigationManager
import kotlinx.android.synthetic.main.activity_inspect_route.*
import kotlinx.android.synthetic.main.include_base_title.*
-class SingleInspectRouteActivity : BaseSingleModeActivity() {
+class SingleInspectRouteActivity : KotlinMapBaseActivity() {
- companion object {
- private const val Tag = "SingleModeInspectRoute"
- }
-
+ private val kTag = "SingleInspectRouteActivity"
private lateinit var aMap: AMap
private lateinit var id: String
@@ -40,11 +38,12 @@
ImmersionBar.with(this).statusBarDarkFont(false).init()
ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ leftBackView.visibility = View.VISIBLE
+ leftBackView.setOnClickListener { finish() }
titleView.text = "巡检记录(单机模式)"
}
override fun initData(savedInstanceState: Bundle?) {
- PageNavigationManager.addActivity(this)
mapView.onCreate(savedInstanceState)
aMap = mapView.map
val uiSettings = aMap.uiSettings
@@ -52,7 +51,7 @@
uiSettings.isRotateGesturesEnabled = false//不许地图随手势旋转角度
//根据id查询详情
- id = intent.getStringExtra("id")!!
+ id = intent.getStringExtra(Constant.INTENT_PARAM)!!
val detailData = DataBaseManager.instance.queryInspectDetailById(id)
inspectNameView.text = detailData.name
userNameView.text = detailData.user
@@ -61,10 +60,7 @@
//移动到巡检起始经纬度
aMap.moveCamera(
CameraUpdateFactory.changeLatLng(
- LatLng(
- detailData.startLat,
- detailData.startLng
- )
+ LatLng(detailData.startLat, detailData.startLng)
)
)
aMap.moveCamera(CameraUpdateFactory.zoomTo(16.toFloat()))
@@ -78,11 +74,11 @@
return
}
//[{"lat":39.917433,"lng":116.269525},{"lat":39.917433,"lng":116.269525}]
- Log.d(Tag, "路线: $routeJson")
+ Log.d(kTag, "路线: $routeJson")
val type = object : TypeToken>() {}.type
val routeModels = Gson().fromJson>(routeJson, type)
//画线
- val latLngPoints: ArrayList = ArrayList()
+ val latLngPoints = ArrayList()
routeModels.forEach { routeModel ->
latLngPoints.add(LatLng(routeModel.lat, routeModel.lng))
}
@@ -92,11 +88,8 @@
}
override fun initEvent() {
- leftBackView.setOnClickListener { this.finish() }
eventButton.setOnClickListener {
- val intent = Intent(this, SingleEventListActivity::class.java)
- intent.putExtra("id", id)
- startActivity(intent)
+ navigatePageTo(id)
}
}
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt
index 0960ebc..725c22b 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt
@@ -11,7 +11,7 @@
import com.casic.birmm.inspect.adapter.ViewPagerAdapter
import com.casic.birmm.inspect.extensions.show
import com.casic.birmm.inspect.view.single.fragment.InspectPageFragment
-import com.casic.birmm.inspect.view.single.fragment.LogPageFragment
+import com.casic.birmm.inspect.view.single.fragment.LogRecordPageFragment
import com.casic.birmm.inspect.view.single.fragment.SettingsPageFragment
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.base.KotlinBaseActivity
@@ -29,7 +29,7 @@
init {
fragmentPages.add(InspectPageFragment())
- fragmentPages.add(LogPageFragment())
+ fragmentPages.add(LogRecordPageFragment())
fragmentPages.add(SettingsPageFragment())
}
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 2b3c004..64b09c2 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -8,8 +8,11 @@
+
+
+
@@ -21,7 +24,7 @@
-
+
@@ -39,7 +42,7 @@
-
+
diff --git a/app/build.gradle b/app/build.gradle
index 0d7f214..0e2f815 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -19,9 +19,11 @@
applicationId "com.casic.birmm.inspect"
minSdkVersion 23
targetSdkVersion 31
- versionCode 1
- versionName "2.0.0"
- ndk { abiFilters "armeabi", "armeabi-v7a", "arm64-v8" }
+ versionCode 2
+ versionName "1.0.1"
+ ndk {
+ abiFilters "armeabi", "armeabi-v7a", "arm64-v8"
+ }
}
buildTypes {
diff --git a/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt b/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt
index 1d9e30e..d30ea59 100644
--- a/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt
@@ -1,53 +1,44 @@
package com.casic.birmm.inspect.adapter
-import android.annotation.SuppressLint
import android.content.Context
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
+import com.bumptech.glide.Glide
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.model.TaskRecordModel
+import com.casic.birmm.inspect.model.EventListModel
import com.qmuiteam.qmui.widget.QMUIRadiusImageView
-/**
- * 根据id获取事件列表
- * */
class EventListAdapter(
- context: Context,
- dataRows: List
+ private val context: Context,
+ private val dataRows: MutableList
) : RecyclerView.Adapter() {
- private val dataRows: List? = dataRows
- private var layoutInflater: LayoutInflater? = null
-
- init {
- layoutInflater = LayoutInflater.from(context)
- }
+ private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
- val view: View =
- layoutInflater!!.inflate(R.layout.item_inspect_rv, parent, false)
- return ItemViewHolder(view)
+ return ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_inspect_rv, parent, false)
+ )
}
- @SuppressLint("SetTextI18n")
override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
//绑定数据
- val rowsBean = dataRows?.get(position)!!
+ val rowsBean = dataRows[position]
+ val imageArray = rowsBean.images?.split(",")
+ Glide.with(context).load(imageArray?.get(0)).into(holder.inspectImageView)
holder.inspectMsgView.text = rowsBean.name
holder.inspectTypeView.text = String.format("类型:${rowsBean.type}")
holder.inspectDateView.text = String.format("上报时间:${rowsBean.createTime}")
//绑定事件
- if (listener != null) {
- holder.itemView.setOnClickListener {
- listener!!.onClick(position)
- }
+ holder.itemView.setOnClickListener {
+ listener?.onClick(position)
}
}
- override fun getItemCount(): Int = dataRows!!.size
+ override fun getItemCount(): Int = dataRows.size
class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
var inspectImageView: QMUIRadiusImageView = view.findViewById(R.id.inspectImageView)
@@ -63,6 +54,6 @@
}
fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
- listener = onClickListener
+ this.listener = onClickListener
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/adapter/EventSearchListAdapter.kt b/app/src/main/java/com/casic/birmm/inspect/adapter/EventSearchListAdapter.kt
deleted file mode 100644
index 2318e01..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/adapter/EventSearchListAdapter.kt
+++ /dev/null
@@ -1,62 +0,0 @@
-package com.casic.birmm.inspect.adapter
-
-import android.content.Context
-import android.view.LayoutInflater
-import android.view.View
-import android.view.ViewGroup
-import android.widget.TextView
-import androidx.recyclerview.widget.RecyclerView
-import com.bumptech.glide.Glide
-import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.model.EventListModel
-import com.qmuiteam.qmui.widget.QMUIRadiusImageView
-
-/**
- * 事件查询
- * */
-class EventSearchListAdapter(
- private val context: Context,
- private val dataRows: MutableList
-) : RecyclerView.Adapter() {
-
- private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
-
- override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
- return ItemViewHolder(
- layoutInflater.inflate(R.layout.item_inspect_rv, parent, false)
- )
- }
-
- override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
- //绑定数据
- val rowsBean = dataRows[position]
- val imageArray = rowsBean.images?.split(",")
- Glide.with(context).load(imageArray?.get(0)).into(holder.inspectImageView)
- holder.inspectMsgView.text = rowsBean.name
- holder.inspectTypeView.text = String.format("类型:${rowsBean.type}")
- holder.inspectDateView.text = String.format("上报时间:${rowsBean.createTime}")
- //绑定事件
- holder.itemView.setOnClickListener {
- listener?.onClick(position)
- }
- }
-
- override fun getItemCount(): Int = dataRows.size
-
- class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
- var inspectImageView: QMUIRadiusImageView = view.findViewById(R.id.inspectImageView)
- var inspectMsgView: TextView = view.findViewById(R.id.inspectMsgView)
- var inspectTypeView: TextView = view.findViewById(R.id.inspectTypeView)
- var inspectDateView: TextView = view.findViewById(R.id.inspectDateView)
- }
-
- private var listener: OnItemClickListener? = null
-
- interface OnItemClickListener {
- fun onClick(position: Int)
- }
-
- fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
- listener = onClickListener
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/adapter/InspectEventListAdapter.kt b/app/src/main/java/com/casic/birmm/inspect/adapter/InspectEventListAdapter.kt
new file mode 100644
index 0000000..a6c76f6
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/adapter/InspectEventListAdapter.kt
@@ -0,0 +1,55 @@
+package com.casic.birmm.inspect.adapter
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
+import com.casic.birmm.inspect.R
+import com.casic.birmm.inspect.model.TaskRecordModel
+import com.qmuiteam.qmui.widget.QMUIRadiusImageView
+
+class InspectEventListAdapter(
+ context: Context, private val dataRows: List
+) : RecyclerView.Adapter() {
+
+ private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
+
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
+ return ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_inspect_rv, parent, false)
+ )
+ }
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ //绑定数据
+ val rowsBean = dataRows[position]
+ holder.inspectMsgView.text = rowsBean.name
+ holder.inspectTypeView.text = String.format("类型:${rowsBean.type}")
+ holder.inspectDateView.text = String.format("上报时间:${rowsBean.createTime}")
+ //绑定事件
+ holder.itemView.setOnClickListener {
+ listener?.onClick(position)
+ }
+ }
+
+ override fun getItemCount(): Int = dataRows.size
+
+ class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
+ var inspectImageView: QMUIRadiusImageView = view.findViewById(R.id.inspectImageView)
+ var inspectMsgView: TextView = view.findViewById(R.id.inspectMsgView)
+ var inspectTypeView: TextView = view.findViewById(R.id.inspectTypeView)
+ var inspectDateView: TextView = view.findViewById(R.id.inspectDateView)
+ }
+
+ private var listener: OnItemClickListener? = null
+
+ interface OnItemClickListener {
+ fun onClick(position: Int)
+ }
+
+ fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
+ listener = onClickListener
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseSingleModeActivity.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseSingleModeActivity.kt
deleted file mode 100644
index b01a137..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/base/BaseSingleModeActivity.kt
+++ /dev/null
@@ -1,39 +0,0 @@
-package com.casic.birmm.inspect.base
-
-import android.os.Bundle
-import androidx.appcompat.app.AppCompatActivity
-import com.qmuiteam.qmui.util.QMUIStatusBarHelper
-
-/**
- * 单机模式页面的基础类
- * */
-abstract class BaseSingleModeActivity : AppCompatActivity() {
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- setContentView(initLayoutView())
- QMUIStatusBarHelper.translucent(this) //沉浸式状态栏
- setupTopBarLayout()
- initData(savedInstanceState)
- initEvent()
- }
-
- /**
- * 初始化xml布局
- */
- abstract fun initLayoutView(): Int
-
- /**
- * 特定页面定制沉浸式状态栏
- */
- protected abstract fun setupTopBarLayout()
-
- /**
- * 初始化默认数据
- */
- abstract fun initData(savedInstanceState: Bundle?)
-
- /**
- * 初始化业务逻辑
- */
- abstract fun initEvent()
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/base/KotlinMapBaseActivity.kt b/app/src/main/java/com/casic/birmm/inspect/base/KotlinMapBaseActivity.kt
new file mode 100644
index 0000000..8b33d26
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/base/KotlinMapBaseActivity.kt
@@ -0,0 +1,83 @@
+package com.casic.birmm.inspect.base
+
+import android.content.BroadcastReceiver
+import android.content.Context
+import android.content.Intent
+import android.net.ConnectivityManager
+import android.os.Bundle
+import android.provider.Settings
+import android.view.WindowManager
+import androidx.appcompat.app.AppCompatActivity
+import com.pengxh.kt.lite.extensions.isNetworkConnected
+import com.pengxh.kt.lite.utils.BroadcastManager
+import com.pengxh.kt.lite.utils.PageNavigationManager
+import com.pengxh.kt.lite.widget.dialog.NoNetworkDialog
+
+/**
+ * 单机模式页面的基础类
+ * */
+abstract class KotlinMapBaseActivity : AppCompatActivity() {
+
+ private lateinit var broadcastManager: BroadcastManager
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ setContentView(initLayoutView())
+ setupTopBarLayout()
+ initData(savedInstanceState)
+ initEvent()
+ PageNavigationManager.addActivity(this)
+ broadcastManager = BroadcastManager.obtainInstance(this)
+ broadcastManager.addAction(
+ object : BroadcastReceiver() {
+ override fun onReceive(context: Context?, intent: Intent?) {
+ if (!context!!.isNetworkConnected()) {
+ /**
+ * 捕获用户在有网情况下登录进入APP,后来又处于断网状态会导致闪退的Bug
+ * */
+ try {
+ NoNetworkDialog.Builder()
+ .setContext(this@KotlinMapBaseActivity)
+ .setOnDialogButtonClickListener(object :
+ NoNetworkDialog.OnDialogButtonClickListener {
+ override fun onButtonClick() {
+ startActivity(Intent(Settings.ACTION_DATA_ROAMING_SETTINGS))
+ }
+ }).build().show()
+ } catch (e: WindowManager.BadTokenException) {
+ e.printStackTrace()
+ }
+ }
+ }
+ }, ConnectivityManager.CONNECTIVITY_ACTION
+ )
+ }
+
+ /**
+ * 初始化xml布局
+ */
+ abstract fun initLayoutView(): Int
+
+ /**
+ * 特定页面定制沉浸式状态栏
+ */
+ abstract fun setupTopBarLayout()
+
+ /**
+ * 初始化默认数据
+ */
+ abstract fun initData(savedInstanceState: Bundle?)
+
+ /**
+ * 初始化业务逻辑
+ */
+ abstract fun initEvent()
+
+ /**
+ * 取消协程
+ * */
+ override fun onDestroy() {
+ broadcastManager.destroy(ConnectivityManager.CONNECTIVITY_ACTION)
+ super.onDestroy()
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt b/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt
index c1447af..12c92e6 100644
--- a/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt
@@ -17,4 +17,12 @@
}
}
return builder.toString()
+}
+
+fun addAll(vararg args: String): ArrayList {
+ val result = ArrayList()
+ args.forEach {
+ result.add(it)
+ }
+ return result
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
index 8e8821c..fed3a92 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
@@ -1,7 +1,8 @@
+package com.casic.birmm.inspect.utils.retrofit
+
import com.casic.birmm.inspect.model.*
import com.casic.birmm.inspect.utils.AuthenticationHelper
import com.casic.birmm.inspect.utils.LocaleConstant
-import com.casic.birmm.inspect.utils.retrofit.RetrofitService
import com.pengxh.kt.lite.utils.RetrofitFactory.createRetrofit
import com.pengxh.kt.lite.utils.SaveKeyValues
import okhttp3.MediaType.Companion.toMediaTypeOrNull
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt
index 4701c40..f2a84e5 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt
@@ -5,7 +5,7 @@
import androidx.lifecycle.Observer
import androidx.recyclerview.widget.LinearLayoutManager
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.adapter.EventListAdapter
+import com.casic.birmm.inspect.adapter.InspectEventListAdapter
import com.casic.birmm.inspect.base.BaseViewModelActivity
import com.casic.birmm.inspect.extensions.filterString
import com.casic.birmm.inspect.extensions.show
@@ -37,11 +37,11 @@
if (it.data!!.list!!.isEmpty()) {
"抱歉,无法查询到相关记录".show(this)
} else {
- val eventAdapter = EventListAdapter(this, it.data!!.list!!)
+ val eventAdapter = InspectEventListAdapter(this, it.data!!.list!!)
eventRecyclerView!!.layoutManager = LinearLayoutManager(this)
eventRecyclerView.adapter = eventAdapter
eventAdapter.setOnItemClickListener(object :
- EventListAdapter.OnItemClickListener {
+ InspectEventListAdapter.OnItemClickListener {
override fun onClick(position: Int) {
val intent =
Intent(this@EventListActivity, EventDetailActivity::class.java)
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt
index 944be37..ab3a2ac 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt
@@ -7,7 +7,7 @@
import androidx.lifecycle.Observer
import androidx.recyclerview.widget.LinearLayoutManager
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.adapter.EventSearchListAdapter
+import com.casic.birmm.inspect.adapter.EventListAdapter
import com.casic.birmm.inspect.base.BaseViewModelActivity
import com.casic.birmm.inspect.extensions.filterString
import com.casic.birmm.inspect.extensions.show
@@ -40,7 +40,7 @@
private var isLoadMore = false
private var dataBeans: MutableList = ArrayList()
private lateinit var weakReferenceHandler: WeakReferenceHandler
- private lateinit var adapter: EventSearchListAdapter
+ private lateinit var adapter: EventListAdapter
override fun createViewModelByClass(): Class =
EventQueryViewModel::class.java
@@ -172,11 +172,11 @@
emptyView!!.show("抱歉,无法查询到相关记录", null)
} else {
emptyView!!.hide()
- adapter = EventSearchListAdapter(this, dataBeans)
+ adapter = EventListAdapter(this, dataBeans)
eventRecyclerView!!.layoutManager = LinearLayoutManager(this)
eventRecyclerView!!.adapter = adapter
adapter.setOnItemClickListener(object :
- EventSearchListAdapter.OnItemClickListener {
+ EventListAdapter.OnItemClickListener {
override fun onClick(position: Int) {
val intent = Intent(context, EventDetailActivity::class.java)
val rowsBean = dataBeans[position]
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventDetailActivity.kt
index df2df2d..8510c31 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventDetailActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventDetailActivity.kt
@@ -9,6 +9,7 @@
import com.pengxh.kt.lite.base.KotlinBaseActivity
import com.pengxh.kt.lite.extensions.convertColor
import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.utils.Constant
import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import kotlinx.android.synthetic.main.activity_event_detail.*
import kotlinx.android.synthetic.main.include_base_title.*
@@ -28,26 +29,24 @@
}
override fun initData() {
- createTimeView.text = intent.getStringExtra("createTime")
- descriptionView.text = intent.getStringExtra("description")
- val data = intent.getIntExtra("data", -1)
- if (data == -1) {
- dataView.text = "0.0"
- } else {
- dataView.text = String.format("$data.0")
- }
- val images = intent.getStringExtra("images")
+ val conditions = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!!
+ createTimeView.text = conditions[0]
+ descriptionView.text = conditions[1]
+ val value = if (conditions[2].isBlank()) {
+ "0.0"
+ } else {
+ conditions[2] + ".0"
+ }
+ dataView.text = value
/**
* images: /storage/emulated/0/Android/data/com.casic.birmm.inspect/files/Pictures/IMG_CMP_167066503.jpeg,/storage/emulated/0/Android/data/com.casic.birmm.inspect/files/Pictures/IMG_CMP_49917670.jpeg,/storage/emulated/0/Android/data/com.casic.birmm.inspect/files/Pictures/IMG_CMP_1069640.jpeg
* */
val urls: ArrayList = ArrayList()
- if (images != null) {
- if (images.isNotEmpty()) {
- val imageArray = images.split(",")
- imageArray.forEach {
- urls.add(it)
- }
+ if (conditions[3].isNotEmpty()) {
+ val imageArray = conditions[3].split(",")
+ imageArray.forEach {
+ urls.add(it)
}
}
//绑定图片
@@ -55,7 +54,7 @@
imageAdapter.setImageList(urls)
imageGridView.adapter = imageAdapter
imageGridView.setOnItemClickListener { _, _, position, _ ->
- if (urls[position].isEmpty()) {
+ if (urls[position].isBlank()) {
"图片加载失败,无法查看大图".show(this@SingleEventDetailActivity)
} else {
navigatePageTo(position, urls)
@@ -64,6 +63,6 @@
}
override fun initEvent() {
- leftBackView.setOnClickListener { this.finish() }
+
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventListActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventListActivity.kt
index e67f0e6..31f0f48 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventListActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventListActivity.kt
@@ -1,18 +1,21 @@
package com.casic.birmm.inspect.view.single
-import android.content.Intent
-import androidx.recyclerview.widget.LinearLayoutManager
+import android.view.View
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.adapter.EventListAdapter
+import com.casic.birmm.inspect.adapter.InspectEventListAdapter
+import com.casic.birmm.inspect.extensions.addAll
import com.casic.birmm.inspect.extensions.filterString
import com.casic.birmm.inspect.extensions.show
import com.casic.birmm.inspect.utils.DataBaseManager
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.base.KotlinBaseActivity
import com.pengxh.kt.lite.extensions.convertColor
+import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.utils.Constant
import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import kotlinx.android.synthetic.main.activity_event_list.*
import kotlinx.android.synthetic.main.include_base_title.*
+import kotlinx.android.synthetic.main.include_base_title.view.*
class SingleEventListActivity : KotlinBaseActivity() {
@@ -22,41 +25,37 @@
ImmersionBar.with(this).statusBarDarkFont(false).init()
ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ leftBackView.leftBackView.visibility = View.VISIBLE
+ leftBackView.setOnClickListener { this.finish() }
titleView.text = "事件清单"
}
override fun initData() {
- val id = intent.getStringExtra("id")!!
+ val id = intent.getStringExtra(Constant.INTENT_PARAM)!!
val dataRows = DataBaseManager.instance.queryTaskByInspection(id)
if (dataRows.isEmpty()) {
"抱歉,无法查询到相关记录".show(this)
} else {
- val eventAdapter = EventListAdapter(this, dataRows)
- eventRecyclerView!!.layoutManager = LinearLayoutManager(this)
+ val eventAdapter = InspectEventListAdapter(this, dataRows)
eventRecyclerView.adapter = eventAdapter
eventAdapter.setOnItemClickListener(object :
- EventListAdapter.OnItemClickListener {
+ InspectEventListAdapter.OnItemClickListener {
override fun onClick(position: Int) {
- val intent =
- Intent(
- this@SingleEventListActivity,
- SingleEventDetailActivity::class.java
+ val rowsBean = dataRows[position]
+ navigatePageTo(
+ addAll(
+ rowsBean.createTime.toString(),
+ rowsBean.description!!.filterString(),
+ rowsBean.data.toString(),
+ rowsBean.images.toString()
)
- val listBean = dataRows[position]
- intent.putExtra("createTime", listBean.createTime)
- intent.putExtra(
- "description",
- listBean.description!!.filterString()
)
- intent.putExtra("data", listBean.data)
- intent.putExtra("images", listBean.images)
- startActivity(intent)
}
})
}
}
override fun initEvent() {
- leftBackView.setOnClickListener { this.finish() }
+
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt
index 4579987..3e3ed70 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt
@@ -1,9 +1,9 @@
package com.casic.birmm.inspect.view.single
-import android.content.Intent
import android.graphics.Color
import android.os.Bundle
import android.util.Log
+import android.view.View
import com.amap.api.maps.AMap
import com.amap.api.maps.AMapOptions
import com.amap.api.maps.CameraUpdateFactory
@@ -12,25 +12,23 @@
import com.amap.api.maps.model.MarkerOptions
import com.amap.api.maps.model.PolylineOptions
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.base.BaseSingleModeActivity
+import com.casic.birmm.inspect.base.KotlinMapBaseActivity
import com.casic.birmm.inspect.model.NewRouteModel
import com.casic.birmm.inspect.utils.DataBaseManager
import com.google.gson.Gson
import com.google.gson.reflect.TypeToken
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.extensions.convertColor
+import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.utils.Constant
import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
-import com.pengxh.kt.lite.utils.PageNavigationManager
import kotlinx.android.synthetic.main.activity_inspect_route.*
import kotlinx.android.synthetic.main.include_base_title.*
-class SingleInspectRouteActivity : BaseSingleModeActivity() {
+class SingleInspectRouteActivity : KotlinMapBaseActivity() {
- companion object {
- private const val Tag = "SingleModeInspectRoute"
- }
-
+ private val kTag = "SingleInspectRouteActivity"
private lateinit var aMap: AMap
private lateinit var id: String
@@ -40,11 +38,12 @@
ImmersionBar.with(this).statusBarDarkFont(false).init()
ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ leftBackView.visibility = View.VISIBLE
+ leftBackView.setOnClickListener { finish() }
titleView.text = "巡检记录(单机模式)"
}
override fun initData(savedInstanceState: Bundle?) {
- PageNavigationManager.addActivity(this)
mapView.onCreate(savedInstanceState)
aMap = mapView.map
val uiSettings = aMap.uiSettings
@@ -52,7 +51,7 @@
uiSettings.isRotateGesturesEnabled = false//不许地图随手势旋转角度
//根据id查询详情
- id = intent.getStringExtra("id")!!
+ id = intent.getStringExtra(Constant.INTENT_PARAM)!!
val detailData = DataBaseManager.instance.queryInspectDetailById(id)
inspectNameView.text = detailData.name
userNameView.text = detailData.user
@@ -61,10 +60,7 @@
//移动到巡检起始经纬度
aMap.moveCamera(
CameraUpdateFactory.changeLatLng(
- LatLng(
- detailData.startLat,
- detailData.startLng
- )
+ LatLng(detailData.startLat, detailData.startLng)
)
)
aMap.moveCamera(CameraUpdateFactory.zoomTo(16.toFloat()))
@@ -78,11 +74,11 @@
return
}
//[{"lat":39.917433,"lng":116.269525},{"lat":39.917433,"lng":116.269525}]
- Log.d(Tag, "路线: $routeJson")
+ Log.d(kTag, "路线: $routeJson")
val type = object : TypeToken>() {}.type
val routeModels = Gson().fromJson>(routeJson, type)
//画线
- val latLngPoints: ArrayList = ArrayList()
+ val latLngPoints = ArrayList()
routeModels.forEach { routeModel ->
latLngPoints.add(LatLng(routeModel.lat, routeModel.lng))
}
@@ -92,11 +88,8 @@
}
override fun initEvent() {
- leftBackView.setOnClickListener { this.finish() }
eventButton.setOnClickListener {
- val intent = Intent(this, SingleEventListActivity::class.java)
- intent.putExtra("id", id)
- startActivity(intent)
+ navigatePageTo(id)
}
}
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt
index 0960ebc..725c22b 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt
@@ -11,7 +11,7 @@
import com.casic.birmm.inspect.adapter.ViewPagerAdapter
import com.casic.birmm.inspect.extensions.show
import com.casic.birmm.inspect.view.single.fragment.InspectPageFragment
-import com.casic.birmm.inspect.view.single.fragment.LogPageFragment
+import com.casic.birmm.inspect.view.single.fragment.LogRecordPageFragment
import com.casic.birmm.inspect.view.single.fragment.SettingsPageFragment
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.base.KotlinBaseActivity
@@ -29,7 +29,7 @@
init {
fragmentPages.add(InspectPageFragment())
- fragmentPages.add(LogPageFragment())
+ fragmentPages.add(LogRecordPageFragment())
fragmentPages.add(SettingsPageFragment())
}
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt
index 420607a..da52201 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt
@@ -1,12 +1,11 @@
package com.casic.birmm.inspect.view.single.fragment
-import android.content.Intent
import android.os.CountDownTimer
import android.os.Handler
import androidx.core.content.ContextCompat
-import androidx.recyclerview.widget.LinearLayoutManager
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.adapter.EventSearchListAdapter
+import com.casic.birmm.inspect.adapter.EventListAdapter
+import com.casic.birmm.inspect.extensions.addAll
import com.casic.birmm.inspect.extensions.filterString
import com.casic.birmm.inspect.extensions.show
import com.casic.birmm.inspect.extensions.showEmptyPage
@@ -17,6 +16,7 @@
import com.jzxiang.pickerview.TimePickerDialog
import com.jzxiang.pickerview.data.Type
import com.pengxh.kt.lite.base.KotlinBaseFragment
+import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.timestampToDate
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import kotlinx.android.synthetic.main.activity_query_event.*
@@ -30,7 +30,7 @@
class EventListFragment : KotlinBaseFragment() {
private lateinit var weakReferenceHandler: WeakReferenceHandler
- private lateinit var adapter: EventSearchListAdapter
+ private lateinit var eventListAdapter: EventListAdapter
//本地数据库页码从0开始
private var pageIndex = 0
@@ -87,20 +87,16 @@
endTime = millsSeconds.timestampToDate()
endDateView.setText(endTime)
}
- .build().show(childFragmentManager, "startDate")
+ .build().show(childFragmentManager, "endDate")
}
searchView.setOnClickListener {
keywords = inputTipsView.text.toString()
//查询都从第一页开始查
pageIndex = 0
- dataBeans =
- DataBaseManager.instance.queryEventByCondition(
- startTime,
- endTime,
- keywords,
- pageIndex
- )
+ dataBeans = DataBaseManager.instance.queryEventByCondition(
+ startTime, endTime, keywords, pageIndex
+ )
weakReferenceHandler.sendEmptyMessage(20210820)
}
@@ -108,45 +104,39 @@
isRefresh = true
//刷新之后页码重置
pageIndex = 0
- object : CountDownTimer(1500, 500) {
+ object : CountDownTimer(1000, 500) {
override fun onTick(millisUntilFinished: Long) {
}
override fun onFinish() {
+ refreshLayout.finishRefresh()
dataBeans.clear()
dataBeans = DataBaseManager.instance.queryEventByCondition(
- startTime,
- endTime,
- keywords,
- pageIndex
+ startTime, endTime, keywords, pageIndex
)
- refreshLayout.finishRefresh()
isRefresh = false
- weakReferenceHandler.sendEmptyMessage(20210819)
+ weakReferenceHandler.sendEmptyMessage(20210820)
}
}.start()
}
refreshLayout.setOnLoadMoreListener {
isLoadMore = true
pageIndex++
- object : CountDownTimer(1500, 500) {
+ object : CountDownTimer(1000, 500) {
override fun onTick(millisUntilFinished: Long) {
}
override fun onFinish() {
+ refreshLayout.finishLoadMore()
val dataRows = DataBaseManager.instance.queryEventByCondition(
- startTime,
- endTime,
- keywords,
- pageIndex
+ startTime, endTime, keywords, pageIndex
)
if (dataRows.size == 0) {
"到底了,别拉了".show(requireContext())
}
dataBeans.addAll(dataRows)
- refreshLayout.finishLoadMore()
isLoadMore = false
weakReferenceHandler.sendEmptyMessage(20210820)
}
@@ -154,46 +144,35 @@
}
}
- private fun obtainEventList() {
-
- }
-
private val callback = Handler.Callback {
if (it.what == 20210820) {
if (isRefresh || isLoadMore) {
- adapter.notifyDataSetChanged()
+ eventListAdapter.notifyDataSetChanged()
} else { //首次加载数据
if (dataBeans.size == 0) {
emptyView!!.showEmptyPage {
pageIndex = 0
- dataBeans =
- DataBaseManager.instance.queryEventByCondition(
- startTime,
- endTime,
- keywords,
- pageIndex
- )
+ dataBeans = DataBaseManager.instance.queryEventByCondition(
+ startTime, endTime, keywords, pageIndex
+ )
weakReferenceHandler.sendEmptyMessage(20210820)
}
} else {
emptyView!!.hide()
- adapter = EventSearchListAdapter(requireContext(), dataBeans)
- eventRecyclerView!!.layoutManager = LinearLayoutManager(requireContext())
- eventRecyclerView!!.adapter = adapter
- adapter.setOnItemClickListener(object :
- EventSearchListAdapter.OnItemClickListener {
+ eventListAdapter = EventListAdapter(requireContext(), dataBeans)
+ eventRecyclerView.adapter = eventListAdapter
+ eventListAdapter.setOnItemClickListener(object :
+ EventListAdapter.OnItemClickListener {
override fun onClick(position: Int) {
- val intent = Intent(
- requireContext(), SingleEventDetailActivity::class.java
- )
val rowsBean = dataBeans[position]
- intent.putExtra("createTime", rowsBean.createTime)
- intent.putExtra(
- "description", rowsBean.description!!.filterString()
+ requireContext().navigatePageTo(
+ addAll(
+ rowsBean.createTime.toString(),
+ rowsBean.description!!.filterString(),
+ rowsBean.data.toString(),
+ rowsBean.images.toString()
+ )
)
- intent.putExtra("data", rowsBean.data)
- intent.putExtra("images", rowsBean.images)
- startActivity(intent)
}
})
}
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 2b3c004..64b09c2 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -8,8 +8,11 @@
+
+
+
@@ -21,7 +24,7 @@
-
+
@@ -39,7 +42,7 @@
-
+
diff --git a/app/build.gradle b/app/build.gradle
index 0d7f214..0e2f815 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -19,9 +19,11 @@
applicationId "com.casic.birmm.inspect"
minSdkVersion 23
targetSdkVersion 31
- versionCode 1
- versionName "2.0.0"
- ndk { abiFilters "armeabi", "armeabi-v7a", "arm64-v8" }
+ versionCode 2
+ versionName "1.0.1"
+ ndk {
+ abiFilters "armeabi", "armeabi-v7a", "arm64-v8"
+ }
}
buildTypes {
diff --git a/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt b/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt
index 1d9e30e..d30ea59 100644
--- a/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt
@@ -1,53 +1,44 @@
package com.casic.birmm.inspect.adapter
-import android.annotation.SuppressLint
import android.content.Context
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
+import com.bumptech.glide.Glide
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.model.TaskRecordModel
+import com.casic.birmm.inspect.model.EventListModel
import com.qmuiteam.qmui.widget.QMUIRadiusImageView
-/**
- * 根据id获取事件列表
- * */
class EventListAdapter(
- context: Context,
- dataRows: List
+ private val context: Context,
+ private val dataRows: MutableList
) : RecyclerView.Adapter() {
- private val dataRows: List? = dataRows
- private var layoutInflater: LayoutInflater? = null
-
- init {
- layoutInflater = LayoutInflater.from(context)
- }
+ private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
- val view: View =
- layoutInflater!!.inflate(R.layout.item_inspect_rv, parent, false)
- return ItemViewHolder(view)
+ return ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_inspect_rv, parent, false)
+ )
}
- @SuppressLint("SetTextI18n")
override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
//绑定数据
- val rowsBean = dataRows?.get(position)!!
+ val rowsBean = dataRows[position]
+ val imageArray = rowsBean.images?.split(",")
+ Glide.with(context).load(imageArray?.get(0)).into(holder.inspectImageView)
holder.inspectMsgView.text = rowsBean.name
holder.inspectTypeView.text = String.format("类型:${rowsBean.type}")
holder.inspectDateView.text = String.format("上报时间:${rowsBean.createTime}")
//绑定事件
- if (listener != null) {
- holder.itemView.setOnClickListener {
- listener!!.onClick(position)
- }
+ holder.itemView.setOnClickListener {
+ listener?.onClick(position)
}
}
- override fun getItemCount(): Int = dataRows!!.size
+ override fun getItemCount(): Int = dataRows.size
class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
var inspectImageView: QMUIRadiusImageView = view.findViewById(R.id.inspectImageView)
@@ -63,6 +54,6 @@
}
fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
- listener = onClickListener
+ this.listener = onClickListener
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/adapter/EventSearchListAdapter.kt b/app/src/main/java/com/casic/birmm/inspect/adapter/EventSearchListAdapter.kt
deleted file mode 100644
index 2318e01..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/adapter/EventSearchListAdapter.kt
+++ /dev/null
@@ -1,62 +0,0 @@
-package com.casic.birmm.inspect.adapter
-
-import android.content.Context
-import android.view.LayoutInflater
-import android.view.View
-import android.view.ViewGroup
-import android.widget.TextView
-import androidx.recyclerview.widget.RecyclerView
-import com.bumptech.glide.Glide
-import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.model.EventListModel
-import com.qmuiteam.qmui.widget.QMUIRadiusImageView
-
-/**
- * 事件查询
- * */
-class EventSearchListAdapter(
- private val context: Context,
- private val dataRows: MutableList
-) : RecyclerView.Adapter() {
-
- private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
-
- override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
- return ItemViewHolder(
- layoutInflater.inflate(R.layout.item_inspect_rv, parent, false)
- )
- }
-
- override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
- //绑定数据
- val rowsBean = dataRows[position]
- val imageArray = rowsBean.images?.split(",")
- Glide.with(context).load(imageArray?.get(0)).into(holder.inspectImageView)
- holder.inspectMsgView.text = rowsBean.name
- holder.inspectTypeView.text = String.format("类型:${rowsBean.type}")
- holder.inspectDateView.text = String.format("上报时间:${rowsBean.createTime}")
- //绑定事件
- holder.itemView.setOnClickListener {
- listener?.onClick(position)
- }
- }
-
- override fun getItemCount(): Int = dataRows.size
-
- class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
- var inspectImageView: QMUIRadiusImageView = view.findViewById(R.id.inspectImageView)
- var inspectMsgView: TextView = view.findViewById(R.id.inspectMsgView)
- var inspectTypeView: TextView = view.findViewById(R.id.inspectTypeView)
- var inspectDateView: TextView = view.findViewById(R.id.inspectDateView)
- }
-
- private var listener: OnItemClickListener? = null
-
- interface OnItemClickListener {
- fun onClick(position: Int)
- }
-
- fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
- listener = onClickListener
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/adapter/InspectEventListAdapter.kt b/app/src/main/java/com/casic/birmm/inspect/adapter/InspectEventListAdapter.kt
new file mode 100644
index 0000000..a6c76f6
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/adapter/InspectEventListAdapter.kt
@@ -0,0 +1,55 @@
+package com.casic.birmm.inspect.adapter
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
+import com.casic.birmm.inspect.R
+import com.casic.birmm.inspect.model.TaskRecordModel
+import com.qmuiteam.qmui.widget.QMUIRadiusImageView
+
+class InspectEventListAdapter(
+ context: Context, private val dataRows: List
+) : RecyclerView.Adapter() {
+
+ private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
+
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
+ return ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_inspect_rv, parent, false)
+ )
+ }
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ //绑定数据
+ val rowsBean = dataRows[position]
+ holder.inspectMsgView.text = rowsBean.name
+ holder.inspectTypeView.text = String.format("类型:${rowsBean.type}")
+ holder.inspectDateView.text = String.format("上报时间:${rowsBean.createTime}")
+ //绑定事件
+ holder.itemView.setOnClickListener {
+ listener?.onClick(position)
+ }
+ }
+
+ override fun getItemCount(): Int = dataRows.size
+
+ class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
+ var inspectImageView: QMUIRadiusImageView = view.findViewById(R.id.inspectImageView)
+ var inspectMsgView: TextView = view.findViewById(R.id.inspectMsgView)
+ var inspectTypeView: TextView = view.findViewById(R.id.inspectTypeView)
+ var inspectDateView: TextView = view.findViewById(R.id.inspectDateView)
+ }
+
+ private var listener: OnItemClickListener? = null
+
+ interface OnItemClickListener {
+ fun onClick(position: Int)
+ }
+
+ fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
+ listener = onClickListener
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseSingleModeActivity.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseSingleModeActivity.kt
deleted file mode 100644
index b01a137..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/base/BaseSingleModeActivity.kt
+++ /dev/null
@@ -1,39 +0,0 @@
-package com.casic.birmm.inspect.base
-
-import android.os.Bundle
-import androidx.appcompat.app.AppCompatActivity
-import com.qmuiteam.qmui.util.QMUIStatusBarHelper
-
-/**
- * 单机模式页面的基础类
- * */
-abstract class BaseSingleModeActivity : AppCompatActivity() {
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- setContentView(initLayoutView())
- QMUIStatusBarHelper.translucent(this) //沉浸式状态栏
- setupTopBarLayout()
- initData(savedInstanceState)
- initEvent()
- }
-
- /**
- * 初始化xml布局
- */
- abstract fun initLayoutView(): Int
-
- /**
- * 特定页面定制沉浸式状态栏
- */
- protected abstract fun setupTopBarLayout()
-
- /**
- * 初始化默认数据
- */
- abstract fun initData(savedInstanceState: Bundle?)
-
- /**
- * 初始化业务逻辑
- */
- abstract fun initEvent()
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/base/KotlinMapBaseActivity.kt b/app/src/main/java/com/casic/birmm/inspect/base/KotlinMapBaseActivity.kt
new file mode 100644
index 0000000..8b33d26
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/base/KotlinMapBaseActivity.kt
@@ -0,0 +1,83 @@
+package com.casic.birmm.inspect.base
+
+import android.content.BroadcastReceiver
+import android.content.Context
+import android.content.Intent
+import android.net.ConnectivityManager
+import android.os.Bundle
+import android.provider.Settings
+import android.view.WindowManager
+import androidx.appcompat.app.AppCompatActivity
+import com.pengxh.kt.lite.extensions.isNetworkConnected
+import com.pengxh.kt.lite.utils.BroadcastManager
+import com.pengxh.kt.lite.utils.PageNavigationManager
+import com.pengxh.kt.lite.widget.dialog.NoNetworkDialog
+
+/**
+ * 单机模式页面的基础类
+ * */
+abstract class KotlinMapBaseActivity : AppCompatActivity() {
+
+ private lateinit var broadcastManager: BroadcastManager
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ setContentView(initLayoutView())
+ setupTopBarLayout()
+ initData(savedInstanceState)
+ initEvent()
+ PageNavigationManager.addActivity(this)
+ broadcastManager = BroadcastManager.obtainInstance(this)
+ broadcastManager.addAction(
+ object : BroadcastReceiver() {
+ override fun onReceive(context: Context?, intent: Intent?) {
+ if (!context!!.isNetworkConnected()) {
+ /**
+ * 捕获用户在有网情况下登录进入APP,后来又处于断网状态会导致闪退的Bug
+ * */
+ try {
+ NoNetworkDialog.Builder()
+ .setContext(this@KotlinMapBaseActivity)
+ .setOnDialogButtonClickListener(object :
+ NoNetworkDialog.OnDialogButtonClickListener {
+ override fun onButtonClick() {
+ startActivity(Intent(Settings.ACTION_DATA_ROAMING_SETTINGS))
+ }
+ }).build().show()
+ } catch (e: WindowManager.BadTokenException) {
+ e.printStackTrace()
+ }
+ }
+ }
+ }, ConnectivityManager.CONNECTIVITY_ACTION
+ )
+ }
+
+ /**
+ * 初始化xml布局
+ */
+ abstract fun initLayoutView(): Int
+
+ /**
+ * 特定页面定制沉浸式状态栏
+ */
+ abstract fun setupTopBarLayout()
+
+ /**
+ * 初始化默认数据
+ */
+ abstract fun initData(savedInstanceState: Bundle?)
+
+ /**
+ * 初始化业务逻辑
+ */
+ abstract fun initEvent()
+
+ /**
+ * 取消协程
+ * */
+ override fun onDestroy() {
+ broadcastManager.destroy(ConnectivityManager.CONNECTIVITY_ACTION)
+ super.onDestroy()
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt b/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt
index c1447af..12c92e6 100644
--- a/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt
@@ -17,4 +17,12 @@
}
}
return builder.toString()
+}
+
+fun addAll(vararg args: String): ArrayList {
+ val result = ArrayList()
+ args.forEach {
+ result.add(it)
+ }
+ return result
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
index 8e8821c..fed3a92 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
@@ -1,7 +1,8 @@
+package com.casic.birmm.inspect.utils.retrofit
+
import com.casic.birmm.inspect.model.*
import com.casic.birmm.inspect.utils.AuthenticationHelper
import com.casic.birmm.inspect.utils.LocaleConstant
-import com.casic.birmm.inspect.utils.retrofit.RetrofitService
import com.pengxh.kt.lite.utils.RetrofitFactory.createRetrofit
import com.pengxh.kt.lite.utils.SaveKeyValues
import okhttp3.MediaType.Companion.toMediaTypeOrNull
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt
index 4701c40..f2a84e5 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt
@@ -5,7 +5,7 @@
import androidx.lifecycle.Observer
import androidx.recyclerview.widget.LinearLayoutManager
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.adapter.EventListAdapter
+import com.casic.birmm.inspect.adapter.InspectEventListAdapter
import com.casic.birmm.inspect.base.BaseViewModelActivity
import com.casic.birmm.inspect.extensions.filterString
import com.casic.birmm.inspect.extensions.show
@@ -37,11 +37,11 @@
if (it.data!!.list!!.isEmpty()) {
"抱歉,无法查询到相关记录".show(this)
} else {
- val eventAdapter = EventListAdapter(this, it.data!!.list!!)
+ val eventAdapter = InspectEventListAdapter(this, it.data!!.list!!)
eventRecyclerView!!.layoutManager = LinearLayoutManager(this)
eventRecyclerView.adapter = eventAdapter
eventAdapter.setOnItemClickListener(object :
- EventListAdapter.OnItemClickListener {
+ InspectEventListAdapter.OnItemClickListener {
override fun onClick(position: Int) {
val intent =
Intent(this@EventListActivity, EventDetailActivity::class.java)
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt
index 944be37..ab3a2ac 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt
@@ -7,7 +7,7 @@
import androidx.lifecycle.Observer
import androidx.recyclerview.widget.LinearLayoutManager
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.adapter.EventSearchListAdapter
+import com.casic.birmm.inspect.adapter.EventListAdapter
import com.casic.birmm.inspect.base.BaseViewModelActivity
import com.casic.birmm.inspect.extensions.filterString
import com.casic.birmm.inspect.extensions.show
@@ -40,7 +40,7 @@
private var isLoadMore = false
private var dataBeans: MutableList = ArrayList()
private lateinit var weakReferenceHandler: WeakReferenceHandler
- private lateinit var adapter: EventSearchListAdapter
+ private lateinit var adapter: EventListAdapter
override fun createViewModelByClass(): Class =
EventQueryViewModel::class.java
@@ -172,11 +172,11 @@
emptyView!!.show("抱歉,无法查询到相关记录", null)
} else {
emptyView!!.hide()
- adapter = EventSearchListAdapter(this, dataBeans)
+ adapter = EventListAdapter(this, dataBeans)
eventRecyclerView!!.layoutManager = LinearLayoutManager(this)
eventRecyclerView!!.adapter = adapter
adapter.setOnItemClickListener(object :
- EventSearchListAdapter.OnItemClickListener {
+ EventListAdapter.OnItemClickListener {
override fun onClick(position: Int) {
val intent = Intent(context, EventDetailActivity::class.java)
val rowsBean = dataBeans[position]
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventDetailActivity.kt
index df2df2d..8510c31 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventDetailActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventDetailActivity.kt
@@ -9,6 +9,7 @@
import com.pengxh.kt.lite.base.KotlinBaseActivity
import com.pengxh.kt.lite.extensions.convertColor
import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.utils.Constant
import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import kotlinx.android.synthetic.main.activity_event_detail.*
import kotlinx.android.synthetic.main.include_base_title.*
@@ -28,26 +29,24 @@
}
override fun initData() {
- createTimeView.text = intent.getStringExtra("createTime")
- descriptionView.text = intent.getStringExtra("description")
- val data = intent.getIntExtra("data", -1)
- if (data == -1) {
- dataView.text = "0.0"
- } else {
- dataView.text = String.format("$data.0")
- }
- val images = intent.getStringExtra("images")
+ val conditions = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!!
+ createTimeView.text = conditions[0]
+ descriptionView.text = conditions[1]
+ val value = if (conditions[2].isBlank()) {
+ "0.0"
+ } else {
+ conditions[2] + ".0"
+ }
+ dataView.text = value
/**
* images: /storage/emulated/0/Android/data/com.casic.birmm.inspect/files/Pictures/IMG_CMP_167066503.jpeg,/storage/emulated/0/Android/data/com.casic.birmm.inspect/files/Pictures/IMG_CMP_49917670.jpeg,/storage/emulated/0/Android/data/com.casic.birmm.inspect/files/Pictures/IMG_CMP_1069640.jpeg
* */
val urls: ArrayList = ArrayList()
- if (images != null) {
- if (images.isNotEmpty()) {
- val imageArray = images.split(",")
- imageArray.forEach {
- urls.add(it)
- }
+ if (conditions[3].isNotEmpty()) {
+ val imageArray = conditions[3].split(",")
+ imageArray.forEach {
+ urls.add(it)
}
}
//绑定图片
@@ -55,7 +54,7 @@
imageAdapter.setImageList(urls)
imageGridView.adapter = imageAdapter
imageGridView.setOnItemClickListener { _, _, position, _ ->
- if (urls[position].isEmpty()) {
+ if (urls[position].isBlank()) {
"图片加载失败,无法查看大图".show(this@SingleEventDetailActivity)
} else {
navigatePageTo(position, urls)
@@ -64,6 +63,6 @@
}
override fun initEvent() {
- leftBackView.setOnClickListener { this.finish() }
+
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventListActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventListActivity.kt
index e67f0e6..31f0f48 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventListActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventListActivity.kt
@@ -1,18 +1,21 @@
package com.casic.birmm.inspect.view.single
-import android.content.Intent
-import androidx.recyclerview.widget.LinearLayoutManager
+import android.view.View
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.adapter.EventListAdapter
+import com.casic.birmm.inspect.adapter.InspectEventListAdapter
+import com.casic.birmm.inspect.extensions.addAll
import com.casic.birmm.inspect.extensions.filterString
import com.casic.birmm.inspect.extensions.show
import com.casic.birmm.inspect.utils.DataBaseManager
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.base.KotlinBaseActivity
import com.pengxh.kt.lite.extensions.convertColor
+import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.utils.Constant
import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import kotlinx.android.synthetic.main.activity_event_list.*
import kotlinx.android.synthetic.main.include_base_title.*
+import kotlinx.android.synthetic.main.include_base_title.view.*
class SingleEventListActivity : KotlinBaseActivity() {
@@ -22,41 +25,37 @@
ImmersionBar.with(this).statusBarDarkFont(false).init()
ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ leftBackView.leftBackView.visibility = View.VISIBLE
+ leftBackView.setOnClickListener { this.finish() }
titleView.text = "事件清单"
}
override fun initData() {
- val id = intent.getStringExtra("id")!!
+ val id = intent.getStringExtra(Constant.INTENT_PARAM)!!
val dataRows = DataBaseManager.instance.queryTaskByInspection(id)
if (dataRows.isEmpty()) {
"抱歉,无法查询到相关记录".show(this)
} else {
- val eventAdapter = EventListAdapter(this, dataRows)
- eventRecyclerView!!.layoutManager = LinearLayoutManager(this)
+ val eventAdapter = InspectEventListAdapter(this, dataRows)
eventRecyclerView.adapter = eventAdapter
eventAdapter.setOnItemClickListener(object :
- EventListAdapter.OnItemClickListener {
+ InspectEventListAdapter.OnItemClickListener {
override fun onClick(position: Int) {
- val intent =
- Intent(
- this@SingleEventListActivity,
- SingleEventDetailActivity::class.java
+ val rowsBean = dataRows[position]
+ navigatePageTo(
+ addAll(
+ rowsBean.createTime.toString(),
+ rowsBean.description!!.filterString(),
+ rowsBean.data.toString(),
+ rowsBean.images.toString()
)
- val listBean = dataRows[position]
- intent.putExtra("createTime", listBean.createTime)
- intent.putExtra(
- "description",
- listBean.description!!.filterString()
)
- intent.putExtra("data", listBean.data)
- intent.putExtra("images", listBean.images)
- startActivity(intent)
}
})
}
}
override fun initEvent() {
- leftBackView.setOnClickListener { this.finish() }
+
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt
index 4579987..3e3ed70 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt
@@ -1,9 +1,9 @@
package com.casic.birmm.inspect.view.single
-import android.content.Intent
import android.graphics.Color
import android.os.Bundle
import android.util.Log
+import android.view.View
import com.amap.api.maps.AMap
import com.amap.api.maps.AMapOptions
import com.amap.api.maps.CameraUpdateFactory
@@ -12,25 +12,23 @@
import com.amap.api.maps.model.MarkerOptions
import com.amap.api.maps.model.PolylineOptions
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.base.BaseSingleModeActivity
+import com.casic.birmm.inspect.base.KotlinMapBaseActivity
import com.casic.birmm.inspect.model.NewRouteModel
import com.casic.birmm.inspect.utils.DataBaseManager
import com.google.gson.Gson
import com.google.gson.reflect.TypeToken
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.extensions.convertColor
+import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.utils.Constant
import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
-import com.pengxh.kt.lite.utils.PageNavigationManager
import kotlinx.android.synthetic.main.activity_inspect_route.*
import kotlinx.android.synthetic.main.include_base_title.*
-class SingleInspectRouteActivity : BaseSingleModeActivity() {
+class SingleInspectRouteActivity : KotlinMapBaseActivity() {
- companion object {
- private const val Tag = "SingleModeInspectRoute"
- }
-
+ private val kTag = "SingleInspectRouteActivity"
private lateinit var aMap: AMap
private lateinit var id: String
@@ -40,11 +38,12 @@
ImmersionBar.with(this).statusBarDarkFont(false).init()
ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ leftBackView.visibility = View.VISIBLE
+ leftBackView.setOnClickListener { finish() }
titleView.text = "巡检记录(单机模式)"
}
override fun initData(savedInstanceState: Bundle?) {
- PageNavigationManager.addActivity(this)
mapView.onCreate(savedInstanceState)
aMap = mapView.map
val uiSettings = aMap.uiSettings
@@ -52,7 +51,7 @@
uiSettings.isRotateGesturesEnabled = false//不许地图随手势旋转角度
//根据id查询详情
- id = intent.getStringExtra("id")!!
+ id = intent.getStringExtra(Constant.INTENT_PARAM)!!
val detailData = DataBaseManager.instance.queryInspectDetailById(id)
inspectNameView.text = detailData.name
userNameView.text = detailData.user
@@ -61,10 +60,7 @@
//移动到巡检起始经纬度
aMap.moveCamera(
CameraUpdateFactory.changeLatLng(
- LatLng(
- detailData.startLat,
- detailData.startLng
- )
+ LatLng(detailData.startLat, detailData.startLng)
)
)
aMap.moveCamera(CameraUpdateFactory.zoomTo(16.toFloat()))
@@ -78,11 +74,11 @@
return
}
//[{"lat":39.917433,"lng":116.269525},{"lat":39.917433,"lng":116.269525}]
- Log.d(Tag, "路线: $routeJson")
+ Log.d(kTag, "路线: $routeJson")
val type = object : TypeToken>() {}.type
val routeModels = Gson().fromJson>(routeJson, type)
//画线
- val latLngPoints: ArrayList = ArrayList()
+ val latLngPoints = ArrayList()
routeModels.forEach { routeModel ->
latLngPoints.add(LatLng(routeModel.lat, routeModel.lng))
}
@@ -92,11 +88,8 @@
}
override fun initEvent() {
- leftBackView.setOnClickListener { this.finish() }
eventButton.setOnClickListener {
- val intent = Intent(this, SingleEventListActivity::class.java)
- intent.putExtra("id", id)
- startActivity(intent)
+ navigatePageTo(id)
}
}
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt
index 0960ebc..725c22b 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt
@@ -11,7 +11,7 @@
import com.casic.birmm.inspect.adapter.ViewPagerAdapter
import com.casic.birmm.inspect.extensions.show
import com.casic.birmm.inspect.view.single.fragment.InspectPageFragment
-import com.casic.birmm.inspect.view.single.fragment.LogPageFragment
+import com.casic.birmm.inspect.view.single.fragment.LogRecordPageFragment
import com.casic.birmm.inspect.view.single.fragment.SettingsPageFragment
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.base.KotlinBaseActivity
@@ -29,7 +29,7 @@
init {
fragmentPages.add(InspectPageFragment())
- fragmentPages.add(LogPageFragment())
+ fragmentPages.add(LogRecordPageFragment())
fragmentPages.add(SettingsPageFragment())
}
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt
index 420607a..da52201 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt
@@ -1,12 +1,11 @@
package com.casic.birmm.inspect.view.single.fragment
-import android.content.Intent
import android.os.CountDownTimer
import android.os.Handler
import androidx.core.content.ContextCompat
-import androidx.recyclerview.widget.LinearLayoutManager
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.adapter.EventSearchListAdapter
+import com.casic.birmm.inspect.adapter.EventListAdapter
+import com.casic.birmm.inspect.extensions.addAll
import com.casic.birmm.inspect.extensions.filterString
import com.casic.birmm.inspect.extensions.show
import com.casic.birmm.inspect.extensions.showEmptyPage
@@ -17,6 +16,7 @@
import com.jzxiang.pickerview.TimePickerDialog
import com.jzxiang.pickerview.data.Type
import com.pengxh.kt.lite.base.KotlinBaseFragment
+import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.timestampToDate
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import kotlinx.android.synthetic.main.activity_query_event.*
@@ -30,7 +30,7 @@
class EventListFragment : KotlinBaseFragment() {
private lateinit var weakReferenceHandler: WeakReferenceHandler
- private lateinit var adapter: EventSearchListAdapter
+ private lateinit var eventListAdapter: EventListAdapter
//本地数据库页码从0开始
private var pageIndex = 0
@@ -87,20 +87,16 @@
endTime = millsSeconds.timestampToDate()
endDateView.setText(endTime)
}
- .build().show(childFragmentManager, "startDate")
+ .build().show(childFragmentManager, "endDate")
}
searchView.setOnClickListener {
keywords = inputTipsView.text.toString()
//查询都从第一页开始查
pageIndex = 0
- dataBeans =
- DataBaseManager.instance.queryEventByCondition(
- startTime,
- endTime,
- keywords,
- pageIndex
- )
+ dataBeans = DataBaseManager.instance.queryEventByCondition(
+ startTime, endTime, keywords, pageIndex
+ )
weakReferenceHandler.sendEmptyMessage(20210820)
}
@@ -108,45 +104,39 @@
isRefresh = true
//刷新之后页码重置
pageIndex = 0
- object : CountDownTimer(1500, 500) {
+ object : CountDownTimer(1000, 500) {
override fun onTick(millisUntilFinished: Long) {
}
override fun onFinish() {
+ refreshLayout.finishRefresh()
dataBeans.clear()
dataBeans = DataBaseManager.instance.queryEventByCondition(
- startTime,
- endTime,
- keywords,
- pageIndex
+ startTime, endTime, keywords, pageIndex
)
- refreshLayout.finishRefresh()
isRefresh = false
- weakReferenceHandler.sendEmptyMessage(20210819)
+ weakReferenceHandler.sendEmptyMessage(20210820)
}
}.start()
}
refreshLayout.setOnLoadMoreListener {
isLoadMore = true
pageIndex++
- object : CountDownTimer(1500, 500) {
+ object : CountDownTimer(1000, 500) {
override fun onTick(millisUntilFinished: Long) {
}
override fun onFinish() {
+ refreshLayout.finishLoadMore()
val dataRows = DataBaseManager.instance.queryEventByCondition(
- startTime,
- endTime,
- keywords,
- pageIndex
+ startTime, endTime, keywords, pageIndex
)
if (dataRows.size == 0) {
"到底了,别拉了".show(requireContext())
}
dataBeans.addAll(dataRows)
- refreshLayout.finishLoadMore()
isLoadMore = false
weakReferenceHandler.sendEmptyMessage(20210820)
}
@@ -154,46 +144,35 @@
}
}
- private fun obtainEventList() {
-
- }
-
private val callback = Handler.Callback {
if (it.what == 20210820) {
if (isRefresh || isLoadMore) {
- adapter.notifyDataSetChanged()
+ eventListAdapter.notifyDataSetChanged()
} else { //首次加载数据
if (dataBeans.size == 0) {
emptyView!!.showEmptyPage {
pageIndex = 0
- dataBeans =
- DataBaseManager.instance.queryEventByCondition(
- startTime,
- endTime,
- keywords,
- pageIndex
- )
+ dataBeans = DataBaseManager.instance.queryEventByCondition(
+ startTime, endTime, keywords, pageIndex
+ )
weakReferenceHandler.sendEmptyMessage(20210820)
}
} else {
emptyView!!.hide()
- adapter = EventSearchListAdapter(requireContext(), dataBeans)
- eventRecyclerView!!.layoutManager = LinearLayoutManager(requireContext())
- eventRecyclerView!!.adapter = adapter
- adapter.setOnItemClickListener(object :
- EventSearchListAdapter.OnItemClickListener {
+ eventListAdapter = EventListAdapter(requireContext(), dataBeans)
+ eventRecyclerView.adapter = eventListAdapter
+ eventListAdapter.setOnItemClickListener(object :
+ EventListAdapter.OnItemClickListener {
override fun onClick(position: Int) {
- val intent = Intent(
- requireContext(), SingleEventDetailActivity::class.java
- )
val rowsBean = dataBeans[position]
- intent.putExtra("createTime", rowsBean.createTime)
- intent.putExtra(
- "description", rowsBean.description!!.filterString()
+ requireContext().navigatePageTo(
+ addAll(
+ rowsBean.createTime.toString(),
+ rowsBean.description!!.filterString(),
+ rowsBean.data.toString(),
+ rowsBean.images.toString()
+ )
)
- intent.putExtra("data", rowsBean.data)
- intent.putExtra("images", rowsBean.images)
- startActivity(intent)
}
})
}
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt
index 419c50c..615c394 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt
@@ -1,10 +1,8 @@
package com.casic.birmm.inspect.view.single.fragment
-import android.content.Intent
import android.os.CountDownTimer
import android.os.Handler
import androidx.core.content.ContextCompat
-import androidx.recyclerview.widget.LinearLayoutManager
import com.casic.birmm.inspect.R
import com.casic.birmm.inspect.adapter.InspectListAdapter
import com.casic.birmm.inspect.extensions.show
@@ -16,14 +14,15 @@
import com.jzxiang.pickerview.TimePickerDialog
import com.jzxiang.pickerview.data.Type
import com.pengxh.kt.lite.base.KotlinBaseFragment
+import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.timestampToDate
import com.pengxh.kt.lite.utils.WeakReferenceHandler
-import kotlinx.android.synthetic.main.activity_query_inspect.*
+import kotlinx.android.synthetic.main.fragment_inspect_list.*
class InspectListFragment : KotlinBaseFragment() {
private lateinit var weakReferenceHandler: WeakReferenceHandler
- private lateinit var adapter: InspectListAdapter
+ private lateinit var inspectListAdapter: InspectListAdapter
//本地数据库页码从0开始
private var pageIndex = 0
@@ -81,20 +80,16 @@
endTime = millsSeconds.timestampToDate()
endDateView.setText(endTime)
}
- .build().show(childFragmentManager, "startDate")
+ .build().show(childFragmentManager, "endDate")
}
//开始搜索
searchView.setOnClickListener {
keywords = inputTipsView.text.toString()
pageIndex = 0
- dataBeans =
- DataBaseManager.instance.queryInspectionByCondition(
- startTime,
- endTime,
- keywords,
- pageIndex
- )
+ dataBeans = DataBaseManager.instance.queryInspectionByCondition(
+ startTime, endTime, keywords, pageIndex
+ )
weakReferenceHandler.sendEmptyMessage(20210819)
}
@@ -102,21 +97,17 @@
isRefresh = true
//刷新之后页码重置
pageIndex = 0
- //延时1.5s加载
- object : CountDownTimer(1500, 500) {
+ object : CountDownTimer(1000, 500) {
override fun onTick(millisUntilFinished: Long) {
}
override fun onFinish() {
+ refreshLayout.finishRefresh()
dataBeans.clear()
dataBeans = DataBaseManager.instance.queryInspectionByCondition(
- startTime,
- endTime,
- keywords,
- pageIndex
+ startTime, endTime, keywords, pageIndex
)
- refreshLayout.finishRefresh()
isRefresh = false
weakReferenceHandler.sendEmptyMessage(20210819)
}
@@ -125,24 +116,20 @@
refreshLayout.setOnLoadMoreListener {
isLoadMore = true
pageIndex++
- //延时1.5s加载
- object : CountDownTimer(1500, 500) {
+ object : CountDownTimer(1000, 500) {
override fun onTick(millisUntilFinished: Long) {
}
override fun onFinish() {
+ refreshLayout.finishLoadMore()
val dataRows = DataBaseManager.instance.queryInspectionByCondition(
- startTime,
- endTime,
- keywords,
- pageIndex
+ startTime, endTime, keywords, pageIndex
)
if (dataRows.size == 0) {
"到底了,别拉了".show(requireContext())
}
dataBeans.addAll(dataRows)
- refreshLayout.finishLoadMore()
isLoadMore = false
weakReferenceHandler.sendEmptyMessage(20210819)
}
@@ -153,30 +140,26 @@
private val callback = Handler.Callback {
if (it.what == 20210819) {
if (isRefresh || isLoadMore) {
- adapter.notifyDataSetChanged()
+ inspectListAdapter.notifyDataSetChanged()
} else { //首次加载数据
if (dataBeans.size == 0) {
emptyView!!.showEmptyPage {
pageIndex = 0
dataBeans = DataBaseManager.instance.queryInspectionByCondition(
- startTime,
- endTime,
- keywords,
- pageIndex
+ startTime, endTime, keywords, pageIndex
)
weakReferenceHandler.sendEmptyMessage(20210819)
}
} else {
emptyView!!.hide()
- adapter = InspectListAdapter(requireContext(), dataBeans)
- inspectRecyclerView!!.layoutManager = LinearLayoutManager(requireContext())
- inspectRecyclerView!!.adapter = adapter
- adapter.setOnItemClickListener(object :
+ inspectListAdapter = InspectListAdapter(requireContext(), dataBeans)
+ inspectRecyclerView.adapter = inspectListAdapter
+ inspectListAdapter.setOnItemClickListener(object :
InspectListAdapter.OnItemClickListener {
override fun onClick(position: Int) {
- val intent = Intent(context, SingleInspectRouteActivity::class.java)
- intent.putExtra("id", dataBeans[position].id)
- startActivity(intent)
+ requireContext().navigatePageTo(
+ dataBeans[position].id.toString()
+ )
}
})
}
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 2b3c004..64b09c2 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -8,8 +8,11 @@
+
+
+
@@ -21,7 +24,7 @@
-
+
@@ -39,7 +42,7 @@
-
+
diff --git a/app/build.gradle b/app/build.gradle
index 0d7f214..0e2f815 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -19,9 +19,11 @@
applicationId "com.casic.birmm.inspect"
minSdkVersion 23
targetSdkVersion 31
- versionCode 1
- versionName "2.0.0"
- ndk { abiFilters "armeabi", "armeabi-v7a", "arm64-v8" }
+ versionCode 2
+ versionName "1.0.1"
+ ndk {
+ abiFilters "armeabi", "armeabi-v7a", "arm64-v8"
+ }
}
buildTypes {
diff --git a/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt b/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt
index 1d9e30e..d30ea59 100644
--- a/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt
@@ -1,53 +1,44 @@
package com.casic.birmm.inspect.adapter
-import android.annotation.SuppressLint
import android.content.Context
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
+import com.bumptech.glide.Glide
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.model.TaskRecordModel
+import com.casic.birmm.inspect.model.EventListModel
import com.qmuiteam.qmui.widget.QMUIRadiusImageView
-/**
- * 根据id获取事件列表
- * */
class EventListAdapter(
- context: Context,
- dataRows: List
+ private val context: Context,
+ private val dataRows: MutableList
) : RecyclerView.Adapter() {
- private val dataRows: List? = dataRows
- private var layoutInflater: LayoutInflater? = null
-
- init {
- layoutInflater = LayoutInflater.from(context)
- }
+ private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
- val view: View =
- layoutInflater!!.inflate(R.layout.item_inspect_rv, parent, false)
- return ItemViewHolder(view)
+ return ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_inspect_rv, parent, false)
+ )
}
- @SuppressLint("SetTextI18n")
override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
//绑定数据
- val rowsBean = dataRows?.get(position)!!
+ val rowsBean = dataRows[position]
+ val imageArray = rowsBean.images?.split(",")
+ Glide.with(context).load(imageArray?.get(0)).into(holder.inspectImageView)
holder.inspectMsgView.text = rowsBean.name
holder.inspectTypeView.text = String.format("类型:${rowsBean.type}")
holder.inspectDateView.text = String.format("上报时间:${rowsBean.createTime}")
//绑定事件
- if (listener != null) {
- holder.itemView.setOnClickListener {
- listener!!.onClick(position)
- }
+ holder.itemView.setOnClickListener {
+ listener?.onClick(position)
}
}
- override fun getItemCount(): Int = dataRows!!.size
+ override fun getItemCount(): Int = dataRows.size
class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
var inspectImageView: QMUIRadiusImageView = view.findViewById(R.id.inspectImageView)
@@ -63,6 +54,6 @@
}
fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
- listener = onClickListener
+ this.listener = onClickListener
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/adapter/EventSearchListAdapter.kt b/app/src/main/java/com/casic/birmm/inspect/adapter/EventSearchListAdapter.kt
deleted file mode 100644
index 2318e01..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/adapter/EventSearchListAdapter.kt
+++ /dev/null
@@ -1,62 +0,0 @@
-package com.casic.birmm.inspect.adapter
-
-import android.content.Context
-import android.view.LayoutInflater
-import android.view.View
-import android.view.ViewGroup
-import android.widget.TextView
-import androidx.recyclerview.widget.RecyclerView
-import com.bumptech.glide.Glide
-import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.model.EventListModel
-import com.qmuiteam.qmui.widget.QMUIRadiusImageView
-
-/**
- * 事件查询
- * */
-class EventSearchListAdapter(
- private val context: Context,
- private val dataRows: MutableList
-) : RecyclerView.Adapter() {
-
- private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
-
- override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
- return ItemViewHolder(
- layoutInflater.inflate(R.layout.item_inspect_rv, parent, false)
- )
- }
-
- override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
- //绑定数据
- val rowsBean = dataRows[position]
- val imageArray = rowsBean.images?.split(",")
- Glide.with(context).load(imageArray?.get(0)).into(holder.inspectImageView)
- holder.inspectMsgView.text = rowsBean.name
- holder.inspectTypeView.text = String.format("类型:${rowsBean.type}")
- holder.inspectDateView.text = String.format("上报时间:${rowsBean.createTime}")
- //绑定事件
- holder.itemView.setOnClickListener {
- listener?.onClick(position)
- }
- }
-
- override fun getItemCount(): Int = dataRows.size
-
- class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
- var inspectImageView: QMUIRadiusImageView = view.findViewById(R.id.inspectImageView)
- var inspectMsgView: TextView = view.findViewById(R.id.inspectMsgView)
- var inspectTypeView: TextView = view.findViewById(R.id.inspectTypeView)
- var inspectDateView: TextView = view.findViewById(R.id.inspectDateView)
- }
-
- private var listener: OnItemClickListener? = null
-
- interface OnItemClickListener {
- fun onClick(position: Int)
- }
-
- fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
- listener = onClickListener
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/adapter/InspectEventListAdapter.kt b/app/src/main/java/com/casic/birmm/inspect/adapter/InspectEventListAdapter.kt
new file mode 100644
index 0000000..a6c76f6
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/adapter/InspectEventListAdapter.kt
@@ -0,0 +1,55 @@
+package com.casic.birmm.inspect.adapter
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
+import com.casic.birmm.inspect.R
+import com.casic.birmm.inspect.model.TaskRecordModel
+import com.qmuiteam.qmui.widget.QMUIRadiusImageView
+
+class InspectEventListAdapter(
+ context: Context, private val dataRows: List
+) : RecyclerView.Adapter() {
+
+ private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
+
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
+ return ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_inspect_rv, parent, false)
+ )
+ }
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ //绑定数据
+ val rowsBean = dataRows[position]
+ holder.inspectMsgView.text = rowsBean.name
+ holder.inspectTypeView.text = String.format("类型:${rowsBean.type}")
+ holder.inspectDateView.text = String.format("上报时间:${rowsBean.createTime}")
+ //绑定事件
+ holder.itemView.setOnClickListener {
+ listener?.onClick(position)
+ }
+ }
+
+ override fun getItemCount(): Int = dataRows.size
+
+ class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
+ var inspectImageView: QMUIRadiusImageView = view.findViewById(R.id.inspectImageView)
+ var inspectMsgView: TextView = view.findViewById(R.id.inspectMsgView)
+ var inspectTypeView: TextView = view.findViewById(R.id.inspectTypeView)
+ var inspectDateView: TextView = view.findViewById(R.id.inspectDateView)
+ }
+
+ private var listener: OnItemClickListener? = null
+
+ interface OnItemClickListener {
+ fun onClick(position: Int)
+ }
+
+ fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
+ listener = onClickListener
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseSingleModeActivity.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseSingleModeActivity.kt
deleted file mode 100644
index b01a137..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/base/BaseSingleModeActivity.kt
+++ /dev/null
@@ -1,39 +0,0 @@
-package com.casic.birmm.inspect.base
-
-import android.os.Bundle
-import androidx.appcompat.app.AppCompatActivity
-import com.qmuiteam.qmui.util.QMUIStatusBarHelper
-
-/**
- * 单机模式页面的基础类
- * */
-abstract class BaseSingleModeActivity : AppCompatActivity() {
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- setContentView(initLayoutView())
- QMUIStatusBarHelper.translucent(this) //沉浸式状态栏
- setupTopBarLayout()
- initData(savedInstanceState)
- initEvent()
- }
-
- /**
- * 初始化xml布局
- */
- abstract fun initLayoutView(): Int
-
- /**
- * 特定页面定制沉浸式状态栏
- */
- protected abstract fun setupTopBarLayout()
-
- /**
- * 初始化默认数据
- */
- abstract fun initData(savedInstanceState: Bundle?)
-
- /**
- * 初始化业务逻辑
- */
- abstract fun initEvent()
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/base/KotlinMapBaseActivity.kt b/app/src/main/java/com/casic/birmm/inspect/base/KotlinMapBaseActivity.kt
new file mode 100644
index 0000000..8b33d26
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/base/KotlinMapBaseActivity.kt
@@ -0,0 +1,83 @@
+package com.casic.birmm.inspect.base
+
+import android.content.BroadcastReceiver
+import android.content.Context
+import android.content.Intent
+import android.net.ConnectivityManager
+import android.os.Bundle
+import android.provider.Settings
+import android.view.WindowManager
+import androidx.appcompat.app.AppCompatActivity
+import com.pengxh.kt.lite.extensions.isNetworkConnected
+import com.pengxh.kt.lite.utils.BroadcastManager
+import com.pengxh.kt.lite.utils.PageNavigationManager
+import com.pengxh.kt.lite.widget.dialog.NoNetworkDialog
+
+/**
+ * 单机模式页面的基础类
+ * */
+abstract class KotlinMapBaseActivity : AppCompatActivity() {
+
+ private lateinit var broadcastManager: BroadcastManager
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ setContentView(initLayoutView())
+ setupTopBarLayout()
+ initData(savedInstanceState)
+ initEvent()
+ PageNavigationManager.addActivity(this)
+ broadcastManager = BroadcastManager.obtainInstance(this)
+ broadcastManager.addAction(
+ object : BroadcastReceiver() {
+ override fun onReceive(context: Context?, intent: Intent?) {
+ if (!context!!.isNetworkConnected()) {
+ /**
+ * 捕获用户在有网情况下登录进入APP,后来又处于断网状态会导致闪退的Bug
+ * */
+ try {
+ NoNetworkDialog.Builder()
+ .setContext(this@KotlinMapBaseActivity)
+ .setOnDialogButtonClickListener(object :
+ NoNetworkDialog.OnDialogButtonClickListener {
+ override fun onButtonClick() {
+ startActivity(Intent(Settings.ACTION_DATA_ROAMING_SETTINGS))
+ }
+ }).build().show()
+ } catch (e: WindowManager.BadTokenException) {
+ e.printStackTrace()
+ }
+ }
+ }
+ }, ConnectivityManager.CONNECTIVITY_ACTION
+ )
+ }
+
+ /**
+ * 初始化xml布局
+ */
+ abstract fun initLayoutView(): Int
+
+ /**
+ * 特定页面定制沉浸式状态栏
+ */
+ abstract fun setupTopBarLayout()
+
+ /**
+ * 初始化默认数据
+ */
+ abstract fun initData(savedInstanceState: Bundle?)
+
+ /**
+ * 初始化业务逻辑
+ */
+ abstract fun initEvent()
+
+ /**
+ * 取消协程
+ * */
+ override fun onDestroy() {
+ broadcastManager.destroy(ConnectivityManager.CONNECTIVITY_ACTION)
+ super.onDestroy()
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt b/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt
index c1447af..12c92e6 100644
--- a/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt
@@ -17,4 +17,12 @@
}
}
return builder.toString()
+}
+
+fun addAll(vararg args: String): ArrayList {
+ val result = ArrayList()
+ args.forEach {
+ result.add(it)
+ }
+ return result
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
index 8e8821c..fed3a92 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
@@ -1,7 +1,8 @@
+package com.casic.birmm.inspect.utils.retrofit
+
import com.casic.birmm.inspect.model.*
import com.casic.birmm.inspect.utils.AuthenticationHelper
import com.casic.birmm.inspect.utils.LocaleConstant
-import com.casic.birmm.inspect.utils.retrofit.RetrofitService
import com.pengxh.kt.lite.utils.RetrofitFactory.createRetrofit
import com.pengxh.kt.lite.utils.SaveKeyValues
import okhttp3.MediaType.Companion.toMediaTypeOrNull
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt
index 4701c40..f2a84e5 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt
@@ -5,7 +5,7 @@
import androidx.lifecycle.Observer
import androidx.recyclerview.widget.LinearLayoutManager
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.adapter.EventListAdapter
+import com.casic.birmm.inspect.adapter.InspectEventListAdapter
import com.casic.birmm.inspect.base.BaseViewModelActivity
import com.casic.birmm.inspect.extensions.filterString
import com.casic.birmm.inspect.extensions.show
@@ -37,11 +37,11 @@
if (it.data!!.list!!.isEmpty()) {
"抱歉,无法查询到相关记录".show(this)
} else {
- val eventAdapter = EventListAdapter(this, it.data!!.list!!)
+ val eventAdapter = InspectEventListAdapter(this, it.data!!.list!!)
eventRecyclerView!!.layoutManager = LinearLayoutManager(this)
eventRecyclerView.adapter = eventAdapter
eventAdapter.setOnItemClickListener(object :
- EventListAdapter.OnItemClickListener {
+ InspectEventListAdapter.OnItemClickListener {
override fun onClick(position: Int) {
val intent =
Intent(this@EventListActivity, EventDetailActivity::class.java)
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt
index 944be37..ab3a2ac 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt
@@ -7,7 +7,7 @@
import androidx.lifecycle.Observer
import androidx.recyclerview.widget.LinearLayoutManager
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.adapter.EventSearchListAdapter
+import com.casic.birmm.inspect.adapter.EventListAdapter
import com.casic.birmm.inspect.base.BaseViewModelActivity
import com.casic.birmm.inspect.extensions.filterString
import com.casic.birmm.inspect.extensions.show
@@ -40,7 +40,7 @@
private var isLoadMore = false
private var dataBeans: MutableList = ArrayList()
private lateinit var weakReferenceHandler: WeakReferenceHandler
- private lateinit var adapter: EventSearchListAdapter
+ private lateinit var adapter: EventListAdapter
override fun createViewModelByClass(): Class =
EventQueryViewModel::class.java
@@ -172,11 +172,11 @@
emptyView!!.show("抱歉,无法查询到相关记录", null)
} else {
emptyView!!.hide()
- adapter = EventSearchListAdapter(this, dataBeans)
+ adapter = EventListAdapter(this, dataBeans)
eventRecyclerView!!.layoutManager = LinearLayoutManager(this)
eventRecyclerView!!.adapter = adapter
adapter.setOnItemClickListener(object :
- EventSearchListAdapter.OnItemClickListener {
+ EventListAdapter.OnItemClickListener {
override fun onClick(position: Int) {
val intent = Intent(context, EventDetailActivity::class.java)
val rowsBean = dataBeans[position]
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventDetailActivity.kt
index df2df2d..8510c31 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventDetailActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventDetailActivity.kt
@@ -9,6 +9,7 @@
import com.pengxh.kt.lite.base.KotlinBaseActivity
import com.pengxh.kt.lite.extensions.convertColor
import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.utils.Constant
import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import kotlinx.android.synthetic.main.activity_event_detail.*
import kotlinx.android.synthetic.main.include_base_title.*
@@ -28,26 +29,24 @@
}
override fun initData() {
- createTimeView.text = intent.getStringExtra("createTime")
- descriptionView.text = intent.getStringExtra("description")
- val data = intent.getIntExtra("data", -1)
- if (data == -1) {
- dataView.text = "0.0"
- } else {
- dataView.text = String.format("$data.0")
- }
- val images = intent.getStringExtra("images")
+ val conditions = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!!
+ createTimeView.text = conditions[0]
+ descriptionView.text = conditions[1]
+ val value = if (conditions[2].isBlank()) {
+ "0.0"
+ } else {
+ conditions[2] + ".0"
+ }
+ dataView.text = value
/**
* images: /storage/emulated/0/Android/data/com.casic.birmm.inspect/files/Pictures/IMG_CMP_167066503.jpeg,/storage/emulated/0/Android/data/com.casic.birmm.inspect/files/Pictures/IMG_CMP_49917670.jpeg,/storage/emulated/0/Android/data/com.casic.birmm.inspect/files/Pictures/IMG_CMP_1069640.jpeg
* */
val urls: ArrayList = ArrayList()
- if (images != null) {
- if (images.isNotEmpty()) {
- val imageArray = images.split(",")
- imageArray.forEach {
- urls.add(it)
- }
+ if (conditions[3].isNotEmpty()) {
+ val imageArray = conditions[3].split(",")
+ imageArray.forEach {
+ urls.add(it)
}
}
//绑定图片
@@ -55,7 +54,7 @@
imageAdapter.setImageList(urls)
imageGridView.adapter = imageAdapter
imageGridView.setOnItemClickListener { _, _, position, _ ->
- if (urls[position].isEmpty()) {
+ if (urls[position].isBlank()) {
"图片加载失败,无法查看大图".show(this@SingleEventDetailActivity)
} else {
navigatePageTo(position, urls)
@@ -64,6 +63,6 @@
}
override fun initEvent() {
- leftBackView.setOnClickListener { this.finish() }
+
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventListActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventListActivity.kt
index e67f0e6..31f0f48 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventListActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventListActivity.kt
@@ -1,18 +1,21 @@
package com.casic.birmm.inspect.view.single
-import android.content.Intent
-import androidx.recyclerview.widget.LinearLayoutManager
+import android.view.View
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.adapter.EventListAdapter
+import com.casic.birmm.inspect.adapter.InspectEventListAdapter
+import com.casic.birmm.inspect.extensions.addAll
import com.casic.birmm.inspect.extensions.filterString
import com.casic.birmm.inspect.extensions.show
import com.casic.birmm.inspect.utils.DataBaseManager
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.base.KotlinBaseActivity
import com.pengxh.kt.lite.extensions.convertColor
+import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.utils.Constant
import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import kotlinx.android.synthetic.main.activity_event_list.*
import kotlinx.android.synthetic.main.include_base_title.*
+import kotlinx.android.synthetic.main.include_base_title.view.*
class SingleEventListActivity : KotlinBaseActivity() {
@@ -22,41 +25,37 @@
ImmersionBar.with(this).statusBarDarkFont(false).init()
ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ leftBackView.leftBackView.visibility = View.VISIBLE
+ leftBackView.setOnClickListener { this.finish() }
titleView.text = "事件清单"
}
override fun initData() {
- val id = intent.getStringExtra("id")!!
+ val id = intent.getStringExtra(Constant.INTENT_PARAM)!!
val dataRows = DataBaseManager.instance.queryTaskByInspection(id)
if (dataRows.isEmpty()) {
"抱歉,无法查询到相关记录".show(this)
} else {
- val eventAdapter = EventListAdapter(this, dataRows)
- eventRecyclerView!!.layoutManager = LinearLayoutManager(this)
+ val eventAdapter = InspectEventListAdapter(this, dataRows)
eventRecyclerView.adapter = eventAdapter
eventAdapter.setOnItemClickListener(object :
- EventListAdapter.OnItemClickListener {
+ InspectEventListAdapter.OnItemClickListener {
override fun onClick(position: Int) {
- val intent =
- Intent(
- this@SingleEventListActivity,
- SingleEventDetailActivity::class.java
+ val rowsBean = dataRows[position]
+ navigatePageTo(
+ addAll(
+ rowsBean.createTime.toString(),
+ rowsBean.description!!.filterString(),
+ rowsBean.data.toString(),
+ rowsBean.images.toString()
)
- val listBean = dataRows[position]
- intent.putExtra("createTime", listBean.createTime)
- intent.putExtra(
- "description",
- listBean.description!!.filterString()
)
- intent.putExtra("data", listBean.data)
- intent.putExtra("images", listBean.images)
- startActivity(intent)
}
})
}
}
override fun initEvent() {
- leftBackView.setOnClickListener { this.finish() }
+
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt
index 4579987..3e3ed70 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt
@@ -1,9 +1,9 @@
package com.casic.birmm.inspect.view.single
-import android.content.Intent
import android.graphics.Color
import android.os.Bundle
import android.util.Log
+import android.view.View
import com.amap.api.maps.AMap
import com.amap.api.maps.AMapOptions
import com.amap.api.maps.CameraUpdateFactory
@@ -12,25 +12,23 @@
import com.amap.api.maps.model.MarkerOptions
import com.amap.api.maps.model.PolylineOptions
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.base.BaseSingleModeActivity
+import com.casic.birmm.inspect.base.KotlinMapBaseActivity
import com.casic.birmm.inspect.model.NewRouteModel
import com.casic.birmm.inspect.utils.DataBaseManager
import com.google.gson.Gson
import com.google.gson.reflect.TypeToken
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.extensions.convertColor
+import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.utils.Constant
import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
-import com.pengxh.kt.lite.utils.PageNavigationManager
import kotlinx.android.synthetic.main.activity_inspect_route.*
import kotlinx.android.synthetic.main.include_base_title.*
-class SingleInspectRouteActivity : BaseSingleModeActivity() {
+class SingleInspectRouteActivity : KotlinMapBaseActivity() {
- companion object {
- private const val Tag = "SingleModeInspectRoute"
- }
-
+ private val kTag = "SingleInspectRouteActivity"
private lateinit var aMap: AMap
private lateinit var id: String
@@ -40,11 +38,12 @@
ImmersionBar.with(this).statusBarDarkFont(false).init()
ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ leftBackView.visibility = View.VISIBLE
+ leftBackView.setOnClickListener { finish() }
titleView.text = "巡检记录(单机模式)"
}
override fun initData(savedInstanceState: Bundle?) {
- PageNavigationManager.addActivity(this)
mapView.onCreate(savedInstanceState)
aMap = mapView.map
val uiSettings = aMap.uiSettings
@@ -52,7 +51,7 @@
uiSettings.isRotateGesturesEnabled = false//不许地图随手势旋转角度
//根据id查询详情
- id = intent.getStringExtra("id")!!
+ id = intent.getStringExtra(Constant.INTENT_PARAM)!!
val detailData = DataBaseManager.instance.queryInspectDetailById(id)
inspectNameView.text = detailData.name
userNameView.text = detailData.user
@@ -61,10 +60,7 @@
//移动到巡检起始经纬度
aMap.moveCamera(
CameraUpdateFactory.changeLatLng(
- LatLng(
- detailData.startLat,
- detailData.startLng
- )
+ LatLng(detailData.startLat, detailData.startLng)
)
)
aMap.moveCamera(CameraUpdateFactory.zoomTo(16.toFloat()))
@@ -78,11 +74,11 @@
return
}
//[{"lat":39.917433,"lng":116.269525},{"lat":39.917433,"lng":116.269525}]
- Log.d(Tag, "路线: $routeJson")
+ Log.d(kTag, "路线: $routeJson")
val type = object : TypeToken>() {}.type
val routeModels = Gson().fromJson>(routeJson, type)
//画线
- val latLngPoints: ArrayList = ArrayList()
+ val latLngPoints = ArrayList()
routeModels.forEach { routeModel ->
latLngPoints.add(LatLng(routeModel.lat, routeModel.lng))
}
@@ -92,11 +88,8 @@
}
override fun initEvent() {
- leftBackView.setOnClickListener { this.finish() }
eventButton.setOnClickListener {
- val intent = Intent(this, SingleEventListActivity::class.java)
- intent.putExtra("id", id)
- startActivity(intent)
+ navigatePageTo(id)
}
}
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt
index 0960ebc..725c22b 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt
@@ -11,7 +11,7 @@
import com.casic.birmm.inspect.adapter.ViewPagerAdapter
import com.casic.birmm.inspect.extensions.show
import com.casic.birmm.inspect.view.single.fragment.InspectPageFragment
-import com.casic.birmm.inspect.view.single.fragment.LogPageFragment
+import com.casic.birmm.inspect.view.single.fragment.LogRecordPageFragment
import com.casic.birmm.inspect.view.single.fragment.SettingsPageFragment
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.base.KotlinBaseActivity
@@ -29,7 +29,7 @@
init {
fragmentPages.add(InspectPageFragment())
- fragmentPages.add(LogPageFragment())
+ fragmentPages.add(LogRecordPageFragment())
fragmentPages.add(SettingsPageFragment())
}
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt
index 420607a..da52201 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt
@@ -1,12 +1,11 @@
package com.casic.birmm.inspect.view.single.fragment
-import android.content.Intent
import android.os.CountDownTimer
import android.os.Handler
import androidx.core.content.ContextCompat
-import androidx.recyclerview.widget.LinearLayoutManager
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.adapter.EventSearchListAdapter
+import com.casic.birmm.inspect.adapter.EventListAdapter
+import com.casic.birmm.inspect.extensions.addAll
import com.casic.birmm.inspect.extensions.filterString
import com.casic.birmm.inspect.extensions.show
import com.casic.birmm.inspect.extensions.showEmptyPage
@@ -17,6 +16,7 @@
import com.jzxiang.pickerview.TimePickerDialog
import com.jzxiang.pickerview.data.Type
import com.pengxh.kt.lite.base.KotlinBaseFragment
+import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.timestampToDate
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import kotlinx.android.synthetic.main.activity_query_event.*
@@ -30,7 +30,7 @@
class EventListFragment : KotlinBaseFragment() {
private lateinit var weakReferenceHandler: WeakReferenceHandler
- private lateinit var adapter: EventSearchListAdapter
+ private lateinit var eventListAdapter: EventListAdapter
//本地数据库页码从0开始
private var pageIndex = 0
@@ -87,20 +87,16 @@
endTime = millsSeconds.timestampToDate()
endDateView.setText(endTime)
}
- .build().show(childFragmentManager, "startDate")
+ .build().show(childFragmentManager, "endDate")
}
searchView.setOnClickListener {
keywords = inputTipsView.text.toString()
//查询都从第一页开始查
pageIndex = 0
- dataBeans =
- DataBaseManager.instance.queryEventByCondition(
- startTime,
- endTime,
- keywords,
- pageIndex
- )
+ dataBeans = DataBaseManager.instance.queryEventByCondition(
+ startTime, endTime, keywords, pageIndex
+ )
weakReferenceHandler.sendEmptyMessage(20210820)
}
@@ -108,45 +104,39 @@
isRefresh = true
//刷新之后页码重置
pageIndex = 0
- object : CountDownTimer(1500, 500) {
+ object : CountDownTimer(1000, 500) {
override fun onTick(millisUntilFinished: Long) {
}
override fun onFinish() {
+ refreshLayout.finishRefresh()
dataBeans.clear()
dataBeans = DataBaseManager.instance.queryEventByCondition(
- startTime,
- endTime,
- keywords,
- pageIndex
+ startTime, endTime, keywords, pageIndex
)
- refreshLayout.finishRefresh()
isRefresh = false
- weakReferenceHandler.sendEmptyMessage(20210819)
+ weakReferenceHandler.sendEmptyMessage(20210820)
}
}.start()
}
refreshLayout.setOnLoadMoreListener {
isLoadMore = true
pageIndex++
- object : CountDownTimer(1500, 500) {
+ object : CountDownTimer(1000, 500) {
override fun onTick(millisUntilFinished: Long) {
}
override fun onFinish() {
+ refreshLayout.finishLoadMore()
val dataRows = DataBaseManager.instance.queryEventByCondition(
- startTime,
- endTime,
- keywords,
- pageIndex
+ startTime, endTime, keywords, pageIndex
)
if (dataRows.size == 0) {
"到底了,别拉了".show(requireContext())
}
dataBeans.addAll(dataRows)
- refreshLayout.finishLoadMore()
isLoadMore = false
weakReferenceHandler.sendEmptyMessage(20210820)
}
@@ -154,46 +144,35 @@
}
}
- private fun obtainEventList() {
-
- }
-
private val callback = Handler.Callback {
if (it.what == 20210820) {
if (isRefresh || isLoadMore) {
- adapter.notifyDataSetChanged()
+ eventListAdapter.notifyDataSetChanged()
} else { //首次加载数据
if (dataBeans.size == 0) {
emptyView!!.showEmptyPage {
pageIndex = 0
- dataBeans =
- DataBaseManager.instance.queryEventByCondition(
- startTime,
- endTime,
- keywords,
- pageIndex
- )
+ dataBeans = DataBaseManager.instance.queryEventByCondition(
+ startTime, endTime, keywords, pageIndex
+ )
weakReferenceHandler.sendEmptyMessage(20210820)
}
} else {
emptyView!!.hide()
- adapter = EventSearchListAdapter(requireContext(), dataBeans)
- eventRecyclerView!!.layoutManager = LinearLayoutManager(requireContext())
- eventRecyclerView!!.adapter = adapter
- adapter.setOnItemClickListener(object :
- EventSearchListAdapter.OnItemClickListener {
+ eventListAdapter = EventListAdapter(requireContext(), dataBeans)
+ eventRecyclerView.adapter = eventListAdapter
+ eventListAdapter.setOnItemClickListener(object :
+ EventListAdapter.OnItemClickListener {
override fun onClick(position: Int) {
- val intent = Intent(
- requireContext(), SingleEventDetailActivity::class.java
- )
val rowsBean = dataBeans[position]
- intent.putExtra("createTime", rowsBean.createTime)
- intent.putExtra(
- "description", rowsBean.description!!.filterString()
+ requireContext().navigatePageTo(
+ addAll(
+ rowsBean.createTime.toString(),
+ rowsBean.description!!.filterString(),
+ rowsBean.data.toString(),
+ rowsBean.images.toString()
+ )
)
- intent.putExtra("data", rowsBean.data)
- intent.putExtra("images", rowsBean.images)
- startActivity(intent)
}
})
}
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt
index 419c50c..615c394 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt
@@ -1,10 +1,8 @@
package com.casic.birmm.inspect.view.single.fragment
-import android.content.Intent
import android.os.CountDownTimer
import android.os.Handler
import androidx.core.content.ContextCompat
-import androidx.recyclerview.widget.LinearLayoutManager
import com.casic.birmm.inspect.R
import com.casic.birmm.inspect.adapter.InspectListAdapter
import com.casic.birmm.inspect.extensions.show
@@ -16,14 +14,15 @@
import com.jzxiang.pickerview.TimePickerDialog
import com.jzxiang.pickerview.data.Type
import com.pengxh.kt.lite.base.KotlinBaseFragment
+import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.timestampToDate
import com.pengxh.kt.lite.utils.WeakReferenceHandler
-import kotlinx.android.synthetic.main.activity_query_inspect.*
+import kotlinx.android.synthetic.main.fragment_inspect_list.*
class InspectListFragment : KotlinBaseFragment() {
private lateinit var weakReferenceHandler: WeakReferenceHandler
- private lateinit var adapter: InspectListAdapter
+ private lateinit var inspectListAdapter: InspectListAdapter
//本地数据库页码从0开始
private var pageIndex = 0
@@ -81,20 +80,16 @@
endTime = millsSeconds.timestampToDate()
endDateView.setText(endTime)
}
- .build().show(childFragmentManager, "startDate")
+ .build().show(childFragmentManager, "endDate")
}
//开始搜索
searchView.setOnClickListener {
keywords = inputTipsView.text.toString()
pageIndex = 0
- dataBeans =
- DataBaseManager.instance.queryInspectionByCondition(
- startTime,
- endTime,
- keywords,
- pageIndex
- )
+ dataBeans = DataBaseManager.instance.queryInspectionByCondition(
+ startTime, endTime, keywords, pageIndex
+ )
weakReferenceHandler.sendEmptyMessage(20210819)
}
@@ -102,21 +97,17 @@
isRefresh = true
//刷新之后页码重置
pageIndex = 0
- //延时1.5s加载
- object : CountDownTimer(1500, 500) {
+ object : CountDownTimer(1000, 500) {
override fun onTick(millisUntilFinished: Long) {
}
override fun onFinish() {
+ refreshLayout.finishRefresh()
dataBeans.clear()
dataBeans = DataBaseManager.instance.queryInspectionByCondition(
- startTime,
- endTime,
- keywords,
- pageIndex
+ startTime, endTime, keywords, pageIndex
)
- refreshLayout.finishRefresh()
isRefresh = false
weakReferenceHandler.sendEmptyMessage(20210819)
}
@@ -125,24 +116,20 @@
refreshLayout.setOnLoadMoreListener {
isLoadMore = true
pageIndex++
- //延时1.5s加载
- object : CountDownTimer(1500, 500) {
+ object : CountDownTimer(1000, 500) {
override fun onTick(millisUntilFinished: Long) {
}
override fun onFinish() {
+ refreshLayout.finishLoadMore()
val dataRows = DataBaseManager.instance.queryInspectionByCondition(
- startTime,
- endTime,
- keywords,
- pageIndex
+ startTime, endTime, keywords, pageIndex
)
if (dataRows.size == 0) {
"到底了,别拉了".show(requireContext())
}
dataBeans.addAll(dataRows)
- refreshLayout.finishLoadMore()
isLoadMore = false
weakReferenceHandler.sendEmptyMessage(20210819)
}
@@ -153,30 +140,26 @@
private val callback = Handler.Callback {
if (it.what == 20210819) {
if (isRefresh || isLoadMore) {
- adapter.notifyDataSetChanged()
+ inspectListAdapter.notifyDataSetChanged()
} else { //首次加载数据
if (dataBeans.size == 0) {
emptyView!!.showEmptyPage {
pageIndex = 0
dataBeans = DataBaseManager.instance.queryInspectionByCondition(
- startTime,
- endTime,
- keywords,
- pageIndex
+ startTime, endTime, keywords, pageIndex
)
weakReferenceHandler.sendEmptyMessage(20210819)
}
} else {
emptyView!!.hide()
- adapter = InspectListAdapter(requireContext(), dataBeans)
- inspectRecyclerView!!.layoutManager = LinearLayoutManager(requireContext())
- inspectRecyclerView!!.adapter = adapter
- adapter.setOnItemClickListener(object :
+ inspectListAdapter = InspectListAdapter(requireContext(), dataBeans)
+ inspectRecyclerView.adapter = inspectListAdapter
+ inspectListAdapter.setOnItemClickListener(object :
InspectListAdapter.OnItemClickListener {
override fun onClick(position: Int) {
- val intent = Intent(context, SingleInspectRouteActivity::class.java)
- intent.putExtra("id", dataBeans[position].id)
- startActivity(intent)
+ requireContext().navigatePageTo(
+ dataBeans[position].id.toString()
+ )
}
})
}
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectPageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectPageFragment.kt
index 7ff8d13..3a8062d 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectPageFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectPageFragment.kt
@@ -40,6 +40,7 @@
import com.pengxh.kt.lite.widget.dialog.BottomActionSheet
import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet
import kotlinx.android.synthetic.main.fragment_single_inspect.view.*
+import kotlinx.android.synthetic.main.include_base_title.view.*
class InspectPageFragment : Fragment() {
@@ -60,15 +61,26 @@
private var isBluetoothOn = true
private var curConnectState = false
private var alarmCount = 0
- private var blueToothBeans: MutableList = ArrayList()//搜索展示列表
+ private var blueToothBeans = ArrayList()//搜索展示列表
private var currentDevice: BluetoothDevice? = null// 当前蓝牙设备
private var isGeneratingTask = false
- private var routeList: MutableList = ArrayList()//路线点集和
+ private var routeList = ArrayList()//路线点集和
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?
): View {
inspectView = inflater.inflate(R.layout.fragment_single_inspect, container, false)
+ inspectView.rightImageView.visibility = View.VISIBLE
+ inspectView.rightImageView.setOnClickListener {
+ val isCompleted = SaveKeyValues.getValue(
+ LocaleConstant.INSPECTION_COMPLETED, true
+ ) as Boolean
+ if (!isCompleted) {
+ "巡检任务未结束,请先结束之前的任务".show(requireContext())
+ return@setOnClickListener
+ }
+ createNewInspection()
+ }
vibrator = requireContext().getSystemService(Context.VIBRATOR_SERVICE) as Vibrator
weakReferenceHandler = WeakReferenceHandler(callback)
@@ -205,36 +217,42 @@
}
}
+ private fun createNewInspection() {
+ AlertInputDialog.Builder().setContext(requireContext()).setTitle("请输入巡检标签")
+ .setHintMessage("如:xxx区间巡检").setNegativeButton("放弃").setPositiveButton("开始巡检")
+ .setOnDialogButtonClickListener(object :
+ AlertInputDialog.OnDialogButtonClickListener {
+ override fun onConfirmClick(value: String) {
+ val currentTimeMillis = System.currentTimeMillis()
+ val completeDate = currentTimeMillis.timestampToCompleteDate()
+
+ model = NewInspectionModel(
+ currentTimeMillis.id(), value, completeDate,
+ "", currentTimeMillis.timestampToDate(),
+ 0.0, 0.0, 0.0, 0.0,
+ "", resources.getString(R.string.app_name)
+ )
+ startInspection()
+ }
+
+ override fun onCancelClick() {
+
+ }
+ })
+ .build().show()
+ }
+
private fun selectInspectMode() {
- val isCompleted =
- SaveKeyValues.getValue(LocaleConstant.INSPECTION_COMPLETED, true) as Boolean
+ val isCompleted = SaveKeyValues.getValue(
+ LocaleConstant.INSPECTION_COMPLETED, true
+ ) as Boolean
if (isCompleted) {
- AlertInputDialog.Builder().setContext(requireContext()).setTitle("请输入巡检标签")
- .setHintMessage("如:xxx区间巡检").setNegativeButton("放弃").setPositiveButton("开始巡检")
- .setOnDialogButtonClickListener(object :
- AlertInputDialog.OnDialogButtonClickListener {
- override fun onConfirmClick(value: String) {
- val currentTimeMillis = System.currentTimeMillis()
- val completeDate = currentTimeMillis.timestampToCompleteDate()
-
- model = NewInspectionModel(
- currentTimeMillis.id(), value, completeDate,
- "", currentTimeMillis.timestampToDate(),
- 0.0, 0.0, 0.0, 0.0,
- "", resources.getString(R.string.app_name)
- )
- startInspection()
- }
-
- override fun onCancelClick() {
-
- }
- })
- .build().show()
+ createNewInspection()
} else {
- val currentInspection =
- SaveKeyValues.getValue(LocaleConstant.INSPECTION_OBJECT, "") as String
- if (currentInspection == "") {
+ val currentInspection = SaveKeyValues.getValue(
+ LocaleConstant.INSPECTION_OBJECT, ""
+ ) as String
+ if (currentInspection.isBlank()) {
AlertControlDialog.Builder()
.setContext(requireContext())
.setTitle("提示")
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 2b3c004..64b09c2 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -8,8 +8,11 @@
+
+
+
@@ -21,7 +24,7 @@
-
+
@@ -39,7 +42,7 @@
-
+
diff --git a/app/build.gradle b/app/build.gradle
index 0d7f214..0e2f815 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -19,9 +19,11 @@
applicationId "com.casic.birmm.inspect"
minSdkVersion 23
targetSdkVersion 31
- versionCode 1
- versionName "2.0.0"
- ndk { abiFilters "armeabi", "armeabi-v7a", "arm64-v8" }
+ versionCode 2
+ versionName "1.0.1"
+ ndk {
+ abiFilters "armeabi", "armeabi-v7a", "arm64-v8"
+ }
}
buildTypes {
diff --git a/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt b/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt
index 1d9e30e..d30ea59 100644
--- a/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt
@@ -1,53 +1,44 @@
package com.casic.birmm.inspect.adapter
-import android.annotation.SuppressLint
import android.content.Context
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
+import com.bumptech.glide.Glide
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.model.TaskRecordModel
+import com.casic.birmm.inspect.model.EventListModel
import com.qmuiteam.qmui.widget.QMUIRadiusImageView
-/**
- * 根据id获取事件列表
- * */
class EventListAdapter(
- context: Context,
- dataRows: List
+ private val context: Context,
+ private val dataRows: MutableList
) : RecyclerView.Adapter() {
- private val dataRows: List? = dataRows
- private var layoutInflater: LayoutInflater? = null
-
- init {
- layoutInflater = LayoutInflater.from(context)
- }
+ private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
- val view: View =
- layoutInflater!!.inflate(R.layout.item_inspect_rv, parent, false)
- return ItemViewHolder(view)
+ return ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_inspect_rv, parent, false)
+ )
}
- @SuppressLint("SetTextI18n")
override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
//绑定数据
- val rowsBean = dataRows?.get(position)!!
+ val rowsBean = dataRows[position]
+ val imageArray = rowsBean.images?.split(",")
+ Glide.with(context).load(imageArray?.get(0)).into(holder.inspectImageView)
holder.inspectMsgView.text = rowsBean.name
holder.inspectTypeView.text = String.format("类型:${rowsBean.type}")
holder.inspectDateView.text = String.format("上报时间:${rowsBean.createTime}")
//绑定事件
- if (listener != null) {
- holder.itemView.setOnClickListener {
- listener!!.onClick(position)
- }
+ holder.itemView.setOnClickListener {
+ listener?.onClick(position)
}
}
- override fun getItemCount(): Int = dataRows!!.size
+ override fun getItemCount(): Int = dataRows.size
class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
var inspectImageView: QMUIRadiusImageView = view.findViewById(R.id.inspectImageView)
@@ -63,6 +54,6 @@
}
fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
- listener = onClickListener
+ this.listener = onClickListener
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/adapter/EventSearchListAdapter.kt b/app/src/main/java/com/casic/birmm/inspect/adapter/EventSearchListAdapter.kt
deleted file mode 100644
index 2318e01..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/adapter/EventSearchListAdapter.kt
+++ /dev/null
@@ -1,62 +0,0 @@
-package com.casic.birmm.inspect.adapter
-
-import android.content.Context
-import android.view.LayoutInflater
-import android.view.View
-import android.view.ViewGroup
-import android.widget.TextView
-import androidx.recyclerview.widget.RecyclerView
-import com.bumptech.glide.Glide
-import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.model.EventListModel
-import com.qmuiteam.qmui.widget.QMUIRadiusImageView
-
-/**
- * 事件查询
- * */
-class EventSearchListAdapter(
- private val context: Context,
- private val dataRows: MutableList
-) : RecyclerView.Adapter() {
-
- private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
-
- override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
- return ItemViewHolder(
- layoutInflater.inflate(R.layout.item_inspect_rv, parent, false)
- )
- }
-
- override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
- //绑定数据
- val rowsBean = dataRows[position]
- val imageArray = rowsBean.images?.split(",")
- Glide.with(context).load(imageArray?.get(0)).into(holder.inspectImageView)
- holder.inspectMsgView.text = rowsBean.name
- holder.inspectTypeView.text = String.format("类型:${rowsBean.type}")
- holder.inspectDateView.text = String.format("上报时间:${rowsBean.createTime}")
- //绑定事件
- holder.itemView.setOnClickListener {
- listener?.onClick(position)
- }
- }
-
- override fun getItemCount(): Int = dataRows.size
-
- class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
- var inspectImageView: QMUIRadiusImageView = view.findViewById(R.id.inspectImageView)
- var inspectMsgView: TextView = view.findViewById(R.id.inspectMsgView)
- var inspectTypeView: TextView = view.findViewById(R.id.inspectTypeView)
- var inspectDateView: TextView = view.findViewById(R.id.inspectDateView)
- }
-
- private var listener: OnItemClickListener? = null
-
- interface OnItemClickListener {
- fun onClick(position: Int)
- }
-
- fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
- listener = onClickListener
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/adapter/InspectEventListAdapter.kt b/app/src/main/java/com/casic/birmm/inspect/adapter/InspectEventListAdapter.kt
new file mode 100644
index 0000000..a6c76f6
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/adapter/InspectEventListAdapter.kt
@@ -0,0 +1,55 @@
+package com.casic.birmm.inspect.adapter
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
+import com.casic.birmm.inspect.R
+import com.casic.birmm.inspect.model.TaskRecordModel
+import com.qmuiteam.qmui.widget.QMUIRadiusImageView
+
+class InspectEventListAdapter(
+ context: Context, private val dataRows: List
+) : RecyclerView.Adapter() {
+
+ private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
+
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
+ return ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_inspect_rv, parent, false)
+ )
+ }
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ //绑定数据
+ val rowsBean = dataRows[position]
+ holder.inspectMsgView.text = rowsBean.name
+ holder.inspectTypeView.text = String.format("类型:${rowsBean.type}")
+ holder.inspectDateView.text = String.format("上报时间:${rowsBean.createTime}")
+ //绑定事件
+ holder.itemView.setOnClickListener {
+ listener?.onClick(position)
+ }
+ }
+
+ override fun getItemCount(): Int = dataRows.size
+
+ class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
+ var inspectImageView: QMUIRadiusImageView = view.findViewById(R.id.inspectImageView)
+ var inspectMsgView: TextView = view.findViewById(R.id.inspectMsgView)
+ var inspectTypeView: TextView = view.findViewById(R.id.inspectTypeView)
+ var inspectDateView: TextView = view.findViewById(R.id.inspectDateView)
+ }
+
+ private var listener: OnItemClickListener? = null
+
+ interface OnItemClickListener {
+ fun onClick(position: Int)
+ }
+
+ fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
+ listener = onClickListener
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseSingleModeActivity.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseSingleModeActivity.kt
deleted file mode 100644
index b01a137..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/base/BaseSingleModeActivity.kt
+++ /dev/null
@@ -1,39 +0,0 @@
-package com.casic.birmm.inspect.base
-
-import android.os.Bundle
-import androidx.appcompat.app.AppCompatActivity
-import com.qmuiteam.qmui.util.QMUIStatusBarHelper
-
-/**
- * 单机模式页面的基础类
- * */
-abstract class BaseSingleModeActivity : AppCompatActivity() {
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- setContentView(initLayoutView())
- QMUIStatusBarHelper.translucent(this) //沉浸式状态栏
- setupTopBarLayout()
- initData(savedInstanceState)
- initEvent()
- }
-
- /**
- * 初始化xml布局
- */
- abstract fun initLayoutView(): Int
-
- /**
- * 特定页面定制沉浸式状态栏
- */
- protected abstract fun setupTopBarLayout()
-
- /**
- * 初始化默认数据
- */
- abstract fun initData(savedInstanceState: Bundle?)
-
- /**
- * 初始化业务逻辑
- */
- abstract fun initEvent()
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/base/KotlinMapBaseActivity.kt b/app/src/main/java/com/casic/birmm/inspect/base/KotlinMapBaseActivity.kt
new file mode 100644
index 0000000..8b33d26
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/base/KotlinMapBaseActivity.kt
@@ -0,0 +1,83 @@
+package com.casic.birmm.inspect.base
+
+import android.content.BroadcastReceiver
+import android.content.Context
+import android.content.Intent
+import android.net.ConnectivityManager
+import android.os.Bundle
+import android.provider.Settings
+import android.view.WindowManager
+import androidx.appcompat.app.AppCompatActivity
+import com.pengxh.kt.lite.extensions.isNetworkConnected
+import com.pengxh.kt.lite.utils.BroadcastManager
+import com.pengxh.kt.lite.utils.PageNavigationManager
+import com.pengxh.kt.lite.widget.dialog.NoNetworkDialog
+
+/**
+ * 单机模式页面的基础类
+ * */
+abstract class KotlinMapBaseActivity : AppCompatActivity() {
+
+ private lateinit var broadcastManager: BroadcastManager
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ setContentView(initLayoutView())
+ setupTopBarLayout()
+ initData(savedInstanceState)
+ initEvent()
+ PageNavigationManager.addActivity(this)
+ broadcastManager = BroadcastManager.obtainInstance(this)
+ broadcastManager.addAction(
+ object : BroadcastReceiver() {
+ override fun onReceive(context: Context?, intent: Intent?) {
+ if (!context!!.isNetworkConnected()) {
+ /**
+ * 捕获用户在有网情况下登录进入APP,后来又处于断网状态会导致闪退的Bug
+ * */
+ try {
+ NoNetworkDialog.Builder()
+ .setContext(this@KotlinMapBaseActivity)
+ .setOnDialogButtonClickListener(object :
+ NoNetworkDialog.OnDialogButtonClickListener {
+ override fun onButtonClick() {
+ startActivity(Intent(Settings.ACTION_DATA_ROAMING_SETTINGS))
+ }
+ }).build().show()
+ } catch (e: WindowManager.BadTokenException) {
+ e.printStackTrace()
+ }
+ }
+ }
+ }, ConnectivityManager.CONNECTIVITY_ACTION
+ )
+ }
+
+ /**
+ * 初始化xml布局
+ */
+ abstract fun initLayoutView(): Int
+
+ /**
+ * 特定页面定制沉浸式状态栏
+ */
+ abstract fun setupTopBarLayout()
+
+ /**
+ * 初始化默认数据
+ */
+ abstract fun initData(savedInstanceState: Bundle?)
+
+ /**
+ * 初始化业务逻辑
+ */
+ abstract fun initEvent()
+
+ /**
+ * 取消协程
+ * */
+ override fun onDestroy() {
+ broadcastManager.destroy(ConnectivityManager.CONNECTIVITY_ACTION)
+ super.onDestroy()
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt b/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt
index c1447af..12c92e6 100644
--- a/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt
@@ -17,4 +17,12 @@
}
}
return builder.toString()
+}
+
+fun addAll(vararg args: String): ArrayList {
+ val result = ArrayList()
+ args.forEach {
+ result.add(it)
+ }
+ return result
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
index 8e8821c..fed3a92 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
@@ -1,7 +1,8 @@
+package com.casic.birmm.inspect.utils.retrofit
+
import com.casic.birmm.inspect.model.*
import com.casic.birmm.inspect.utils.AuthenticationHelper
import com.casic.birmm.inspect.utils.LocaleConstant
-import com.casic.birmm.inspect.utils.retrofit.RetrofitService
import com.pengxh.kt.lite.utils.RetrofitFactory.createRetrofit
import com.pengxh.kt.lite.utils.SaveKeyValues
import okhttp3.MediaType.Companion.toMediaTypeOrNull
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt
index 4701c40..f2a84e5 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt
@@ -5,7 +5,7 @@
import androidx.lifecycle.Observer
import androidx.recyclerview.widget.LinearLayoutManager
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.adapter.EventListAdapter
+import com.casic.birmm.inspect.adapter.InspectEventListAdapter
import com.casic.birmm.inspect.base.BaseViewModelActivity
import com.casic.birmm.inspect.extensions.filterString
import com.casic.birmm.inspect.extensions.show
@@ -37,11 +37,11 @@
if (it.data!!.list!!.isEmpty()) {
"抱歉,无法查询到相关记录".show(this)
} else {
- val eventAdapter = EventListAdapter(this, it.data!!.list!!)
+ val eventAdapter = InspectEventListAdapter(this, it.data!!.list!!)
eventRecyclerView!!.layoutManager = LinearLayoutManager(this)
eventRecyclerView.adapter = eventAdapter
eventAdapter.setOnItemClickListener(object :
- EventListAdapter.OnItemClickListener {
+ InspectEventListAdapter.OnItemClickListener {
override fun onClick(position: Int) {
val intent =
Intent(this@EventListActivity, EventDetailActivity::class.java)
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt
index 944be37..ab3a2ac 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt
@@ -7,7 +7,7 @@
import androidx.lifecycle.Observer
import androidx.recyclerview.widget.LinearLayoutManager
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.adapter.EventSearchListAdapter
+import com.casic.birmm.inspect.adapter.EventListAdapter
import com.casic.birmm.inspect.base.BaseViewModelActivity
import com.casic.birmm.inspect.extensions.filterString
import com.casic.birmm.inspect.extensions.show
@@ -40,7 +40,7 @@
private var isLoadMore = false
private var dataBeans: MutableList = ArrayList()
private lateinit var weakReferenceHandler: WeakReferenceHandler
- private lateinit var adapter: EventSearchListAdapter
+ private lateinit var adapter: EventListAdapter
override fun createViewModelByClass(): Class =
EventQueryViewModel::class.java
@@ -172,11 +172,11 @@
emptyView!!.show("抱歉,无法查询到相关记录", null)
} else {
emptyView!!.hide()
- adapter = EventSearchListAdapter(this, dataBeans)
+ adapter = EventListAdapter(this, dataBeans)
eventRecyclerView!!.layoutManager = LinearLayoutManager(this)
eventRecyclerView!!.adapter = adapter
adapter.setOnItemClickListener(object :
- EventSearchListAdapter.OnItemClickListener {
+ EventListAdapter.OnItemClickListener {
override fun onClick(position: Int) {
val intent = Intent(context, EventDetailActivity::class.java)
val rowsBean = dataBeans[position]
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventDetailActivity.kt
index df2df2d..8510c31 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventDetailActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventDetailActivity.kt
@@ -9,6 +9,7 @@
import com.pengxh.kt.lite.base.KotlinBaseActivity
import com.pengxh.kt.lite.extensions.convertColor
import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.utils.Constant
import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import kotlinx.android.synthetic.main.activity_event_detail.*
import kotlinx.android.synthetic.main.include_base_title.*
@@ -28,26 +29,24 @@
}
override fun initData() {
- createTimeView.text = intent.getStringExtra("createTime")
- descriptionView.text = intent.getStringExtra("description")
- val data = intent.getIntExtra("data", -1)
- if (data == -1) {
- dataView.text = "0.0"
- } else {
- dataView.text = String.format("$data.0")
- }
- val images = intent.getStringExtra("images")
+ val conditions = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!!
+ createTimeView.text = conditions[0]
+ descriptionView.text = conditions[1]
+ val value = if (conditions[2].isBlank()) {
+ "0.0"
+ } else {
+ conditions[2] + ".0"
+ }
+ dataView.text = value
/**
* images: /storage/emulated/0/Android/data/com.casic.birmm.inspect/files/Pictures/IMG_CMP_167066503.jpeg,/storage/emulated/0/Android/data/com.casic.birmm.inspect/files/Pictures/IMG_CMP_49917670.jpeg,/storage/emulated/0/Android/data/com.casic.birmm.inspect/files/Pictures/IMG_CMP_1069640.jpeg
* */
val urls: ArrayList = ArrayList()
- if (images != null) {
- if (images.isNotEmpty()) {
- val imageArray = images.split(",")
- imageArray.forEach {
- urls.add(it)
- }
+ if (conditions[3].isNotEmpty()) {
+ val imageArray = conditions[3].split(",")
+ imageArray.forEach {
+ urls.add(it)
}
}
//绑定图片
@@ -55,7 +54,7 @@
imageAdapter.setImageList(urls)
imageGridView.adapter = imageAdapter
imageGridView.setOnItemClickListener { _, _, position, _ ->
- if (urls[position].isEmpty()) {
+ if (urls[position].isBlank()) {
"图片加载失败,无法查看大图".show(this@SingleEventDetailActivity)
} else {
navigatePageTo(position, urls)
@@ -64,6 +63,6 @@
}
override fun initEvent() {
- leftBackView.setOnClickListener { this.finish() }
+
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventListActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventListActivity.kt
index e67f0e6..31f0f48 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventListActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventListActivity.kt
@@ -1,18 +1,21 @@
package com.casic.birmm.inspect.view.single
-import android.content.Intent
-import androidx.recyclerview.widget.LinearLayoutManager
+import android.view.View
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.adapter.EventListAdapter
+import com.casic.birmm.inspect.adapter.InspectEventListAdapter
+import com.casic.birmm.inspect.extensions.addAll
import com.casic.birmm.inspect.extensions.filterString
import com.casic.birmm.inspect.extensions.show
import com.casic.birmm.inspect.utils.DataBaseManager
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.base.KotlinBaseActivity
import com.pengxh.kt.lite.extensions.convertColor
+import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.utils.Constant
import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import kotlinx.android.synthetic.main.activity_event_list.*
import kotlinx.android.synthetic.main.include_base_title.*
+import kotlinx.android.synthetic.main.include_base_title.view.*
class SingleEventListActivity : KotlinBaseActivity() {
@@ -22,41 +25,37 @@
ImmersionBar.with(this).statusBarDarkFont(false).init()
ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ leftBackView.leftBackView.visibility = View.VISIBLE
+ leftBackView.setOnClickListener { this.finish() }
titleView.text = "事件清单"
}
override fun initData() {
- val id = intent.getStringExtra("id")!!
+ val id = intent.getStringExtra(Constant.INTENT_PARAM)!!
val dataRows = DataBaseManager.instance.queryTaskByInspection(id)
if (dataRows.isEmpty()) {
"抱歉,无法查询到相关记录".show(this)
} else {
- val eventAdapter = EventListAdapter(this, dataRows)
- eventRecyclerView!!.layoutManager = LinearLayoutManager(this)
+ val eventAdapter = InspectEventListAdapter(this, dataRows)
eventRecyclerView.adapter = eventAdapter
eventAdapter.setOnItemClickListener(object :
- EventListAdapter.OnItemClickListener {
+ InspectEventListAdapter.OnItemClickListener {
override fun onClick(position: Int) {
- val intent =
- Intent(
- this@SingleEventListActivity,
- SingleEventDetailActivity::class.java
+ val rowsBean = dataRows[position]
+ navigatePageTo(
+ addAll(
+ rowsBean.createTime.toString(),
+ rowsBean.description!!.filterString(),
+ rowsBean.data.toString(),
+ rowsBean.images.toString()
)
- val listBean = dataRows[position]
- intent.putExtra("createTime", listBean.createTime)
- intent.putExtra(
- "description",
- listBean.description!!.filterString()
)
- intent.putExtra("data", listBean.data)
- intent.putExtra("images", listBean.images)
- startActivity(intent)
}
})
}
}
override fun initEvent() {
- leftBackView.setOnClickListener { this.finish() }
+
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt
index 4579987..3e3ed70 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleInspectRouteActivity.kt
@@ -1,9 +1,9 @@
package com.casic.birmm.inspect.view.single
-import android.content.Intent
import android.graphics.Color
import android.os.Bundle
import android.util.Log
+import android.view.View
import com.amap.api.maps.AMap
import com.amap.api.maps.AMapOptions
import com.amap.api.maps.CameraUpdateFactory
@@ -12,25 +12,23 @@
import com.amap.api.maps.model.MarkerOptions
import com.amap.api.maps.model.PolylineOptions
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.base.BaseSingleModeActivity
+import com.casic.birmm.inspect.base.KotlinMapBaseActivity
import com.casic.birmm.inspect.model.NewRouteModel
import com.casic.birmm.inspect.utils.DataBaseManager
import com.google.gson.Gson
import com.google.gson.reflect.TypeToken
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.extensions.convertColor
+import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.utils.Constant
import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
-import com.pengxh.kt.lite.utils.PageNavigationManager
import kotlinx.android.synthetic.main.activity_inspect_route.*
import kotlinx.android.synthetic.main.include_base_title.*
-class SingleInspectRouteActivity : BaseSingleModeActivity() {
+class SingleInspectRouteActivity : KotlinMapBaseActivity() {
- companion object {
- private const val Tag = "SingleModeInspectRoute"
- }
-
+ private val kTag = "SingleInspectRouteActivity"
private lateinit var aMap: AMap
private lateinit var id: String
@@ -40,11 +38,12 @@
ImmersionBar.with(this).statusBarDarkFont(false).init()
ImmerseStatusBarUtil.setColor(this, R.color.mainThemeColor.convertColor(this))
+ leftBackView.visibility = View.VISIBLE
+ leftBackView.setOnClickListener { finish() }
titleView.text = "巡检记录(单机模式)"
}
override fun initData(savedInstanceState: Bundle?) {
- PageNavigationManager.addActivity(this)
mapView.onCreate(savedInstanceState)
aMap = mapView.map
val uiSettings = aMap.uiSettings
@@ -52,7 +51,7 @@
uiSettings.isRotateGesturesEnabled = false//不许地图随手势旋转角度
//根据id查询详情
- id = intent.getStringExtra("id")!!
+ id = intent.getStringExtra(Constant.INTENT_PARAM)!!
val detailData = DataBaseManager.instance.queryInspectDetailById(id)
inspectNameView.text = detailData.name
userNameView.text = detailData.user
@@ -61,10 +60,7 @@
//移动到巡检起始经纬度
aMap.moveCamera(
CameraUpdateFactory.changeLatLng(
- LatLng(
- detailData.startLat,
- detailData.startLng
- )
+ LatLng(detailData.startLat, detailData.startLng)
)
)
aMap.moveCamera(CameraUpdateFactory.zoomTo(16.toFloat()))
@@ -78,11 +74,11 @@
return
}
//[{"lat":39.917433,"lng":116.269525},{"lat":39.917433,"lng":116.269525}]
- Log.d(Tag, "路线: $routeJson")
+ Log.d(kTag, "路线: $routeJson")
val type = object : TypeToken>() {}.type
val routeModels = Gson().fromJson>(routeJson, type)
//画线
- val latLngPoints: ArrayList = ArrayList()
+ val latLngPoints = ArrayList()
routeModels.forEach { routeModel ->
latLngPoints.add(LatLng(routeModel.lat, routeModel.lng))
}
@@ -92,11 +88,8 @@
}
override fun initEvent() {
- leftBackView.setOnClickListener { this.finish() }
eventButton.setOnClickListener {
- val intent = Intent(this, SingleEventListActivity::class.java)
- intent.putExtra("id", id)
- startActivity(intent)
+ navigatePageTo(id)
}
}
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt
index 0960ebc..725c22b 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleMainActivity.kt
@@ -11,7 +11,7 @@
import com.casic.birmm.inspect.adapter.ViewPagerAdapter
import com.casic.birmm.inspect.extensions.show
import com.casic.birmm.inspect.view.single.fragment.InspectPageFragment
-import com.casic.birmm.inspect.view.single.fragment.LogPageFragment
+import com.casic.birmm.inspect.view.single.fragment.LogRecordPageFragment
import com.casic.birmm.inspect.view.single.fragment.SettingsPageFragment
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.base.KotlinBaseActivity
@@ -29,7 +29,7 @@
init {
fragmentPages.add(InspectPageFragment())
- fragmentPages.add(LogPageFragment())
+ fragmentPages.add(LogRecordPageFragment())
fragmentPages.add(SettingsPageFragment())
}
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt
index 420607a..da52201 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/EventListFragment.kt
@@ -1,12 +1,11 @@
package com.casic.birmm.inspect.view.single.fragment
-import android.content.Intent
import android.os.CountDownTimer
import android.os.Handler
import androidx.core.content.ContextCompat
-import androidx.recyclerview.widget.LinearLayoutManager
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.adapter.EventSearchListAdapter
+import com.casic.birmm.inspect.adapter.EventListAdapter
+import com.casic.birmm.inspect.extensions.addAll
import com.casic.birmm.inspect.extensions.filterString
import com.casic.birmm.inspect.extensions.show
import com.casic.birmm.inspect.extensions.showEmptyPage
@@ -17,6 +16,7 @@
import com.jzxiang.pickerview.TimePickerDialog
import com.jzxiang.pickerview.data.Type
import com.pengxh.kt.lite.base.KotlinBaseFragment
+import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.timestampToDate
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import kotlinx.android.synthetic.main.activity_query_event.*
@@ -30,7 +30,7 @@
class EventListFragment : KotlinBaseFragment() {
private lateinit var weakReferenceHandler: WeakReferenceHandler
- private lateinit var adapter: EventSearchListAdapter
+ private lateinit var eventListAdapter: EventListAdapter
//本地数据库页码从0开始
private var pageIndex = 0
@@ -87,20 +87,16 @@
endTime = millsSeconds.timestampToDate()
endDateView.setText(endTime)
}
- .build().show(childFragmentManager, "startDate")
+ .build().show(childFragmentManager, "endDate")
}
searchView.setOnClickListener {
keywords = inputTipsView.text.toString()
//查询都从第一页开始查
pageIndex = 0
- dataBeans =
- DataBaseManager.instance.queryEventByCondition(
- startTime,
- endTime,
- keywords,
- pageIndex
- )
+ dataBeans = DataBaseManager.instance.queryEventByCondition(
+ startTime, endTime, keywords, pageIndex
+ )
weakReferenceHandler.sendEmptyMessage(20210820)
}
@@ -108,45 +104,39 @@
isRefresh = true
//刷新之后页码重置
pageIndex = 0
- object : CountDownTimer(1500, 500) {
+ object : CountDownTimer(1000, 500) {
override fun onTick(millisUntilFinished: Long) {
}
override fun onFinish() {
+ refreshLayout.finishRefresh()
dataBeans.clear()
dataBeans = DataBaseManager.instance.queryEventByCondition(
- startTime,
- endTime,
- keywords,
- pageIndex
+ startTime, endTime, keywords, pageIndex
)
- refreshLayout.finishRefresh()
isRefresh = false
- weakReferenceHandler.sendEmptyMessage(20210819)
+ weakReferenceHandler.sendEmptyMessage(20210820)
}
}.start()
}
refreshLayout.setOnLoadMoreListener {
isLoadMore = true
pageIndex++
- object : CountDownTimer(1500, 500) {
+ object : CountDownTimer(1000, 500) {
override fun onTick(millisUntilFinished: Long) {
}
override fun onFinish() {
+ refreshLayout.finishLoadMore()
val dataRows = DataBaseManager.instance.queryEventByCondition(
- startTime,
- endTime,
- keywords,
- pageIndex
+ startTime, endTime, keywords, pageIndex
)
if (dataRows.size == 0) {
"到底了,别拉了".show(requireContext())
}
dataBeans.addAll(dataRows)
- refreshLayout.finishLoadMore()
isLoadMore = false
weakReferenceHandler.sendEmptyMessage(20210820)
}
@@ -154,46 +144,35 @@
}
}
- private fun obtainEventList() {
-
- }
-
private val callback = Handler.Callback {
if (it.what == 20210820) {
if (isRefresh || isLoadMore) {
- adapter.notifyDataSetChanged()
+ eventListAdapter.notifyDataSetChanged()
} else { //首次加载数据
if (dataBeans.size == 0) {
emptyView!!.showEmptyPage {
pageIndex = 0
- dataBeans =
- DataBaseManager.instance.queryEventByCondition(
- startTime,
- endTime,
- keywords,
- pageIndex
- )
+ dataBeans = DataBaseManager.instance.queryEventByCondition(
+ startTime, endTime, keywords, pageIndex
+ )
weakReferenceHandler.sendEmptyMessage(20210820)
}
} else {
emptyView!!.hide()
- adapter = EventSearchListAdapter(requireContext(), dataBeans)
- eventRecyclerView!!.layoutManager = LinearLayoutManager(requireContext())
- eventRecyclerView!!.adapter = adapter
- adapter.setOnItemClickListener(object :
- EventSearchListAdapter.OnItemClickListener {
+ eventListAdapter = EventListAdapter(requireContext(), dataBeans)
+ eventRecyclerView.adapter = eventListAdapter
+ eventListAdapter.setOnItemClickListener(object :
+ EventListAdapter.OnItemClickListener {
override fun onClick(position: Int) {
- val intent = Intent(
- requireContext(), SingleEventDetailActivity::class.java
- )
val rowsBean = dataBeans[position]
- intent.putExtra("createTime", rowsBean.createTime)
- intent.putExtra(
- "description", rowsBean.description!!.filterString()
+ requireContext().navigatePageTo(
+ addAll(
+ rowsBean.createTime.toString(),
+ rowsBean.description!!.filterString(),
+ rowsBean.data.toString(),
+ rowsBean.images.toString()
+ )
)
- intent.putExtra("data", rowsBean.data)
- intent.putExtra("images", rowsBean.images)
- startActivity(intent)
}
})
}
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt
index 419c50c..615c394 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectListFragment.kt
@@ -1,10 +1,8 @@
package com.casic.birmm.inspect.view.single.fragment
-import android.content.Intent
import android.os.CountDownTimer
import android.os.Handler
import androidx.core.content.ContextCompat
-import androidx.recyclerview.widget.LinearLayoutManager
import com.casic.birmm.inspect.R
import com.casic.birmm.inspect.adapter.InspectListAdapter
import com.casic.birmm.inspect.extensions.show
@@ -16,14 +14,15 @@
import com.jzxiang.pickerview.TimePickerDialog
import com.jzxiang.pickerview.data.Type
import com.pengxh.kt.lite.base.KotlinBaseFragment
+import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.timestampToDate
import com.pengxh.kt.lite.utils.WeakReferenceHandler
-import kotlinx.android.synthetic.main.activity_query_inspect.*
+import kotlinx.android.synthetic.main.fragment_inspect_list.*
class InspectListFragment : KotlinBaseFragment() {
private lateinit var weakReferenceHandler: WeakReferenceHandler
- private lateinit var adapter: InspectListAdapter
+ private lateinit var inspectListAdapter: InspectListAdapter
//本地数据库页码从0开始
private var pageIndex = 0
@@ -81,20 +80,16 @@
endTime = millsSeconds.timestampToDate()
endDateView.setText(endTime)
}
- .build().show(childFragmentManager, "startDate")
+ .build().show(childFragmentManager, "endDate")
}
//开始搜索
searchView.setOnClickListener {
keywords = inputTipsView.text.toString()
pageIndex = 0
- dataBeans =
- DataBaseManager.instance.queryInspectionByCondition(
- startTime,
- endTime,
- keywords,
- pageIndex
- )
+ dataBeans = DataBaseManager.instance.queryInspectionByCondition(
+ startTime, endTime, keywords, pageIndex
+ )
weakReferenceHandler.sendEmptyMessage(20210819)
}
@@ -102,21 +97,17 @@
isRefresh = true
//刷新之后页码重置
pageIndex = 0
- //延时1.5s加载
- object : CountDownTimer(1500, 500) {
+ object : CountDownTimer(1000, 500) {
override fun onTick(millisUntilFinished: Long) {
}
override fun onFinish() {
+ refreshLayout.finishRefresh()
dataBeans.clear()
dataBeans = DataBaseManager.instance.queryInspectionByCondition(
- startTime,
- endTime,
- keywords,
- pageIndex
+ startTime, endTime, keywords, pageIndex
)
- refreshLayout.finishRefresh()
isRefresh = false
weakReferenceHandler.sendEmptyMessage(20210819)
}
@@ -125,24 +116,20 @@
refreshLayout.setOnLoadMoreListener {
isLoadMore = true
pageIndex++
- //延时1.5s加载
- object : CountDownTimer(1500, 500) {
+ object : CountDownTimer(1000, 500) {
override fun onTick(millisUntilFinished: Long) {
}
override fun onFinish() {
+ refreshLayout.finishLoadMore()
val dataRows = DataBaseManager.instance.queryInspectionByCondition(
- startTime,
- endTime,
- keywords,
- pageIndex
+ startTime, endTime, keywords, pageIndex
)
if (dataRows.size == 0) {
"到底了,别拉了".show(requireContext())
}
dataBeans.addAll(dataRows)
- refreshLayout.finishLoadMore()
isLoadMore = false
weakReferenceHandler.sendEmptyMessage(20210819)
}
@@ -153,30 +140,26 @@
private val callback = Handler.Callback {
if (it.what == 20210819) {
if (isRefresh || isLoadMore) {
- adapter.notifyDataSetChanged()
+ inspectListAdapter.notifyDataSetChanged()
} else { //首次加载数据
if (dataBeans.size == 0) {
emptyView!!.showEmptyPage {
pageIndex = 0
dataBeans = DataBaseManager.instance.queryInspectionByCondition(
- startTime,
- endTime,
- keywords,
- pageIndex
+ startTime, endTime, keywords, pageIndex
)
weakReferenceHandler.sendEmptyMessage(20210819)
}
} else {
emptyView!!.hide()
- adapter = InspectListAdapter(requireContext(), dataBeans)
- inspectRecyclerView!!.layoutManager = LinearLayoutManager(requireContext())
- inspectRecyclerView!!.adapter = adapter
- adapter.setOnItemClickListener(object :
+ inspectListAdapter = InspectListAdapter(requireContext(), dataBeans)
+ inspectRecyclerView.adapter = inspectListAdapter
+ inspectListAdapter.setOnItemClickListener(object :
InspectListAdapter.OnItemClickListener {
override fun onClick(position: Int) {
- val intent = Intent(context, SingleInspectRouteActivity::class.java)
- intent.putExtra("id", dataBeans[position].id)
- startActivity(intent)
+ requireContext().navigatePageTo(
+ dataBeans[position].id.toString()
+ )
}
})
}
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectPageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectPageFragment.kt
index 7ff8d13..3a8062d 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectPageFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/InspectPageFragment.kt
@@ -40,6 +40,7 @@
import com.pengxh.kt.lite.widget.dialog.BottomActionSheet
import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet
import kotlinx.android.synthetic.main.fragment_single_inspect.view.*
+import kotlinx.android.synthetic.main.include_base_title.view.*
class InspectPageFragment : Fragment() {
@@ -60,15 +61,26 @@
private var isBluetoothOn = true
private var curConnectState = false
private var alarmCount = 0
- private var blueToothBeans: MutableList = ArrayList()//搜索展示列表
+ private var blueToothBeans = ArrayList()//搜索展示列表
private var currentDevice: BluetoothDevice? = null// 当前蓝牙设备
private var isGeneratingTask = false
- private var routeList: MutableList = ArrayList()//路线点集和
+ private var routeList = ArrayList()//路线点集和
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?
): View {
inspectView = inflater.inflate(R.layout.fragment_single_inspect, container, false)
+ inspectView.rightImageView.visibility = View.VISIBLE
+ inspectView.rightImageView.setOnClickListener {
+ val isCompleted = SaveKeyValues.getValue(
+ LocaleConstant.INSPECTION_COMPLETED, true
+ ) as Boolean
+ if (!isCompleted) {
+ "巡检任务未结束,请先结束之前的任务".show(requireContext())
+ return@setOnClickListener
+ }
+ createNewInspection()
+ }
vibrator = requireContext().getSystemService(Context.VIBRATOR_SERVICE) as Vibrator
weakReferenceHandler = WeakReferenceHandler(callback)
@@ -205,36 +217,42 @@
}
}
+ private fun createNewInspection() {
+ AlertInputDialog.Builder().setContext(requireContext()).setTitle("请输入巡检标签")
+ .setHintMessage("如:xxx区间巡检").setNegativeButton("放弃").setPositiveButton("开始巡检")
+ .setOnDialogButtonClickListener(object :
+ AlertInputDialog.OnDialogButtonClickListener {
+ override fun onConfirmClick(value: String) {
+ val currentTimeMillis = System.currentTimeMillis()
+ val completeDate = currentTimeMillis.timestampToCompleteDate()
+
+ model = NewInspectionModel(
+ currentTimeMillis.id(), value, completeDate,
+ "", currentTimeMillis.timestampToDate(),
+ 0.0, 0.0, 0.0, 0.0,
+ "", resources.getString(R.string.app_name)
+ )
+ startInspection()
+ }
+
+ override fun onCancelClick() {
+
+ }
+ })
+ .build().show()
+ }
+
private fun selectInspectMode() {
- val isCompleted =
- SaveKeyValues.getValue(LocaleConstant.INSPECTION_COMPLETED, true) as Boolean
+ val isCompleted = SaveKeyValues.getValue(
+ LocaleConstant.INSPECTION_COMPLETED, true
+ ) as Boolean
if (isCompleted) {
- AlertInputDialog.Builder().setContext(requireContext()).setTitle("请输入巡检标签")
- .setHintMessage("如:xxx区间巡检").setNegativeButton("放弃").setPositiveButton("开始巡检")
- .setOnDialogButtonClickListener(object :
- AlertInputDialog.OnDialogButtonClickListener {
- override fun onConfirmClick(value: String) {
- val currentTimeMillis = System.currentTimeMillis()
- val completeDate = currentTimeMillis.timestampToCompleteDate()
-
- model = NewInspectionModel(
- currentTimeMillis.id(), value, completeDate,
- "", currentTimeMillis.timestampToDate(),
- 0.0, 0.0, 0.0, 0.0,
- "", resources.getString(R.string.app_name)
- )
- startInspection()
- }
-
- override fun onCancelClick() {
-
- }
- })
- .build().show()
+ createNewInspection()
} else {
- val currentInspection =
- SaveKeyValues.getValue(LocaleConstant.INSPECTION_OBJECT, "") as String
- if (currentInspection == "") {
+ val currentInspection = SaveKeyValues.getValue(
+ LocaleConstant.INSPECTION_OBJECT, ""
+ ) as String
+ if (currentInspection.isBlank()) {
AlertControlDialog.Builder()
.setContext(requireContext())
.setTitle("提示")
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/LogPageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/LogPageFragment.kt
deleted file mode 100644
index 776e369..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/view/single/fragment/LogPageFragment.kt
+++ /dev/null
@@ -1,45 +0,0 @@
-package com.casic.birmm.inspect.view.single.fragment
-
-import android.widget.LinearLayout
-import androidx.core.content.ContextCompat
-import androidx.fragment.app.Fragment
-import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.adapter.SubViewPagerAdapter
-import com.pengxh.kt.lite.base.KotlinBaseFragment
-import com.pengxh.kt.lite.extensions.dp2px
-import kotlinx.android.synthetic.main.fragment_single_log.*
-import java.util.*
-
-class LogPageFragment : KotlinBaseFragment() {
-
- private val viewPages: MutableList = ArrayList()
-
- init {
- viewPages.add(InspectListFragment())
- viewPages.add(EventListFragment())
- }
-
- override fun initLayoutView(): Int = R.layout.fragment_single_log
-
- override fun setupTopBarLayout() {
-
- }
-
- override fun initData() {
- val subViewAdapter = SubViewPagerAdapter(
- childFragmentManager, arrayOf("巡检记录", "事件清单"), viewPages
- )
- logViewPager.adapter = subViewAdapter
- tabLayout.setupWithViewPager(logViewPager)
- val linearLayout = tabLayout.getChildAt(0) as LinearLayout
- linearLayout.dividerDrawable = ContextCompat.getDrawable(
- requireContext(), R.drawable.layout_divider_vertical
- )
- linearLayout.showDividers = LinearLayout.SHOW_DIVIDER_MIDDLE
- linearLayout.dividerPadding = 12.5f.dp2px(requireContext())
- }
-
- override fun initEvent() {
-
- }
-}
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 2b3c004..64b09c2 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -8,8 +8,11 @@
+
+
+
@@ -21,7 +24,7 @@
-
+
@@ -39,7 +42,7 @@
-
+
diff --git a/app/build.gradle b/app/build.gradle
index 0d7f214..0e2f815 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -19,9 +19,11 @@
applicationId "com.casic.birmm.inspect"
minSdkVersion 23
targetSdkVersion 31
- versionCode 1
- versionName "2.0.0"
- ndk { abiFilters "armeabi", "armeabi-v7a", "arm64-v8" }
+ versionCode 2
+ versionName "1.0.1"
+ ndk {
+ abiFilters "armeabi", "armeabi-v7a", "arm64-v8"
+ }
}
buildTypes {
diff --git a/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt b/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt
index 1d9e30e..d30ea59 100644
--- a/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/adapter/EventListAdapter.kt
@@ -1,53 +1,44 @@
package com.casic.birmm.inspect.adapter
-import android.annotation.SuppressLint
import android.content.Context
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
+import com.bumptech.glide.Glide
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.model.TaskRecordModel
+import com.casic.birmm.inspect.model.EventListModel
import com.qmuiteam.qmui.widget.QMUIRadiusImageView
-/**
- * 根据id获取事件列表
- * */
class EventListAdapter(
- context: Context,
- dataRows: List
+ private val context: Context,
+ private val dataRows: MutableList
) : RecyclerView.Adapter() {
- private val dataRows: List? = dataRows
- private var layoutInflater: LayoutInflater? = null
-
- init {
- layoutInflater = LayoutInflater.from(context)
- }
+ private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
- val view: View =
- layoutInflater!!.inflate(R.layout.item_inspect_rv, parent, false)
- return ItemViewHolder(view)
+ return ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_inspect_rv, parent, false)
+ )
}
- @SuppressLint("SetTextI18n")
override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
//绑定数据
- val rowsBean = dataRows?.get(position)!!
+ val rowsBean = dataRows[position]
+ val imageArray = rowsBean.images?.split(",")
+ Glide.with(context).load(imageArray?.get(0)).into(holder.inspectImageView)
holder.inspectMsgView.text = rowsBean.name
holder.inspectTypeView.text = String.format("类型:${rowsBean.type}")
holder.inspectDateView.text = String.format("上报时间:${rowsBean.createTime}")
//绑定事件
- if (listener != null) {
- holder.itemView.setOnClickListener {
- listener!!.onClick(position)
- }
+ holder.itemView.setOnClickListener {
+ listener?.onClick(position)
}
}
- override fun getItemCount(): Int = dataRows!!.size
+ override fun getItemCount(): Int = dataRows.size
class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
var inspectImageView: QMUIRadiusImageView = view.findViewById(R.id.inspectImageView)
@@ -63,6 +54,6 @@
}
fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
- listener = onClickListener
+ this.listener = onClickListener
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/adapter/EventSearchListAdapter.kt b/app/src/main/java/com/casic/birmm/inspect/adapter/EventSearchListAdapter.kt
deleted file mode 100644
index 2318e01..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/adapter/EventSearchListAdapter.kt
+++ /dev/null
@@ -1,62 +0,0 @@
-package com.casic.birmm.inspect.adapter
-
-import android.content.Context
-import android.view.LayoutInflater
-import android.view.View
-import android.view.ViewGroup
-import android.widget.TextView
-import androidx.recyclerview.widget.RecyclerView
-import com.bumptech.glide.Glide
-import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.model.EventListModel
-import com.qmuiteam.qmui.widget.QMUIRadiusImageView
-
-/**
- * 事件查询
- * */
-class EventSearchListAdapter(
- private val context: Context,
- private val dataRows: MutableList
-) : RecyclerView.Adapter() {
-
- private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
-
- override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
- return ItemViewHolder(
- layoutInflater.inflate(R.layout.item_inspect_rv, parent, false)
- )
- }
-
- override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
- //绑定数据
- val rowsBean = dataRows[position]
- val imageArray = rowsBean.images?.split(",")
- Glide.with(context).load(imageArray?.get(0)).into(holder.inspectImageView)
- holder.inspectMsgView.text = rowsBean.name
- holder.inspectTypeView.text = String.format("类型:${rowsBean.type}")
- holder.inspectDateView.text = String.format("上报时间:${rowsBean.createTime}")
- //绑定事件
- holder.itemView.setOnClickListener {
- listener?.onClick(position)
- }
- }
-
- override fun getItemCount(): Int = dataRows.size
-
- class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
- var inspectImageView: QMUIRadiusImageView = view.findViewById(R.id.inspectImageView)
- var inspectMsgView: TextView = view.findViewById(R.id.inspectMsgView)
- var inspectTypeView: TextView = view.findViewById(R.id.inspectTypeView)
- var inspectDateView: TextView = view.findViewById(R.id.inspectDateView)
- }
-
- private var listener: OnItemClickListener? = null
-
- interface OnItemClickListener {
- fun onClick(position: Int)
- }
-
- fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
- listener = onClickListener
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/adapter/InspectEventListAdapter.kt b/app/src/main/java/com/casic/birmm/inspect/adapter/InspectEventListAdapter.kt
new file mode 100644
index 0000000..a6c76f6
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/adapter/InspectEventListAdapter.kt
@@ -0,0 +1,55 @@
+package com.casic.birmm.inspect.adapter
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
+import com.casic.birmm.inspect.R
+import com.casic.birmm.inspect.model.TaskRecordModel
+import com.qmuiteam.qmui.widget.QMUIRadiusImageView
+
+class InspectEventListAdapter(
+ context: Context, private val dataRows: List
+) : RecyclerView.Adapter() {
+
+ private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
+
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder {
+ return ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_inspect_rv, parent, false)
+ )
+ }
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ //绑定数据
+ val rowsBean = dataRows[position]
+ holder.inspectMsgView.text = rowsBean.name
+ holder.inspectTypeView.text = String.format("类型:${rowsBean.type}")
+ holder.inspectDateView.text = String.format("上报时间:${rowsBean.createTime}")
+ //绑定事件
+ holder.itemView.setOnClickListener {
+ listener?.onClick(position)
+ }
+ }
+
+ override fun getItemCount(): Int = dataRows.size
+
+ class ItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
+ var inspectImageView: QMUIRadiusImageView = view.findViewById(R.id.inspectImageView)
+ var inspectMsgView: TextView = view.findViewById(R.id.inspectMsgView)
+ var inspectTypeView: TextView = view.findViewById(R.id.inspectTypeView)
+ var inspectDateView: TextView = view.findViewById(R.id.inspectDateView)
+ }
+
+ private var listener: OnItemClickListener? = null
+
+ interface OnItemClickListener {
+ fun onClick(position: Int)
+ }
+
+ fun setOnItemClickListener(onClickListener: OnItemClickListener?) {
+ listener = onClickListener
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/base/BaseSingleModeActivity.kt b/app/src/main/java/com/casic/birmm/inspect/base/BaseSingleModeActivity.kt
deleted file mode 100644
index b01a137..0000000
--- a/app/src/main/java/com/casic/birmm/inspect/base/BaseSingleModeActivity.kt
+++ /dev/null
@@ -1,39 +0,0 @@
-package com.casic.birmm.inspect.base
-
-import android.os.Bundle
-import androidx.appcompat.app.AppCompatActivity
-import com.qmuiteam.qmui.util.QMUIStatusBarHelper
-
-/**
- * 单机模式页面的基础类
- * */
-abstract class BaseSingleModeActivity : AppCompatActivity() {
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- setContentView(initLayoutView())
- QMUIStatusBarHelper.translucent(this) //沉浸式状态栏
- setupTopBarLayout()
- initData(savedInstanceState)
- initEvent()
- }
-
- /**
- * 初始化xml布局
- */
- abstract fun initLayoutView(): Int
-
- /**
- * 特定页面定制沉浸式状态栏
- */
- protected abstract fun setupTopBarLayout()
-
- /**
- * 初始化默认数据
- */
- abstract fun initData(savedInstanceState: Bundle?)
-
- /**
- * 初始化业务逻辑
- */
- abstract fun initEvent()
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/base/KotlinMapBaseActivity.kt b/app/src/main/java/com/casic/birmm/inspect/base/KotlinMapBaseActivity.kt
new file mode 100644
index 0000000..8b33d26
--- /dev/null
+++ b/app/src/main/java/com/casic/birmm/inspect/base/KotlinMapBaseActivity.kt
@@ -0,0 +1,83 @@
+package com.casic.birmm.inspect.base
+
+import android.content.BroadcastReceiver
+import android.content.Context
+import android.content.Intent
+import android.net.ConnectivityManager
+import android.os.Bundle
+import android.provider.Settings
+import android.view.WindowManager
+import androidx.appcompat.app.AppCompatActivity
+import com.pengxh.kt.lite.extensions.isNetworkConnected
+import com.pengxh.kt.lite.utils.BroadcastManager
+import com.pengxh.kt.lite.utils.PageNavigationManager
+import com.pengxh.kt.lite.widget.dialog.NoNetworkDialog
+
+/**
+ * 单机模式页面的基础类
+ * */
+abstract class KotlinMapBaseActivity : AppCompatActivity() {
+
+ private lateinit var broadcastManager: BroadcastManager
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ setContentView(initLayoutView())
+ setupTopBarLayout()
+ initData(savedInstanceState)
+ initEvent()
+ PageNavigationManager.addActivity(this)
+ broadcastManager = BroadcastManager.obtainInstance(this)
+ broadcastManager.addAction(
+ object : BroadcastReceiver() {
+ override fun onReceive(context: Context?, intent: Intent?) {
+ if (!context!!.isNetworkConnected()) {
+ /**
+ * 捕获用户在有网情况下登录进入APP,后来又处于断网状态会导致闪退的Bug
+ * */
+ try {
+ NoNetworkDialog.Builder()
+ .setContext(this@KotlinMapBaseActivity)
+ .setOnDialogButtonClickListener(object :
+ NoNetworkDialog.OnDialogButtonClickListener {
+ override fun onButtonClick() {
+ startActivity(Intent(Settings.ACTION_DATA_ROAMING_SETTINGS))
+ }
+ }).build().show()
+ } catch (e: WindowManager.BadTokenException) {
+ e.printStackTrace()
+ }
+ }
+ }
+ }, ConnectivityManager.CONNECTIVITY_ACTION
+ )
+ }
+
+ /**
+ * 初始化xml布局
+ */
+ abstract fun initLayoutView(): Int
+
+ /**
+ * 特定页面定制沉浸式状态栏
+ */
+ abstract fun setupTopBarLayout()
+
+ /**
+ * 初始化默认数据
+ */
+ abstract fun initData(savedInstanceState: Bundle?)
+
+ /**
+ * 初始化业务逻辑
+ */
+ abstract fun initEvent()
+
+ /**
+ * 取消协程
+ * */
+ override fun onDestroy() {
+ broadcastManager.destroy(ConnectivityManager.CONNECTIVITY_ACTION)
+ super.onDestroy()
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt b/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt
index c1447af..12c92e6 100644
--- a/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/extensions/ArrayList.kt
@@ -17,4 +17,12 @@
}
}
return builder.toString()
+}
+
+fun addAll(vararg args: String): ArrayList {
+ val result = ArrayList()
+ args.forEach {
+ result.add(it)
+ }
+ return result
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
index 8e8821c..fed3a92 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitServiceManager.kt
@@ -1,7 +1,8 @@
+package com.casic.birmm.inspect.utils.retrofit
+
import com.casic.birmm.inspect.model.*
import com.casic.birmm.inspect.utils.AuthenticationHelper
import com.casic.birmm.inspect.utils.LocaleConstant
-import com.casic.birmm.inspect.utils.retrofit.RetrofitService
import com.pengxh.kt.lite.utils.RetrofitFactory.createRetrofit
import com.pengxh.kt.lite.utils.SaveKeyValues
import okhttp3.MediaType.Companion.toMediaTypeOrNull
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt
index 4701c40..f2a84e5 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/EventListActivity.kt
@@ -5,7 +5,7 @@
import androidx.lifecycle.Observer
import androidx.recyclerview.widget.LinearLayoutManager
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.adapter.EventListAdapter
+import com.casic.birmm.inspect.adapter.InspectEventListAdapter
import com.casic.birmm.inspect.base.BaseViewModelActivity
import com.casic.birmm.inspect.extensions.filterString
import com.casic.birmm.inspect.extensions.show
@@ -37,11 +37,11 @@
if (it.data!!.list!!.isEmpty()) {
"抱歉,无法查询到相关记录".show(this)
} else {
- val eventAdapter = EventListAdapter(this, it.data!!.list!!)
+ val eventAdapter = InspectEventListAdapter(this, it.data!!.list!!)
eventRecyclerView!!.layoutManager = LinearLayoutManager(this)
eventRecyclerView.adapter = eventAdapter
eventAdapter.setOnItemClickListener(object :
- EventListAdapter.OnItemClickListener {
+ InspectEventListAdapter.OnItemClickListener {
override fun onClick(position: Int) {
val intent =
Intent(this@EventListActivity, EventDetailActivity::class.java)
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt
index 944be37..ab3a2ac 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/EventQueryActivity.kt
@@ -7,7 +7,7 @@
import androidx.lifecycle.Observer
import androidx.recyclerview.widget.LinearLayoutManager
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.adapter.EventSearchListAdapter
+import com.casic.birmm.inspect.adapter.EventListAdapter
import com.casic.birmm.inspect.base.BaseViewModelActivity
import com.casic.birmm.inspect.extensions.filterString
import com.casic.birmm.inspect.extensions.show
@@ -40,7 +40,7 @@
private var isLoadMore = false
private var dataBeans: MutableList = ArrayList()
private lateinit var weakReferenceHandler: WeakReferenceHandler
- private lateinit var adapter: EventSearchListAdapter
+ private lateinit var adapter: EventListAdapter
override fun createViewModelByClass(): Class =
EventQueryViewModel::class.java
@@ -172,11 +172,11 @@
emptyView!!.show("抱歉,无法查询到相关记录", null)
} else {
emptyView!!.hide()
- adapter = EventSearchListAdapter(this, dataBeans)
+ adapter = EventListAdapter(this, dataBeans)
eventRecyclerView!!.layoutManager = LinearLayoutManager(this)
eventRecyclerView!!.adapter = adapter
adapter.setOnItemClickListener(object :
- EventSearchListAdapter.OnItemClickListener {
+ EventListAdapter.OnItemClickListener {
override fun onClick(position: Int) {
val intent = Intent(context, EventDetailActivity::class.java)
val rowsBean = dataBeans[position]
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventDetailActivity.kt
index df2df2d..8510c31 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventDetailActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/single/SingleEventDetailActivity.kt
@@ -9,6 +9,7 @@
import com.pengxh.kt.lite.base.KotlinBaseActivity
import com.pengxh.kt.lite.extensions.convertColor
import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.utils.Constant
import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
import kotlinx.android.synthetic.main.activity_event_detail.*
import kotlinx.android.synthetic.main.include_base_title.*
@@ -28,26 +29,24 @@
}
override fun initData() {
- createTimeView.text = intent.getStringExtra("createTime")
- descriptionView.text = intent.getStringExtra("description")
- val data = intent.getIntExtra("data", -1)
- if (data == -1) {
- dataView.text = "0.0"
- } else {
- dataView.text = String.format("$data.0")
- }
- val images = intent.getStringExtra("images")
+ val conditions = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!!
+ createTimeView.text = conditions[0]
+ descriptionView.text = conditions[1]
+ val value = if (conditions[2].isBlank()) {
+ "0.0"
+ } else {
+ conditions[2] + ".0"
+ }
+ dataView.text = value
/**
* images: /storage/emulated/0/Android/data/com.casic.birmm.inspect/files/Pictures/IMG_CMP_167066503.jpeg,/storage/emulated/0/Android/data/com.casic.birmm.inspect/files/Pictures/IMG_CMP_49917670.jpeg,/storage/emulated/0/Android/data/com.casic.birmm.inspect/files/Pictures/IMG_CMP_1069640.jpeg
* */
val urls: ArrayList = ArrayList()
- if (images != null) {
- if (images.isNotEmpty()) {
- val imageArray = images.split(",")
- imageArray.forEach {
- urls.add(it)
- }
+ if (conditions[3].isNotEmpty()) {
+ val imageArray = conditions[3].split(",")
+ imageArray.forEach {
+ urls.add(it)
}
}
//绑定图片
@@ -55,7 +54,7 @@
imageAdapter.setImageList(urls)
imageGridView.adapter = imageAdapter
imageGridView.setOnItemClickListener { _, _, position, _ ->
- if (urls[position].isEmpty()) {
+ if (urls[position].isBlank()) {
"图片加载失败,无法查看大图".show(this@SingleEventDetailActivity)
} else {
navigatePageTo