diff --git a/.idea/misc.xml b/.idea/misc.xml
index 139dc2a..e7cbf98 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -11,6 +11,7 @@
+
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 139dc2a..e7cbf98 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -11,6 +11,7 @@
+
diff --git a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt
index 91cd394..a757dfb 100644
--- a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt
@@ -8,6 +8,7 @@
import android.graphics.Color
import android.os.Bundle
import android.os.Handler
+import android.os.Message
import android.os.Vibrator
import android.util.Log
import android.view.LayoutInflater
@@ -37,10 +38,7 @@
import com.casic.birmm.inspect.vm.EventViewModel
import com.casic.birmm.inspect.vm.InspectionViewModel
import com.google.gson.Gson
-import com.pengxh.kt.lite.extensions.navigatePageTo
-import com.pengxh.kt.lite.extensions.show
-import com.pengxh.kt.lite.extensions.timestampToCompleteDate
-import com.pengxh.kt.lite.extensions.timestampToDate
+import com.pengxh.kt.lite.extensions.*
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.utils.ble.BLEManager
@@ -51,20 +49,15 @@
import com.pengxh.kt.lite.widget.dialog.AlertControlDialog
import com.pengxh.kt.lite.widget.dialog.AlertInputDialog
import com.pengxh.kt.lite.widget.dialog.BottomActionSheet
-import com.qmuiteam.qmui.util.QMUIDisplayHelper
import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet
import kotlinx.android.synthetic.main.fragment_map_inspect.view.*
import java.util.*
@SuppressLint("MissingPermission")
-class HomePageFragment : Fragment() {
+class HomePageFragment : Fragment(), Handler.Callback {
private val kTag = "HomePageFragment"
private val gson by lazy { Gson() }
- private val isOpenWarning =
- SaveKeyValues.getValue(LocaleConstant.OPEN_WARNING, false) as Boolean
- private val isAutoRecord =
- SaveKeyValues.getValue(LocaleConstant.AUTO_RECORD, false) as Boolean
private lateinit var homeView: View
private lateinit var userData: UserInfoModel.DataModel
private lateinit var vibrator: Vibrator
@@ -88,7 +81,7 @@
homeView = inflater.inflate(R.layout.fragment_map_inspect, container, false)
//根据不同设备状态栏高度设置statusBarView高度
- val statusBarHeight = QMUIDisplayHelper.getStatusBarHeight(requireContext())
+ val statusBarHeight = requireContext().getStatusBarHeight()
val params = homeView.statusBarView.layoutParams as LinearLayout.LayoutParams
params.height = statusBarHeight
homeView.statusBarView.setBackgroundColor(Color.parseColor("#D6EEFE"))
@@ -109,7 +102,7 @@
val userModelJson = SaveKeyValues.getValue(LocaleConstant.USER_OBJECT, "") as String
userData = gson.fromJson(userModelJson, UserInfoModel::class.java).data!!
- weakReferenceHandler = WeakReferenceHandler(callback)
+ weakReferenceHandler = WeakReferenceHandler(this)
if (BLEManager.initBLE(requireContext())) {
if (!BLEManager.isBluetoothEnable()) {
@@ -126,12 +119,10 @@
uiSettings.isRotateGesturesEnabled = false//不许地图随手势旋转角度
//显示定位小蓝点
locationStyle = MyLocationStyle()
- locationStyle
locationStyle.showMyLocation(true)//设置是否显示定位小蓝点
- locationStyle.interval(10 * 1000)////设置连续定位模式下的定位间隔,只在连续定位模式下生效。单位为毫秒
aMap.myLocationStyle = locationStyle
aMap.isMyLocationEnabled = true
- aMap.moveCamera(CameraUpdateFactory.zoomTo(14.toFloat()))
+ aMap.moveCamera(CameraUpdateFactory.zoomTo(16.toFloat()))
initEvent()
@@ -179,15 +170,14 @@
.setOnActionSheetListener(object : BottomActionSheet.OnActionSheetListener {
override fun onActionItemClick(position: Int) {
//获取当前定位
- val currentLng = SaveKeyValues.getValue(
+ val lng = SaveKeyValues.getValue(
LocaleConstant.CURRENT_LONGITUDE, "0.0"
) as String
- val currentLat =
- SaveKeyValues.getValue(LocaleConstant.CURRENT_LATITUDE, "0.0") as String
+ val lat = SaveKeyValues.getValue(
+ LocaleConstant.CURRENT_LATITUDE, "0.0"
+ ) as String
requireContext().navigatePageTo(
- addAll(
- position.toString(), model.id, model.name, currentLng, currentLat
- )
+ addAll(position.toString(), model.id, model.name, lng, lat)
)
}
}).build().show()
@@ -303,7 +293,7 @@
}
}
- private val callback = Handler.Callback { msg ->
+ override fun handleMessage(msg: Message): Boolean {
when (msg.what) {
LocaleConstant.BLUETOOTH_ON -> {
"蓝牙已开启".show(requireContext())
@@ -372,7 +362,7 @@
)
LocaleConstant.DISCONNECT_SUCCESS -> curConnectState = false
}
- true
+ return true
}
private fun startConnectDevice(device: BluetoothDevice) {
@@ -529,11 +519,15 @@
homeView.settingsValueView.text = dataModel.alarmValue.toString()
homeView.maxValueView.text = dataModel.maxPotency.toString()
//判断是否需要报警
+ val isOpenWarning =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_OPEN_WARNING, false) as Boolean
if (isOpenWarning) {
if (dataModel.potency >= dataModel.alarmValue) {
//当前值大于设置值,需要报警
SoundPoolHelper.playSound(requireContext(), R.raw.alarm)
vibrator.vibrate(1000)
+ val isAutoRecord =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_AUTO_RECORD, false) as Boolean
if (isAutoRecord) {
//如果连续超过10个报警,自动生成报警事件
alarmCount++
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 139dc2a..e7cbf98 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -11,6 +11,7 @@
+
diff --git a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt
index 91cd394..a757dfb 100644
--- a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt
@@ -8,6 +8,7 @@
import android.graphics.Color
import android.os.Bundle
import android.os.Handler
+import android.os.Message
import android.os.Vibrator
import android.util.Log
import android.view.LayoutInflater
@@ -37,10 +38,7 @@
import com.casic.birmm.inspect.vm.EventViewModel
import com.casic.birmm.inspect.vm.InspectionViewModel
import com.google.gson.Gson
-import com.pengxh.kt.lite.extensions.navigatePageTo
-import com.pengxh.kt.lite.extensions.show
-import com.pengxh.kt.lite.extensions.timestampToCompleteDate
-import com.pengxh.kt.lite.extensions.timestampToDate
+import com.pengxh.kt.lite.extensions.*
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.utils.ble.BLEManager
@@ -51,20 +49,15 @@
import com.pengxh.kt.lite.widget.dialog.AlertControlDialog
import com.pengxh.kt.lite.widget.dialog.AlertInputDialog
import com.pengxh.kt.lite.widget.dialog.BottomActionSheet
-import com.qmuiteam.qmui.util.QMUIDisplayHelper
import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet
import kotlinx.android.synthetic.main.fragment_map_inspect.view.*
import java.util.*
@SuppressLint("MissingPermission")
-class HomePageFragment : Fragment() {
+class HomePageFragment : Fragment(), Handler.Callback {
private val kTag = "HomePageFragment"
private val gson by lazy { Gson() }
- private val isOpenWarning =
- SaveKeyValues.getValue(LocaleConstant.OPEN_WARNING, false) as Boolean
- private val isAutoRecord =
- SaveKeyValues.getValue(LocaleConstant.AUTO_RECORD, false) as Boolean
private lateinit var homeView: View
private lateinit var userData: UserInfoModel.DataModel
private lateinit var vibrator: Vibrator
@@ -88,7 +81,7 @@
homeView = inflater.inflate(R.layout.fragment_map_inspect, container, false)
//根据不同设备状态栏高度设置statusBarView高度
- val statusBarHeight = QMUIDisplayHelper.getStatusBarHeight(requireContext())
+ val statusBarHeight = requireContext().getStatusBarHeight()
val params = homeView.statusBarView.layoutParams as LinearLayout.LayoutParams
params.height = statusBarHeight
homeView.statusBarView.setBackgroundColor(Color.parseColor("#D6EEFE"))
@@ -109,7 +102,7 @@
val userModelJson = SaveKeyValues.getValue(LocaleConstant.USER_OBJECT, "") as String
userData = gson.fromJson(userModelJson, UserInfoModel::class.java).data!!
- weakReferenceHandler = WeakReferenceHandler(callback)
+ weakReferenceHandler = WeakReferenceHandler(this)
if (BLEManager.initBLE(requireContext())) {
if (!BLEManager.isBluetoothEnable()) {
@@ -126,12 +119,10 @@
uiSettings.isRotateGesturesEnabled = false//不许地图随手势旋转角度
//显示定位小蓝点
locationStyle = MyLocationStyle()
- locationStyle
locationStyle.showMyLocation(true)//设置是否显示定位小蓝点
- locationStyle.interval(10 * 1000)////设置连续定位模式下的定位间隔,只在连续定位模式下生效。单位为毫秒
aMap.myLocationStyle = locationStyle
aMap.isMyLocationEnabled = true
- aMap.moveCamera(CameraUpdateFactory.zoomTo(14.toFloat()))
+ aMap.moveCamera(CameraUpdateFactory.zoomTo(16.toFloat()))
initEvent()
@@ -179,15 +170,14 @@
.setOnActionSheetListener(object : BottomActionSheet.OnActionSheetListener {
override fun onActionItemClick(position: Int) {
//获取当前定位
- val currentLng = SaveKeyValues.getValue(
+ val lng = SaveKeyValues.getValue(
LocaleConstant.CURRENT_LONGITUDE, "0.0"
) as String
- val currentLat =
- SaveKeyValues.getValue(LocaleConstant.CURRENT_LATITUDE, "0.0") as String
+ val lat = SaveKeyValues.getValue(
+ LocaleConstant.CURRENT_LATITUDE, "0.0"
+ ) as String
requireContext().navigatePageTo(
- addAll(
- position.toString(), model.id, model.name, currentLng, currentLat
- )
+ addAll(position.toString(), model.id, model.name, lng, lat)
)
}
}).build().show()
@@ -303,7 +293,7 @@
}
}
- private val callback = Handler.Callback { msg ->
+ override fun handleMessage(msg: Message): Boolean {
when (msg.what) {
LocaleConstant.BLUETOOTH_ON -> {
"蓝牙已开启".show(requireContext())
@@ -372,7 +362,7 @@
)
LocaleConstant.DISCONNECT_SUCCESS -> curConnectState = false
}
- true
+ return true
}
private fun startConnectDevice(device: BluetoothDevice) {
@@ -529,11 +519,15 @@
homeView.settingsValueView.text = dataModel.alarmValue.toString()
homeView.maxValueView.text = dataModel.maxPotency.toString()
//判断是否需要报警
+ val isOpenWarning =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_OPEN_WARNING, false) as Boolean
if (isOpenWarning) {
if (dataModel.potency >= dataModel.alarmValue) {
//当前值大于设置值,需要报警
SoundPoolHelper.playSound(requireContext(), R.raw.alarm)
vibrator.vibrate(1000)
+ val isAutoRecord =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_AUTO_RECORD, false) as Boolean
if (isAutoRecord) {
//如果连续超过10个报警,自动生成报警事件
alarmCount++
diff --git a/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt b/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt
index 82a23c9..d134e0b 100644
--- a/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt
@@ -3,7 +3,6 @@
import android.os.Handler
import androidx.lifecycle.ViewModelProvider
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.extensions.addAll
import com.casic.birmm.inspect.extensions.combineImagePath
import com.casic.birmm.inspect.model.EventListModel
import com.casic.birmm.inspect.view.EventDetailActivity
@@ -11,9 +10,9 @@
import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter
import com.pengxh.kt.lite.adapter.ViewHolder
import com.pengxh.kt.lite.base.KotlinBaseFragment
-import com.pengxh.kt.lite.extensions.filterSpaceOrEnter
import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.show
+import com.pengxh.kt.lite.extensions.toJson
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import kotlinx.android.synthetic.main.fragment_query_event.*
import kotlinx.android.synthetic.main.include_empty_view.*
@@ -83,7 +82,6 @@
override fun onResume() {
super.onResume()
- pageIndex = 1
getEventList()
}
@@ -119,7 +117,7 @@
viewHolder.setText(R.id.inspectMsgView, item.name)
.setText(R.id.inspectTypeView, "类型:${item.type}")
- .setText(R.id.inspectDateView, "上报时间:${item.createTime}")
+ .setText(R.id.inspectDateView, "时间:${item.createTime}")
}
}
eventRecyclerView.adapter = eventListAdapter
@@ -128,11 +126,7 @@
override fun onItemClicked(
position: Int, t: EventListModel.DataModel.RowsModel
) {
- requireContext().navigatePageTo(
- addAll(
- t.createTime, t.description!!.filterSpaceOrEnter(), t.data, t.images
- )
- )
+ requireContext().navigatePageTo(t.toJson())
}
})
}
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 139dc2a..e7cbf98 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -11,6 +11,7 @@
+
diff --git a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt
index 91cd394..a757dfb 100644
--- a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt
@@ -8,6 +8,7 @@
import android.graphics.Color
import android.os.Bundle
import android.os.Handler
+import android.os.Message
import android.os.Vibrator
import android.util.Log
import android.view.LayoutInflater
@@ -37,10 +38,7 @@
import com.casic.birmm.inspect.vm.EventViewModel
import com.casic.birmm.inspect.vm.InspectionViewModel
import com.google.gson.Gson
-import com.pengxh.kt.lite.extensions.navigatePageTo
-import com.pengxh.kt.lite.extensions.show
-import com.pengxh.kt.lite.extensions.timestampToCompleteDate
-import com.pengxh.kt.lite.extensions.timestampToDate
+import com.pengxh.kt.lite.extensions.*
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.utils.ble.BLEManager
@@ -51,20 +49,15 @@
import com.pengxh.kt.lite.widget.dialog.AlertControlDialog
import com.pengxh.kt.lite.widget.dialog.AlertInputDialog
import com.pengxh.kt.lite.widget.dialog.BottomActionSheet
-import com.qmuiteam.qmui.util.QMUIDisplayHelper
import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet
import kotlinx.android.synthetic.main.fragment_map_inspect.view.*
import java.util.*
@SuppressLint("MissingPermission")
-class HomePageFragment : Fragment() {
+class HomePageFragment : Fragment(), Handler.Callback {
private val kTag = "HomePageFragment"
private val gson by lazy { Gson() }
- private val isOpenWarning =
- SaveKeyValues.getValue(LocaleConstant.OPEN_WARNING, false) as Boolean
- private val isAutoRecord =
- SaveKeyValues.getValue(LocaleConstant.AUTO_RECORD, false) as Boolean
private lateinit var homeView: View
private lateinit var userData: UserInfoModel.DataModel
private lateinit var vibrator: Vibrator
@@ -88,7 +81,7 @@
homeView = inflater.inflate(R.layout.fragment_map_inspect, container, false)
//根据不同设备状态栏高度设置statusBarView高度
- val statusBarHeight = QMUIDisplayHelper.getStatusBarHeight(requireContext())
+ val statusBarHeight = requireContext().getStatusBarHeight()
val params = homeView.statusBarView.layoutParams as LinearLayout.LayoutParams
params.height = statusBarHeight
homeView.statusBarView.setBackgroundColor(Color.parseColor("#D6EEFE"))
@@ -109,7 +102,7 @@
val userModelJson = SaveKeyValues.getValue(LocaleConstant.USER_OBJECT, "") as String
userData = gson.fromJson(userModelJson, UserInfoModel::class.java).data!!
- weakReferenceHandler = WeakReferenceHandler(callback)
+ weakReferenceHandler = WeakReferenceHandler(this)
if (BLEManager.initBLE(requireContext())) {
if (!BLEManager.isBluetoothEnable()) {
@@ -126,12 +119,10 @@
uiSettings.isRotateGesturesEnabled = false//不许地图随手势旋转角度
//显示定位小蓝点
locationStyle = MyLocationStyle()
- locationStyle
locationStyle.showMyLocation(true)//设置是否显示定位小蓝点
- locationStyle.interval(10 * 1000)////设置连续定位模式下的定位间隔,只在连续定位模式下生效。单位为毫秒
aMap.myLocationStyle = locationStyle
aMap.isMyLocationEnabled = true
- aMap.moveCamera(CameraUpdateFactory.zoomTo(14.toFloat()))
+ aMap.moveCamera(CameraUpdateFactory.zoomTo(16.toFloat()))
initEvent()
@@ -179,15 +170,14 @@
.setOnActionSheetListener(object : BottomActionSheet.OnActionSheetListener {
override fun onActionItemClick(position: Int) {
//获取当前定位
- val currentLng = SaveKeyValues.getValue(
+ val lng = SaveKeyValues.getValue(
LocaleConstant.CURRENT_LONGITUDE, "0.0"
) as String
- val currentLat =
- SaveKeyValues.getValue(LocaleConstant.CURRENT_LATITUDE, "0.0") as String
+ val lat = SaveKeyValues.getValue(
+ LocaleConstant.CURRENT_LATITUDE, "0.0"
+ ) as String
requireContext().navigatePageTo(
- addAll(
- position.toString(), model.id, model.name, currentLng, currentLat
- )
+ addAll(position.toString(), model.id, model.name, lng, lat)
)
}
}).build().show()
@@ -303,7 +293,7 @@
}
}
- private val callback = Handler.Callback { msg ->
+ override fun handleMessage(msg: Message): Boolean {
when (msg.what) {
LocaleConstant.BLUETOOTH_ON -> {
"蓝牙已开启".show(requireContext())
@@ -372,7 +362,7 @@
)
LocaleConstant.DISCONNECT_SUCCESS -> curConnectState = false
}
- true
+ return true
}
private fun startConnectDevice(device: BluetoothDevice) {
@@ -529,11 +519,15 @@
homeView.settingsValueView.text = dataModel.alarmValue.toString()
homeView.maxValueView.text = dataModel.maxPotency.toString()
//判断是否需要报警
+ val isOpenWarning =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_OPEN_WARNING, false) as Boolean
if (isOpenWarning) {
if (dataModel.potency >= dataModel.alarmValue) {
//当前值大于设置值,需要报警
SoundPoolHelper.playSound(requireContext(), R.raw.alarm)
vibrator.vibrate(1000)
+ val isAutoRecord =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_AUTO_RECORD, false) as Boolean
if (isAutoRecord) {
//如果连续超过10个报警,自动生成报警事件
alarmCount++
diff --git a/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt b/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt
index 82a23c9..d134e0b 100644
--- a/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt
@@ -3,7 +3,6 @@
import android.os.Handler
import androidx.lifecycle.ViewModelProvider
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.extensions.addAll
import com.casic.birmm.inspect.extensions.combineImagePath
import com.casic.birmm.inspect.model.EventListModel
import com.casic.birmm.inspect.view.EventDetailActivity
@@ -11,9 +10,9 @@
import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter
import com.pengxh.kt.lite.adapter.ViewHolder
import com.pengxh.kt.lite.base.KotlinBaseFragment
-import com.pengxh.kt.lite.extensions.filterSpaceOrEnter
import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.show
+import com.pengxh.kt.lite.extensions.toJson
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import kotlinx.android.synthetic.main.fragment_query_event.*
import kotlinx.android.synthetic.main.include_empty_view.*
@@ -83,7 +82,6 @@
override fun onResume() {
super.onResume()
- pageIndex = 1
getEventList()
}
@@ -119,7 +117,7 @@
viewHolder.setText(R.id.inspectMsgView, item.name)
.setText(R.id.inspectTypeView, "类型:${item.type}")
- .setText(R.id.inspectDateView, "上报时间:${item.createTime}")
+ .setText(R.id.inspectDateView, "时间:${item.createTime}")
}
}
eventRecyclerView.adapter = eventListAdapter
@@ -128,11 +126,7 @@
override fun onItemClicked(
position: Int, t: EventListModel.DataModel.RowsModel
) {
- requireContext().navigatePageTo(
- addAll(
- t.createTime, t.description!!.filterSpaceOrEnter(), t.data, t.images
- )
- )
+ requireContext().navigatePageTo(t.toJson())
}
})
}
diff --git a/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt
index 81ffffd..4a898ce 100644
--- a/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt
@@ -8,6 +8,7 @@
import android.graphics.Color
import android.os.Bundle
import android.os.Handler
+import android.os.Message
import android.os.Vibrator
import android.util.Log
import android.view.LayoutInflater
@@ -33,10 +34,7 @@
import com.casic.birmm.inspect.utils.LocaleConstant
import com.casic.birmm.inspect.utils.SoundPoolHelper
import com.google.gson.Gson
-import com.pengxh.kt.lite.extensions.navigatePageTo
-import com.pengxh.kt.lite.extensions.show
-import com.pengxh.kt.lite.extensions.timestampToCompleteDate
-import com.pengxh.kt.lite.extensions.timestampToDate
+import com.pengxh.kt.lite.extensions.*
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.utils.ble.BLEManager
@@ -46,20 +44,15 @@
import com.pengxh.kt.lite.widget.dialog.AlertControlDialog
import com.pengxh.kt.lite.widget.dialog.AlertInputDialog
import com.pengxh.kt.lite.widget.dialog.BottomActionSheet
-import com.qmuiteam.qmui.util.QMUIDisplayHelper
import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet
import kotlinx.android.synthetic.main.single_fragment_map_inspect.view.*
import java.util.*
@SuppressLint("MissingPermission")
-class HomePageFragment : Fragment() {
+class HomePageFragment : Fragment(), Handler.Callback {
private val kTag = "HomePageFragment"
private val gson by lazy { Gson() }
- private val isOpenWarning =
- SaveKeyValues.getValue(LocaleConstant.SINGLE_OPEN_WARNING, false) as Boolean
- private val isAutoRecord =
- SaveKeyValues.getValue(LocaleConstant.SINGLE_AUTO_RECORD, false) as Boolean
private lateinit var homeView: View
private lateinit var vibrator: Vibrator
private lateinit var aMap: AMap
@@ -80,14 +73,14 @@
homeView = inflater.inflate(R.layout.single_fragment_map_inspect, container, false)
//根据不同设备状态栏高度设置statusBarView高度
- val statusBarHeight = QMUIDisplayHelper.getStatusBarHeight(requireContext())
+ val statusBarHeight = requireContext().getStatusBarHeight()
val params = homeView.statusBarView.layoutParams as LinearLayout.LayoutParams
params.height = statusBarHeight
homeView.statusBarView.setBackgroundColor(Color.parseColor("#D6EEFE"))
homeView.statusBarView.requestLayout()
vibrator = requireContext().getSystemService(Context.VIBRATOR_SERVICE) as Vibrator
- weakReferenceHandler = WeakReferenceHandler(callback)
+ weakReferenceHandler = WeakReferenceHandler(this)
if (BLEManager.initBLE(requireContext())) {
if (!BLEManager.isBluetoothEnable()) {
@@ -104,12 +97,10 @@
uiSettings.isRotateGesturesEnabled = false//不许地图随手势旋转角度
//显示定位小蓝点
locationStyle = MyLocationStyle()
- locationStyle
locationStyle.showMyLocation(true)//设置是否显示定位小蓝点
- locationStyle.interval(10 * 1000)////设置连续定位模式下的定位间隔,只在连续定位模式下生效。单位为毫秒
aMap.myLocationStyle = locationStyle
aMap.isMyLocationEnabled = true
- aMap.moveCamera(CameraUpdateFactory.zoomTo(14.toFloat()))
+ aMap.moveCamera(CameraUpdateFactory.zoomTo(16.toFloat()))
initEvent()
@@ -157,15 +148,14 @@
.setOnActionSheetListener(object : BottomActionSheet.OnActionSheetListener {
override fun onActionItemClick(position: Int) {
//获取当前定位
- val currentLng = SaveKeyValues.getValue(
+ val lng = SaveKeyValues.getValue(
LocaleConstant.CURRENT_LONGITUDE, "0.0"
) as String
- val currentLat =
- SaveKeyValues.getValue(LocaleConstant.CURRENT_LATITUDE, "0.0") as String
+ val lat = SaveKeyValues.getValue(
+ LocaleConstant.CURRENT_LATITUDE, "0.0"
+ ) as String
requireContext().navigatePageTo(
- addAll(
- position.toString(), model.id, model.name, currentLng, currentLat
- )
+ addAll(position.toString(), model.id, model.name, lng, lat)
)
}
}).build().show()
@@ -281,7 +271,7 @@
}
}
- private val callback = Handler.Callback { msg ->
+ override fun handleMessage(msg: Message): Boolean {
when (msg.what) {
LocaleConstant.BLUETOOTH_ON -> {
"蓝牙已开启".show(requireContext())
@@ -350,7 +340,7 @@
)
LocaleConstant.DISCONNECT_SUCCESS -> curConnectState = false
}
- true
+ return true
}
private fun startConnectDevice(device: BluetoothDevice) {
@@ -502,11 +492,15 @@
homeView.settingsValueView.text = dataModel.alarmValue.toString()
homeView.maxValueView.text = dataModel.maxPotency.toString()
//判断是否需要报警
+ val isOpenWarning =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_OPEN_WARNING, false) as Boolean
if (isOpenWarning) {
if (dataModel.potency >= dataModel.alarmValue) {
//当前值大于设置值,需要报警
SoundPoolHelper.playSound(requireContext(), R.raw.alarm)
vibrator.vibrate(1000)
+ val isAutoRecord =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_AUTO_RECORD, false) as Boolean
if (isAutoRecord) {
//如果连续超过10个报警,自动生成报警事件
alarmCount++
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 139dc2a..e7cbf98 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -11,6 +11,7 @@
+
diff --git a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt
index 91cd394..a757dfb 100644
--- a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt
@@ -8,6 +8,7 @@
import android.graphics.Color
import android.os.Bundle
import android.os.Handler
+import android.os.Message
import android.os.Vibrator
import android.util.Log
import android.view.LayoutInflater
@@ -37,10 +38,7 @@
import com.casic.birmm.inspect.vm.EventViewModel
import com.casic.birmm.inspect.vm.InspectionViewModel
import com.google.gson.Gson
-import com.pengxh.kt.lite.extensions.navigatePageTo
-import com.pengxh.kt.lite.extensions.show
-import com.pengxh.kt.lite.extensions.timestampToCompleteDate
-import com.pengxh.kt.lite.extensions.timestampToDate
+import com.pengxh.kt.lite.extensions.*
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.utils.ble.BLEManager
@@ -51,20 +49,15 @@
import com.pengxh.kt.lite.widget.dialog.AlertControlDialog
import com.pengxh.kt.lite.widget.dialog.AlertInputDialog
import com.pengxh.kt.lite.widget.dialog.BottomActionSheet
-import com.qmuiteam.qmui.util.QMUIDisplayHelper
import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet
import kotlinx.android.synthetic.main.fragment_map_inspect.view.*
import java.util.*
@SuppressLint("MissingPermission")
-class HomePageFragment : Fragment() {
+class HomePageFragment : Fragment(), Handler.Callback {
private val kTag = "HomePageFragment"
private val gson by lazy { Gson() }
- private val isOpenWarning =
- SaveKeyValues.getValue(LocaleConstant.OPEN_WARNING, false) as Boolean
- private val isAutoRecord =
- SaveKeyValues.getValue(LocaleConstant.AUTO_RECORD, false) as Boolean
private lateinit var homeView: View
private lateinit var userData: UserInfoModel.DataModel
private lateinit var vibrator: Vibrator
@@ -88,7 +81,7 @@
homeView = inflater.inflate(R.layout.fragment_map_inspect, container, false)
//根据不同设备状态栏高度设置statusBarView高度
- val statusBarHeight = QMUIDisplayHelper.getStatusBarHeight(requireContext())
+ val statusBarHeight = requireContext().getStatusBarHeight()
val params = homeView.statusBarView.layoutParams as LinearLayout.LayoutParams
params.height = statusBarHeight
homeView.statusBarView.setBackgroundColor(Color.parseColor("#D6EEFE"))
@@ -109,7 +102,7 @@
val userModelJson = SaveKeyValues.getValue(LocaleConstant.USER_OBJECT, "") as String
userData = gson.fromJson(userModelJson, UserInfoModel::class.java).data!!
- weakReferenceHandler = WeakReferenceHandler(callback)
+ weakReferenceHandler = WeakReferenceHandler(this)
if (BLEManager.initBLE(requireContext())) {
if (!BLEManager.isBluetoothEnable()) {
@@ -126,12 +119,10 @@
uiSettings.isRotateGesturesEnabled = false//不许地图随手势旋转角度
//显示定位小蓝点
locationStyle = MyLocationStyle()
- locationStyle
locationStyle.showMyLocation(true)//设置是否显示定位小蓝点
- locationStyle.interval(10 * 1000)////设置连续定位模式下的定位间隔,只在连续定位模式下生效。单位为毫秒
aMap.myLocationStyle = locationStyle
aMap.isMyLocationEnabled = true
- aMap.moveCamera(CameraUpdateFactory.zoomTo(14.toFloat()))
+ aMap.moveCamera(CameraUpdateFactory.zoomTo(16.toFloat()))
initEvent()
@@ -179,15 +170,14 @@
.setOnActionSheetListener(object : BottomActionSheet.OnActionSheetListener {
override fun onActionItemClick(position: Int) {
//获取当前定位
- val currentLng = SaveKeyValues.getValue(
+ val lng = SaveKeyValues.getValue(
LocaleConstant.CURRENT_LONGITUDE, "0.0"
) as String
- val currentLat =
- SaveKeyValues.getValue(LocaleConstant.CURRENT_LATITUDE, "0.0") as String
+ val lat = SaveKeyValues.getValue(
+ LocaleConstant.CURRENT_LATITUDE, "0.0"
+ ) as String
requireContext().navigatePageTo(
- addAll(
- position.toString(), model.id, model.name, currentLng, currentLat
- )
+ addAll(position.toString(), model.id, model.name, lng, lat)
)
}
}).build().show()
@@ -303,7 +293,7 @@
}
}
- private val callback = Handler.Callback { msg ->
+ override fun handleMessage(msg: Message): Boolean {
when (msg.what) {
LocaleConstant.BLUETOOTH_ON -> {
"蓝牙已开启".show(requireContext())
@@ -372,7 +362,7 @@
)
LocaleConstant.DISCONNECT_SUCCESS -> curConnectState = false
}
- true
+ return true
}
private fun startConnectDevice(device: BluetoothDevice) {
@@ -529,11 +519,15 @@
homeView.settingsValueView.text = dataModel.alarmValue.toString()
homeView.maxValueView.text = dataModel.maxPotency.toString()
//判断是否需要报警
+ val isOpenWarning =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_OPEN_WARNING, false) as Boolean
if (isOpenWarning) {
if (dataModel.potency >= dataModel.alarmValue) {
//当前值大于设置值,需要报警
SoundPoolHelper.playSound(requireContext(), R.raw.alarm)
vibrator.vibrate(1000)
+ val isAutoRecord =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_AUTO_RECORD, false) as Boolean
if (isAutoRecord) {
//如果连续超过10个报警,自动生成报警事件
alarmCount++
diff --git a/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt b/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt
index 82a23c9..d134e0b 100644
--- a/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt
@@ -3,7 +3,6 @@
import android.os.Handler
import androidx.lifecycle.ViewModelProvider
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.extensions.addAll
import com.casic.birmm.inspect.extensions.combineImagePath
import com.casic.birmm.inspect.model.EventListModel
import com.casic.birmm.inspect.view.EventDetailActivity
@@ -11,9 +10,9 @@
import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter
import com.pengxh.kt.lite.adapter.ViewHolder
import com.pengxh.kt.lite.base.KotlinBaseFragment
-import com.pengxh.kt.lite.extensions.filterSpaceOrEnter
import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.show
+import com.pengxh.kt.lite.extensions.toJson
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import kotlinx.android.synthetic.main.fragment_query_event.*
import kotlinx.android.synthetic.main.include_empty_view.*
@@ -83,7 +82,6 @@
override fun onResume() {
super.onResume()
- pageIndex = 1
getEventList()
}
@@ -119,7 +117,7 @@
viewHolder.setText(R.id.inspectMsgView, item.name)
.setText(R.id.inspectTypeView, "类型:${item.type}")
- .setText(R.id.inspectDateView, "上报时间:${item.createTime}")
+ .setText(R.id.inspectDateView, "时间:${item.createTime}")
}
}
eventRecyclerView.adapter = eventListAdapter
@@ -128,11 +126,7 @@
override fun onItemClicked(
position: Int, t: EventListModel.DataModel.RowsModel
) {
- requireContext().navigatePageTo(
- addAll(
- t.createTime, t.description!!.filterSpaceOrEnter(), t.data, t.images
- )
- )
+ requireContext().navigatePageTo(t.toJson())
}
})
}
diff --git a/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt
index 81ffffd..4a898ce 100644
--- a/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt
@@ -8,6 +8,7 @@
import android.graphics.Color
import android.os.Bundle
import android.os.Handler
+import android.os.Message
import android.os.Vibrator
import android.util.Log
import android.view.LayoutInflater
@@ -33,10 +34,7 @@
import com.casic.birmm.inspect.utils.LocaleConstant
import com.casic.birmm.inspect.utils.SoundPoolHelper
import com.google.gson.Gson
-import com.pengxh.kt.lite.extensions.navigatePageTo
-import com.pengxh.kt.lite.extensions.show
-import com.pengxh.kt.lite.extensions.timestampToCompleteDate
-import com.pengxh.kt.lite.extensions.timestampToDate
+import com.pengxh.kt.lite.extensions.*
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.utils.ble.BLEManager
@@ -46,20 +44,15 @@
import com.pengxh.kt.lite.widget.dialog.AlertControlDialog
import com.pengxh.kt.lite.widget.dialog.AlertInputDialog
import com.pengxh.kt.lite.widget.dialog.BottomActionSheet
-import com.qmuiteam.qmui.util.QMUIDisplayHelper
import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet
import kotlinx.android.synthetic.main.single_fragment_map_inspect.view.*
import java.util.*
@SuppressLint("MissingPermission")
-class HomePageFragment : Fragment() {
+class HomePageFragment : Fragment(), Handler.Callback {
private val kTag = "HomePageFragment"
private val gson by lazy { Gson() }
- private val isOpenWarning =
- SaveKeyValues.getValue(LocaleConstant.SINGLE_OPEN_WARNING, false) as Boolean
- private val isAutoRecord =
- SaveKeyValues.getValue(LocaleConstant.SINGLE_AUTO_RECORD, false) as Boolean
private lateinit var homeView: View
private lateinit var vibrator: Vibrator
private lateinit var aMap: AMap
@@ -80,14 +73,14 @@
homeView = inflater.inflate(R.layout.single_fragment_map_inspect, container, false)
//根据不同设备状态栏高度设置statusBarView高度
- val statusBarHeight = QMUIDisplayHelper.getStatusBarHeight(requireContext())
+ val statusBarHeight = requireContext().getStatusBarHeight()
val params = homeView.statusBarView.layoutParams as LinearLayout.LayoutParams
params.height = statusBarHeight
homeView.statusBarView.setBackgroundColor(Color.parseColor("#D6EEFE"))
homeView.statusBarView.requestLayout()
vibrator = requireContext().getSystemService(Context.VIBRATOR_SERVICE) as Vibrator
- weakReferenceHandler = WeakReferenceHandler(callback)
+ weakReferenceHandler = WeakReferenceHandler(this)
if (BLEManager.initBLE(requireContext())) {
if (!BLEManager.isBluetoothEnable()) {
@@ -104,12 +97,10 @@
uiSettings.isRotateGesturesEnabled = false//不许地图随手势旋转角度
//显示定位小蓝点
locationStyle = MyLocationStyle()
- locationStyle
locationStyle.showMyLocation(true)//设置是否显示定位小蓝点
- locationStyle.interval(10 * 1000)////设置连续定位模式下的定位间隔,只在连续定位模式下生效。单位为毫秒
aMap.myLocationStyle = locationStyle
aMap.isMyLocationEnabled = true
- aMap.moveCamera(CameraUpdateFactory.zoomTo(14.toFloat()))
+ aMap.moveCamera(CameraUpdateFactory.zoomTo(16.toFloat()))
initEvent()
@@ -157,15 +148,14 @@
.setOnActionSheetListener(object : BottomActionSheet.OnActionSheetListener {
override fun onActionItemClick(position: Int) {
//获取当前定位
- val currentLng = SaveKeyValues.getValue(
+ val lng = SaveKeyValues.getValue(
LocaleConstant.CURRENT_LONGITUDE, "0.0"
) as String
- val currentLat =
- SaveKeyValues.getValue(LocaleConstant.CURRENT_LATITUDE, "0.0") as String
+ val lat = SaveKeyValues.getValue(
+ LocaleConstant.CURRENT_LATITUDE, "0.0"
+ ) as String
requireContext().navigatePageTo(
- addAll(
- position.toString(), model.id, model.name, currentLng, currentLat
- )
+ addAll(position.toString(), model.id, model.name, lng, lat)
)
}
}).build().show()
@@ -281,7 +271,7 @@
}
}
- private val callback = Handler.Callback { msg ->
+ override fun handleMessage(msg: Message): Boolean {
when (msg.what) {
LocaleConstant.BLUETOOTH_ON -> {
"蓝牙已开启".show(requireContext())
@@ -350,7 +340,7 @@
)
LocaleConstant.DISCONNECT_SUCCESS -> curConnectState = false
}
- true
+ return true
}
private fun startConnectDevice(device: BluetoothDevice) {
@@ -502,11 +492,15 @@
homeView.settingsValueView.text = dataModel.alarmValue.toString()
homeView.maxValueView.text = dataModel.maxPotency.toString()
//判断是否需要报警
+ val isOpenWarning =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_OPEN_WARNING, false) as Boolean
if (isOpenWarning) {
if (dataModel.potency >= dataModel.alarmValue) {
//当前值大于设置值,需要报警
SoundPoolHelper.playSound(requireContext(), R.raw.alarm)
vibrator.vibrate(1000)
+ val isAutoRecord =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_AUTO_RECORD, false) as Boolean
if (isAutoRecord) {
//如果连续超过10个报警,自动生成报警事件
alarmCount++
diff --git a/app/src/main/java/com/casic/birmm/inspect/single/fragment/QueryEventFragment.kt b/app/src/main/java/com/casic/birmm/inspect/single/fragment/QueryEventFragment.kt
index 96dba16..812d329 100644
--- a/app/src/main/java/com/casic/birmm/inspect/single/fragment/QueryEventFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/single/fragment/QueryEventFragment.kt
@@ -3,15 +3,14 @@
import androidx.lifecycle.lifecycleScope
import com.bumptech.glide.Glide
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.extensions.addAll
import com.casic.birmm.inspect.model.EventListModel
import com.casic.birmm.inspect.single.view.EventDetailActivity
import com.casic.birmm.inspect.utils.DataBaseManager
import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter
import com.pengxh.kt.lite.adapter.ViewHolder
import com.pengxh.kt.lite.base.KotlinBaseFragment
-import com.pengxh.kt.lite.extensions.filterSpaceOrEnter
import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.extensions.toJson
import kotlinx.android.synthetic.main.include_empty_view.*
import kotlinx.android.synthetic.main.single_fragment_query_event.*
import kotlinx.coroutines.Dispatchers
@@ -41,8 +40,7 @@
R.layout.item_event_rv_l, dataBeans
) {
override fun convertView(
- viewHolder: ViewHolder,
- position: Int,
+ viewHolder: ViewHolder, position: Int,
item: EventListModel.DataModel.RowsModel
) {
if (!item.images.isNullOrBlank()) {
@@ -61,22 +59,15 @@
}
viewHolder.setText(R.id.inspectMsgView, item.name)
- .setText(R.id.inspectMsgView, "类型:${item.type}")
- .setText(R.id.inspectMsgView, "上报时间:${item.createTime}")
+ .setText(R.id.inspectTypeView, "类型:${item.type}")
+ .setText(R.id.inspectDateView, "时间:${item.createTime}")
}
}
eventRecyclerView.adapter = eventListAdapter
eventListAdapter.setOnItemClickedListener(object :
NormalRecyclerAdapter.OnItemClickedListener {
override fun onItemClicked(position: Int, t: EventListModel.DataModel.RowsModel) {
- requireContext().navigatePageTo(
- addAll(
- t.createTime.toString(),
- t.description!!.filterSpaceOrEnter(),
- t.data.toString(),
- t.images.toString()
- )
- )
+ requireContext().navigatePageTo(t.toJson())
}
})
}
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 139dc2a..e7cbf98 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -11,6 +11,7 @@
+
diff --git a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt
index 91cd394..a757dfb 100644
--- a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt
@@ -8,6 +8,7 @@
import android.graphics.Color
import android.os.Bundle
import android.os.Handler
+import android.os.Message
import android.os.Vibrator
import android.util.Log
import android.view.LayoutInflater
@@ -37,10 +38,7 @@
import com.casic.birmm.inspect.vm.EventViewModel
import com.casic.birmm.inspect.vm.InspectionViewModel
import com.google.gson.Gson
-import com.pengxh.kt.lite.extensions.navigatePageTo
-import com.pengxh.kt.lite.extensions.show
-import com.pengxh.kt.lite.extensions.timestampToCompleteDate
-import com.pengxh.kt.lite.extensions.timestampToDate
+import com.pengxh.kt.lite.extensions.*
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.utils.ble.BLEManager
@@ -51,20 +49,15 @@
import com.pengxh.kt.lite.widget.dialog.AlertControlDialog
import com.pengxh.kt.lite.widget.dialog.AlertInputDialog
import com.pengxh.kt.lite.widget.dialog.BottomActionSheet
-import com.qmuiteam.qmui.util.QMUIDisplayHelper
import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet
import kotlinx.android.synthetic.main.fragment_map_inspect.view.*
import java.util.*
@SuppressLint("MissingPermission")
-class HomePageFragment : Fragment() {
+class HomePageFragment : Fragment(), Handler.Callback {
private val kTag = "HomePageFragment"
private val gson by lazy { Gson() }
- private val isOpenWarning =
- SaveKeyValues.getValue(LocaleConstant.OPEN_WARNING, false) as Boolean
- private val isAutoRecord =
- SaveKeyValues.getValue(LocaleConstant.AUTO_RECORD, false) as Boolean
private lateinit var homeView: View
private lateinit var userData: UserInfoModel.DataModel
private lateinit var vibrator: Vibrator
@@ -88,7 +81,7 @@
homeView = inflater.inflate(R.layout.fragment_map_inspect, container, false)
//根据不同设备状态栏高度设置statusBarView高度
- val statusBarHeight = QMUIDisplayHelper.getStatusBarHeight(requireContext())
+ val statusBarHeight = requireContext().getStatusBarHeight()
val params = homeView.statusBarView.layoutParams as LinearLayout.LayoutParams
params.height = statusBarHeight
homeView.statusBarView.setBackgroundColor(Color.parseColor("#D6EEFE"))
@@ -109,7 +102,7 @@
val userModelJson = SaveKeyValues.getValue(LocaleConstant.USER_OBJECT, "") as String
userData = gson.fromJson(userModelJson, UserInfoModel::class.java).data!!
- weakReferenceHandler = WeakReferenceHandler(callback)
+ weakReferenceHandler = WeakReferenceHandler(this)
if (BLEManager.initBLE(requireContext())) {
if (!BLEManager.isBluetoothEnable()) {
@@ -126,12 +119,10 @@
uiSettings.isRotateGesturesEnabled = false//不许地图随手势旋转角度
//显示定位小蓝点
locationStyle = MyLocationStyle()
- locationStyle
locationStyle.showMyLocation(true)//设置是否显示定位小蓝点
- locationStyle.interval(10 * 1000)////设置连续定位模式下的定位间隔,只在连续定位模式下生效。单位为毫秒
aMap.myLocationStyle = locationStyle
aMap.isMyLocationEnabled = true
- aMap.moveCamera(CameraUpdateFactory.zoomTo(14.toFloat()))
+ aMap.moveCamera(CameraUpdateFactory.zoomTo(16.toFloat()))
initEvent()
@@ -179,15 +170,14 @@
.setOnActionSheetListener(object : BottomActionSheet.OnActionSheetListener {
override fun onActionItemClick(position: Int) {
//获取当前定位
- val currentLng = SaveKeyValues.getValue(
+ val lng = SaveKeyValues.getValue(
LocaleConstant.CURRENT_LONGITUDE, "0.0"
) as String
- val currentLat =
- SaveKeyValues.getValue(LocaleConstant.CURRENT_LATITUDE, "0.0") as String
+ val lat = SaveKeyValues.getValue(
+ LocaleConstant.CURRENT_LATITUDE, "0.0"
+ ) as String
requireContext().navigatePageTo(
- addAll(
- position.toString(), model.id, model.name, currentLng, currentLat
- )
+ addAll(position.toString(), model.id, model.name, lng, lat)
)
}
}).build().show()
@@ -303,7 +293,7 @@
}
}
- private val callback = Handler.Callback { msg ->
+ override fun handleMessage(msg: Message): Boolean {
when (msg.what) {
LocaleConstant.BLUETOOTH_ON -> {
"蓝牙已开启".show(requireContext())
@@ -372,7 +362,7 @@
)
LocaleConstant.DISCONNECT_SUCCESS -> curConnectState = false
}
- true
+ return true
}
private fun startConnectDevice(device: BluetoothDevice) {
@@ -529,11 +519,15 @@
homeView.settingsValueView.text = dataModel.alarmValue.toString()
homeView.maxValueView.text = dataModel.maxPotency.toString()
//判断是否需要报警
+ val isOpenWarning =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_OPEN_WARNING, false) as Boolean
if (isOpenWarning) {
if (dataModel.potency >= dataModel.alarmValue) {
//当前值大于设置值,需要报警
SoundPoolHelper.playSound(requireContext(), R.raw.alarm)
vibrator.vibrate(1000)
+ val isAutoRecord =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_AUTO_RECORD, false) as Boolean
if (isAutoRecord) {
//如果连续超过10个报警,自动生成报警事件
alarmCount++
diff --git a/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt b/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt
index 82a23c9..d134e0b 100644
--- a/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt
@@ -3,7 +3,6 @@
import android.os.Handler
import androidx.lifecycle.ViewModelProvider
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.extensions.addAll
import com.casic.birmm.inspect.extensions.combineImagePath
import com.casic.birmm.inspect.model.EventListModel
import com.casic.birmm.inspect.view.EventDetailActivity
@@ -11,9 +10,9 @@
import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter
import com.pengxh.kt.lite.adapter.ViewHolder
import com.pengxh.kt.lite.base.KotlinBaseFragment
-import com.pengxh.kt.lite.extensions.filterSpaceOrEnter
import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.show
+import com.pengxh.kt.lite.extensions.toJson
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import kotlinx.android.synthetic.main.fragment_query_event.*
import kotlinx.android.synthetic.main.include_empty_view.*
@@ -83,7 +82,6 @@
override fun onResume() {
super.onResume()
- pageIndex = 1
getEventList()
}
@@ -119,7 +117,7 @@
viewHolder.setText(R.id.inspectMsgView, item.name)
.setText(R.id.inspectTypeView, "类型:${item.type}")
- .setText(R.id.inspectDateView, "上报时间:${item.createTime}")
+ .setText(R.id.inspectDateView, "时间:${item.createTime}")
}
}
eventRecyclerView.adapter = eventListAdapter
@@ -128,11 +126,7 @@
override fun onItemClicked(
position: Int, t: EventListModel.DataModel.RowsModel
) {
- requireContext().navigatePageTo(
- addAll(
- t.createTime, t.description!!.filterSpaceOrEnter(), t.data, t.images
- )
- )
+ requireContext().navigatePageTo(t.toJson())
}
})
}
diff --git a/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt
index 81ffffd..4a898ce 100644
--- a/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt
@@ -8,6 +8,7 @@
import android.graphics.Color
import android.os.Bundle
import android.os.Handler
+import android.os.Message
import android.os.Vibrator
import android.util.Log
import android.view.LayoutInflater
@@ -33,10 +34,7 @@
import com.casic.birmm.inspect.utils.LocaleConstant
import com.casic.birmm.inspect.utils.SoundPoolHelper
import com.google.gson.Gson
-import com.pengxh.kt.lite.extensions.navigatePageTo
-import com.pengxh.kt.lite.extensions.show
-import com.pengxh.kt.lite.extensions.timestampToCompleteDate
-import com.pengxh.kt.lite.extensions.timestampToDate
+import com.pengxh.kt.lite.extensions.*
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.utils.ble.BLEManager
@@ -46,20 +44,15 @@
import com.pengxh.kt.lite.widget.dialog.AlertControlDialog
import com.pengxh.kt.lite.widget.dialog.AlertInputDialog
import com.pengxh.kt.lite.widget.dialog.BottomActionSheet
-import com.qmuiteam.qmui.util.QMUIDisplayHelper
import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet
import kotlinx.android.synthetic.main.single_fragment_map_inspect.view.*
import java.util.*
@SuppressLint("MissingPermission")
-class HomePageFragment : Fragment() {
+class HomePageFragment : Fragment(), Handler.Callback {
private val kTag = "HomePageFragment"
private val gson by lazy { Gson() }
- private val isOpenWarning =
- SaveKeyValues.getValue(LocaleConstant.SINGLE_OPEN_WARNING, false) as Boolean
- private val isAutoRecord =
- SaveKeyValues.getValue(LocaleConstant.SINGLE_AUTO_RECORD, false) as Boolean
private lateinit var homeView: View
private lateinit var vibrator: Vibrator
private lateinit var aMap: AMap
@@ -80,14 +73,14 @@
homeView = inflater.inflate(R.layout.single_fragment_map_inspect, container, false)
//根据不同设备状态栏高度设置statusBarView高度
- val statusBarHeight = QMUIDisplayHelper.getStatusBarHeight(requireContext())
+ val statusBarHeight = requireContext().getStatusBarHeight()
val params = homeView.statusBarView.layoutParams as LinearLayout.LayoutParams
params.height = statusBarHeight
homeView.statusBarView.setBackgroundColor(Color.parseColor("#D6EEFE"))
homeView.statusBarView.requestLayout()
vibrator = requireContext().getSystemService(Context.VIBRATOR_SERVICE) as Vibrator
- weakReferenceHandler = WeakReferenceHandler(callback)
+ weakReferenceHandler = WeakReferenceHandler(this)
if (BLEManager.initBLE(requireContext())) {
if (!BLEManager.isBluetoothEnable()) {
@@ -104,12 +97,10 @@
uiSettings.isRotateGesturesEnabled = false//不许地图随手势旋转角度
//显示定位小蓝点
locationStyle = MyLocationStyle()
- locationStyle
locationStyle.showMyLocation(true)//设置是否显示定位小蓝点
- locationStyle.interval(10 * 1000)////设置连续定位模式下的定位间隔,只在连续定位模式下生效。单位为毫秒
aMap.myLocationStyle = locationStyle
aMap.isMyLocationEnabled = true
- aMap.moveCamera(CameraUpdateFactory.zoomTo(14.toFloat()))
+ aMap.moveCamera(CameraUpdateFactory.zoomTo(16.toFloat()))
initEvent()
@@ -157,15 +148,14 @@
.setOnActionSheetListener(object : BottomActionSheet.OnActionSheetListener {
override fun onActionItemClick(position: Int) {
//获取当前定位
- val currentLng = SaveKeyValues.getValue(
+ val lng = SaveKeyValues.getValue(
LocaleConstant.CURRENT_LONGITUDE, "0.0"
) as String
- val currentLat =
- SaveKeyValues.getValue(LocaleConstant.CURRENT_LATITUDE, "0.0") as String
+ val lat = SaveKeyValues.getValue(
+ LocaleConstant.CURRENT_LATITUDE, "0.0"
+ ) as String
requireContext().navigatePageTo(
- addAll(
- position.toString(), model.id, model.name, currentLng, currentLat
- )
+ addAll(position.toString(), model.id, model.name, lng, lat)
)
}
}).build().show()
@@ -281,7 +271,7 @@
}
}
- private val callback = Handler.Callback { msg ->
+ override fun handleMessage(msg: Message): Boolean {
when (msg.what) {
LocaleConstant.BLUETOOTH_ON -> {
"蓝牙已开启".show(requireContext())
@@ -350,7 +340,7 @@
)
LocaleConstant.DISCONNECT_SUCCESS -> curConnectState = false
}
- true
+ return true
}
private fun startConnectDevice(device: BluetoothDevice) {
@@ -502,11 +492,15 @@
homeView.settingsValueView.text = dataModel.alarmValue.toString()
homeView.maxValueView.text = dataModel.maxPotency.toString()
//判断是否需要报警
+ val isOpenWarning =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_OPEN_WARNING, false) as Boolean
if (isOpenWarning) {
if (dataModel.potency >= dataModel.alarmValue) {
//当前值大于设置值,需要报警
SoundPoolHelper.playSound(requireContext(), R.raw.alarm)
vibrator.vibrate(1000)
+ val isAutoRecord =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_AUTO_RECORD, false) as Boolean
if (isAutoRecord) {
//如果连续超过10个报警,自动生成报警事件
alarmCount++
diff --git a/app/src/main/java/com/casic/birmm/inspect/single/fragment/QueryEventFragment.kt b/app/src/main/java/com/casic/birmm/inspect/single/fragment/QueryEventFragment.kt
index 96dba16..812d329 100644
--- a/app/src/main/java/com/casic/birmm/inspect/single/fragment/QueryEventFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/single/fragment/QueryEventFragment.kt
@@ -3,15 +3,14 @@
import androidx.lifecycle.lifecycleScope
import com.bumptech.glide.Glide
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.extensions.addAll
import com.casic.birmm.inspect.model.EventListModel
import com.casic.birmm.inspect.single.view.EventDetailActivity
import com.casic.birmm.inspect.utils.DataBaseManager
import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter
import com.pengxh.kt.lite.adapter.ViewHolder
import com.pengxh.kt.lite.base.KotlinBaseFragment
-import com.pengxh.kt.lite.extensions.filterSpaceOrEnter
import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.extensions.toJson
import kotlinx.android.synthetic.main.include_empty_view.*
import kotlinx.android.synthetic.main.single_fragment_query_event.*
import kotlinx.coroutines.Dispatchers
@@ -41,8 +40,7 @@
R.layout.item_event_rv_l, dataBeans
) {
override fun convertView(
- viewHolder: ViewHolder,
- position: Int,
+ viewHolder: ViewHolder, position: Int,
item: EventListModel.DataModel.RowsModel
) {
if (!item.images.isNullOrBlank()) {
@@ -61,22 +59,15 @@
}
viewHolder.setText(R.id.inspectMsgView, item.name)
- .setText(R.id.inspectMsgView, "类型:${item.type}")
- .setText(R.id.inspectMsgView, "上报时间:${item.createTime}")
+ .setText(R.id.inspectTypeView, "类型:${item.type}")
+ .setText(R.id.inspectDateView, "时间:${item.createTime}")
}
}
eventRecyclerView.adapter = eventListAdapter
eventListAdapter.setOnItemClickedListener(object :
NormalRecyclerAdapter.OnItemClickedListener {
override fun onItemClicked(position: Int, t: EventListModel.DataModel.RowsModel) {
- requireContext().navigatePageTo(
- addAll(
- t.createTime.toString(),
- t.description!!.filterSpaceOrEnter(),
- t.data.toString(),
- t.images.toString()
- )
- )
+ requireContext().navigatePageTo(t.toJson())
}
})
}
diff --git a/app/src/main/java/com/casic/birmm/inspect/single/view/EventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/single/view/EventDetailActivity.kt
index f00bbae..b7d59e8 100644
--- a/app/src/main/java/com/casic/birmm/inspect/single/view/EventDetailActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/single/view/EventDetailActivity.kt
@@ -2,7 +2,10 @@
import androidx.core.content.ContextCompat
import com.casic.birmm.inspect.R
+import com.casic.birmm.inspect.model.EventListModel
import com.casic.birmm.inspect.view.BigImageActivity
+import com.google.gson.Gson
+import com.google.gson.reflect.TypeToken
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter
import com.pengxh.kt.lite.base.KotlinBaseActivity
@@ -15,12 +18,17 @@
class EventDetailActivity : KotlinBaseActivity() {
- override fun initData() {
- val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!!
+ private val gson by lazy { Gson() }
- createTimeView.text = args[0]
- descriptionView.text = args[1]
- val data = args[2]
+ override fun initData() {
+ val args = intent.getStringExtra(Constant.INTENT_PARAM)!!
+ val model = gson.fromJson(
+ args, object : TypeToken() {}.type
+ )
+
+ createTimeView.text = model.createTime
+ descriptionView.text = model.description
+ val data = model.data
val value = if (data.isNullOrBlank()) {
"0.0"
} else {
@@ -28,7 +36,7 @@
}
dataView.text = value
- val images = args[3]
+ val images = model.images
/**
* images: 2020-12/6528aeb21cff426c91c43a7f8b716d1e.jpg
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 139dc2a..e7cbf98 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -11,6 +11,7 @@
+
diff --git a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt
index 91cd394..a757dfb 100644
--- a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt
@@ -8,6 +8,7 @@
import android.graphics.Color
import android.os.Bundle
import android.os.Handler
+import android.os.Message
import android.os.Vibrator
import android.util.Log
import android.view.LayoutInflater
@@ -37,10 +38,7 @@
import com.casic.birmm.inspect.vm.EventViewModel
import com.casic.birmm.inspect.vm.InspectionViewModel
import com.google.gson.Gson
-import com.pengxh.kt.lite.extensions.navigatePageTo
-import com.pengxh.kt.lite.extensions.show
-import com.pengxh.kt.lite.extensions.timestampToCompleteDate
-import com.pengxh.kt.lite.extensions.timestampToDate
+import com.pengxh.kt.lite.extensions.*
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.utils.ble.BLEManager
@@ -51,20 +49,15 @@
import com.pengxh.kt.lite.widget.dialog.AlertControlDialog
import com.pengxh.kt.lite.widget.dialog.AlertInputDialog
import com.pengxh.kt.lite.widget.dialog.BottomActionSheet
-import com.qmuiteam.qmui.util.QMUIDisplayHelper
import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet
import kotlinx.android.synthetic.main.fragment_map_inspect.view.*
import java.util.*
@SuppressLint("MissingPermission")
-class HomePageFragment : Fragment() {
+class HomePageFragment : Fragment(), Handler.Callback {
private val kTag = "HomePageFragment"
private val gson by lazy { Gson() }
- private val isOpenWarning =
- SaveKeyValues.getValue(LocaleConstant.OPEN_WARNING, false) as Boolean
- private val isAutoRecord =
- SaveKeyValues.getValue(LocaleConstant.AUTO_RECORD, false) as Boolean
private lateinit var homeView: View
private lateinit var userData: UserInfoModel.DataModel
private lateinit var vibrator: Vibrator
@@ -88,7 +81,7 @@
homeView = inflater.inflate(R.layout.fragment_map_inspect, container, false)
//根据不同设备状态栏高度设置statusBarView高度
- val statusBarHeight = QMUIDisplayHelper.getStatusBarHeight(requireContext())
+ val statusBarHeight = requireContext().getStatusBarHeight()
val params = homeView.statusBarView.layoutParams as LinearLayout.LayoutParams
params.height = statusBarHeight
homeView.statusBarView.setBackgroundColor(Color.parseColor("#D6EEFE"))
@@ -109,7 +102,7 @@
val userModelJson = SaveKeyValues.getValue(LocaleConstant.USER_OBJECT, "") as String
userData = gson.fromJson(userModelJson, UserInfoModel::class.java).data!!
- weakReferenceHandler = WeakReferenceHandler(callback)
+ weakReferenceHandler = WeakReferenceHandler(this)
if (BLEManager.initBLE(requireContext())) {
if (!BLEManager.isBluetoothEnable()) {
@@ -126,12 +119,10 @@
uiSettings.isRotateGesturesEnabled = false//不许地图随手势旋转角度
//显示定位小蓝点
locationStyle = MyLocationStyle()
- locationStyle
locationStyle.showMyLocation(true)//设置是否显示定位小蓝点
- locationStyle.interval(10 * 1000)////设置连续定位模式下的定位间隔,只在连续定位模式下生效。单位为毫秒
aMap.myLocationStyle = locationStyle
aMap.isMyLocationEnabled = true
- aMap.moveCamera(CameraUpdateFactory.zoomTo(14.toFloat()))
+ aMap.moveCamera(CameraUpdateFactory.zoomTo(16.toFloat()))
initEvent()
@@ -179,15 +170,14 @@
.setOnActionSheetListener(object : BottomActionSheet.OnActionSheetListener {
override fun onActionItemClick(position: Int) {
//获取当前定位
- val currentLng = SaveKeyValues.getValue(
+ val lng = SaveKeyValues.getValue(
LocaleConstant.CURRENT_LONGITUDE, "0.0"
) as String
- val currentLat =
- SaveKeyValues.getValue(LocaleConstant.CURRENT_LATITUDE, "0.0") as String
+ val lat = SaveKeyValues.getValue(
+ LocaleConstant.CURRENT_LATITUDE, "0.0"
+ ) as String
requireContext().navigatePageTo(
- addAll(
- position.toString(), model.id, model.name, currentLng, currentLat
- )
+ addAll(position.toString(), model.id, model.name, lng, lat)
)
}
}).build().show()
@@ -303,7 +293,7 @@
}
}
- private val callback = Handler.Callback { msg ->
+ override fun handleMessage(msg: Message): Boolean {
when (msg.what) {
LocaleConstant.BLUETOOTH_ON -> {
"蓝牙已开启".show(requireContext())
@@ -372,7 +362,7 @@
)
LocaleConstant.DISCONNECT_SUCCESS -> curConnectState = false
}
- true
+ return true
}
private fun startConnectDevice(device: BluetoothDevice) {
@@ -529,11 +519,15 @@
homeView.settingsValueView.text = dataModel.alarmValue.toString()
homeView.maxValueView.text = dataModel.maxPotency.toString()
//判断是否需要报警
+ val isOpenWarning =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_OPEN_WARNING, false) as Boolean
if (isOpenWarning) {
if (dataModel.potency >= dataModel.alarmValue) {
//当前值大于设置值,需要报警
SoundPoolHelper.playSound(requireContext(), R.raw.alarm)
vibrator.vibrate(1000)
+ val isAutoRecord =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_AUTO_RECORD, false) as Boolean
if (isAutoRecord) {
//如果连续超过10个报警,自动生成报警事件
alarmCount++
diff --git a/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt b/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt
index 82a23c9..d134e0b 100644
--- a/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt
@@ -3,7 +3,6 @@
import android.os.Handler
import androidx.lifecycle.ViewModelProvider
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.extensions.addAll
import com.casic.birmm.inspect.extensions.combineImagePath
import com.casic.birmm.inspect.model.EventListModel
import com.casic.birmm.inspect.view.EventDetailActivity
@@ -11,9 +10,9 @@
import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter
import com.pengxh.kt.lite.adapter.ViewHolder
import com.pengxh.kt.lite.base.KotlinBaseFragment
-import com.pengxh.kt.lite.extensions.filterSpaceOrEnter
import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.show
+import com.pengxh.kt.lite.extensions.toJson
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import kotlinx.android.synthetic.main.fragment_query_event.*
import kotlinx.android.synthetic.main.include_empty_view.*
@@ -83,7 +82,6 @@
override fun onResume() {
super.onResume()
- pageIndex = 1
getEventList()
}
@@ -119,7 +117,7 @@
viewHolder.setText(R.id.inspectMsgView, item.name)
.setText(R.id.inspectTypeView, "类型:${item.type}")
- .setText(R.id.inspectDateView, "上报时间:${item.createTime}")
+ .setText(R.id.inspectDateView, "时间:${item.createTime}")
}
}
eventRecyclerView.adapter = eventListAdapter
@@ -128,11 +126,7 @@
override fun onItemClicked(
position: Int, t: EventListModel.DataModel.RowsModel
) {
- requireContext().navigatePageTo(
- addAll(
- t.createTime, t.description!!.filterSpaceOrEnter(), t.data, t.images
- )
- )
+ requireContext().navigatePageTo(t.toJson())
}
})
}
diff --git a/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt
index 81ffffd..4a898ce 100644
--- a/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt
@@ -8,6 +8,7 @@
import android.graphics.Color
import android.os.Bundle
import android.os.Handler
+import android.os.Message
import android.os.Vibrator
import android.util.Log
import android.view.LayoutInflater
@@ -33,10 +34,7 @@
import com.casic.birmm.inspect.utils.LocaleConstant
import com.casic.birmm.inspect.utils.SoundPoolHelper
import com.google.gson.Gson
-import com.pengxh.kt.lite.extensions.navigatePageTo
-import com.pengxh.kt.lite.extensions.show
-import com.pengxh.kt.lite.extensions.timestampToCompleteDate
-import com.pengxh.kt.lite.extensions.timestampToDate
+import com.pengxh.kt.lite.extensions.*
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.utils.ble.BLEManager
@@ -46,20 +44,15 @@
import com.pengxh.kt.lite.widget.dialog.AlertControlDialog
import com.pengxh.kt.lite.widget.dialog.AlertInputDialog
import com.pengxh.kt.lite.widget.dialog.BottomActionSheet
-import com.qmuiteam.qmui.util.QMUIDisplayHelper
import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet
import kotlinx.android.synthetic.main.single_fragment_map_inspect.view.*
import java.util.*
@SuppressLint("MissingPermission")
-class HomePageFragment : Fragment() {
+class HomePageFragment : Fragment(), Handler.Callback {
private val kTag = "HomePageFragment"
private val gson by lazy { Gson() }
- private val isOpenWarning =
- SaveKeyValues.getValue(LocaleConstant.SINGLE_OPEN_WARNING, false) as Boolean
- private val isAutoRecord =
- SaveKeyValues.getValue(LocaleConstant.SINGLE_AUTO_RECORD, false) as Boolean
private lateinit var homeView: View
private lateinit var vibrator: Vibrator
private lateinit var aMap: AMap
@@ -80,14 +73,14 @@
homeView = inflater.inflate(R.layout.single_fragment_map_inspect, container, false)
//根据不同设备状态栏高度设置statusBarView高度
- val statusBarHeight = QMUIDisplayHelper.getStatusBarHeight(requireContext())
+ val statusBarHeight = requireContext().getStatusBarHeight()
val params = homeView.statusBarView.layoutParams as LinearLayout.LayoutParams
params.height = statusBarHeight
homeView.statusBarView.setBackgroundColor(Color.parseColor("#D6EEFE"))
homeView.statusBarView.requestLayout()
vibrator = requireContext().getSystemService(Context.VIBRATOR_SERVICE) as Vibrator
- weakReferenceHandler = WeakReferenceHandler(callback)
+ weakReferenceHandler = WeakReferenceHandler(this)
if (BLEManager.initBLE(requireContext())) {
if (!BLEManager.isBluetoothEnable()) {
@@ -104,12 +97,10 @@
uiSettings.isRotateGesturesEnabled = false//不许地图随手势旋转角度
//显示定位小蓝点
locationStyle = MyLocationStyle()
- locationStyle
locationStyle.showMyLocation(true)//设置是否显示定位小蓝点
- locationStyle.interval(10 * 1000)////设置连续定位模式下的定位间隔,只在连续定位模式下生效。单位为毫秒
aMap.myLocationStyle = locationStyle
aMap.isMyLocationEnabled = true
- aMap.moveCamera(CameraUpdateFactory.zoomTo(14.toFloat()))
+ aMap.moveCamera(CameraUpdateFactory.zoomTo(16.toFloat()))
initEvent()
@@ -157,15 +148,14 @@
.setOnActionSheetListener(object : BottomActionSheet.OnActionSheetListener {
override fun onActionItemClick(position: Int) {
//获取当前定位
- val currentLng = SaveKeyValues.getValue(
+ val lng = SaveKeyValues.getValue(
LocaleConstant.CURRENT_LONGITUDE, "0.0"
) as String
- val currentLat =
- SaveKeyValues.getValue(LocaleConstant.CURRENT_LATITUDE, "0.0") as String
+ val lat = SaveKeyValues.getValue(
+ LocaleConstant.CURRENT_LATITUDE, "0.0"
+ ) as String
requireContext().navigatePageTo(
- addAll(
- position.toString(), model.id, model.name, currentLng, currentLat
- )
+ addAll(position.toString(), model.id, model.name, lng, lat)
)
}
}).build().show()
@@ -281,7 +271,7 @@
}
}
- private val callback = Handler.Callback { msg ->
+ override fun handleMessage(msg: Message): Boolean {
when (msg.what) {
LocaleConstant.BLUETOOTH_ON -> {
"蓝牙已开启".show(requireContext())
@@ -350,7 +340,7 @@
)
LocaleConstant.DISCONNECT_SUCCESS -> curConnectState = false
}
- true
+ return true
}
private fun startConnectDevice(device: BluetoothDevice) {
@@ -502,11 +492,15 @@
homeView.settingsValueView.text = dataModel.alarmValue.toString()
homeView.maxValueView.text = dataModel.maxPotency.toString()
//判断是否需要报警
+ val isOpenWarning =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_OPEN_WARNING, false) as Boolean
if (isOpenWarning) {
if (dataModel.potency >= dataModel.alarmValue) {
//当前值大于设置值,需要报警
SoundPoolHelper.playSound(requireContext(), R.raw.alarm)
vibrator.vibrate(1000)
+ val isAutoRecord =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_AUTO_RECORD, false) as Boolean
if (isAutoRecord) {
//如果连续超过10个报警,自动生成报警事件
alarmCount++
diff --git a/app/src/main/java/com/casic/birmm/inspect/single/fragment/QueryEventFragment.kt b/app/src/main/java/com/casic/birmm/inspect/single/fragment/QueryEventFragment.kt
index 96dba16..812d329 100644
--- a/app/src/main/java/com/casic/birmm/inspect/single/fragment/QueryEventFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/single/fragment/QueryEventFragment.kt
@@ -3,15 +3,14 @@
import androidx.lifecycle.lifecycleScope
import com.bumptech.glide.Glide
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.extensions.addAll
import com.casic.birmm.inspect.model.EventListModel
import com.casic.birmm.inspect.single.view.EventDetailActivity
import com.casic.birmm.inspect.utils.DataBaseManager
import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter
import com.pengxh.kt.lite.adapter.ViewHolder
import com.pengxh.kt.lite.base.KotlinBaseFragment
-import com.pengxh.kt.lite.extensions.filterSpaceOrEnter
import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.extensions.toJson
import kotlinx.android.synthetic.main.include_empty_view.*
import kotlinx.android.synthetic.main.single_fragment_query_event.*
import kotlinx.coroutines.Dispatchers
@@ -41,8 +40,7 @@
R.layout.item_event_rv_l, dataBeans
) {
override fun convertView(
- viewHolder: ViewHolder,
- position: Int,
+ viewHolder: ViewHolder, position: Int,
item: EventListModel.DataModel.RowsModel
) {
if (!item.images.isNullOrBlank()) {
@@ -61,22 +59,15 @@
}
viewHolder.setText(R.id.inspectMsgView, item.name)
- .setText(R.id.inspectMsgView, "类型:${item.type}")
- .setText(R.id.inspectMsgView, "上报时间:${item.createTime}")
+ .setText(R.id.inspectTypeView, "类型:${item.type}")
+ .setText(R.id.inspectDateView, "时间:${item.createTime}")
}
}
eventRecyclerView.adapter = eventListAdapter
eventListAdapter.setOnItemClickedListener(object :
NormalRecyclerAdapter.OnItemClickedListener {
override fun onItemClicked(position: Int, t: EventListModel.DataModel.RowsModel) {
- requireContext().navigatePageTo(
- addAll(
- t.createTime.toString(),
- t.description!!.filterSpaceOrEnter(),
- t.data.toString(),
- t.images.toString()
- )
- )
+ requireContext().navigatePageTo(t.toJson())
}
})
}
diff --git a/app/src/main/java/com/casic/birmm/inspect/single/view/EventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/single/view/EventDetailActivity.kt
index f00bbae..b7d59e8 100644
--- a/app/src/main/java/com/casic/birmm/inspect/single/view/EventDetailActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/single/view/EventDetailActivity.kt
@@ -2,7 +2,10 @@
import androidx.core.content.ContextCompat
import com.casic.birmm.inspect.R
+import com.casic.birmm.inspect.model.EventListModel
import com.casic.birmm.inspect.view.BigImageActivity
+import com.google.gson.Gson
+import com.google.gson.reflect.TypeToken
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter
import com.pengxh.kt.lite.base.KotlinBaseActivity
@@ -15,12 +18,17 @@
class EventDetailActivity : KotlinBaseActivity() {
- override fun initData() {
- val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!!
+ private val gson by lazy { Gson() }
- createTimeView.text = args[0]
- descriptionView.text = args[1]
- val data = args[2]
+ override fun initData() {
+ val args = intent.getStringExtra(Constant.INTENT_PARAM)!!
+ val model = gson.fromJson(
+ args, object : TypeToken() {}.type
+ )
+
+ createTimeView.text = model.createTime
+ descriptionView.text = model.description
+ val data = model.data
val value = if (data.isNullOrBlank()) {
"0.0"
} else {
@@ -28,7 +36,7 @@
}
dataView.text = value
- val images = args[3]
+ val images = model.images
/**
* images: 2020-12/6528aeb21cff426c91c43a7f8b716d1e.jpg
diff --git a/app/src/main/java/com/casic/birmm/inspect/single/view/NewEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/single/view/NewEventActivity.kt
index b77a8f2..7e4f7e7 100644
--- a/app/src/main/java/com/casic/birmm/inspect/single/view/NewEventActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/single/view/NewEventActivity.kt
@@ -39,7 +39,7 @@
private var isWarning: Boolean = true
private var longitude: Double = 0.0
private var latitude: Double = 0.0
- private var data = -1.0//泄露默认值
+ private var data = 0.0//泄露默认值
override fun initData() {
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 139dc2a..e7cbf98 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -11,6 +11,7 @@
+
diff --git a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt
index 91cd394..a757dfb 100644
--- a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt
@@ -8,6 +8,7 @@
import android.graphics.Color
import android.os.Bundle
import android.os.Handler
+import android.os.Message
import android.os.Vibrator
import android.util.Log
import android.view.LayoutInflater
@@ -37,10 +38,7 @@
import com.casic.birmm.inspect.vm.EventViewModel
import com.casic.birmm.inspect.vm.InspectionViewModel
import com.google.gson.Gson
-import com.pengxh.kt.lite.extensions.navigatePageTo
-import com.pengxh.kt.lite.extensions.show
-import com.pengxh.kt.lite.extensions.timestampToCompleteDate
-import com.pengxh.kt.lite.extensions.timestampToDate
+import com.pengxh.kt.lite.extensions.*
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.utils.ble.BLEManager
@@ -51,20 +49,15 @@
import com.pengxh.kt.lite.widget.dialog.AlertControlDialog
import com.pengxh.kt.lite.widget.dialog.AlertInputDialog
import com.pengxh.kt.lite.widget.dialog.BottomActionSheet
-import com.qmuiteam.qmui.util.QMUIDisplayHelper
import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet
import kotlinx.android.synthetic.main.fragment_map_inspect.view.*
import java.util.*
@SuppressLint("MissingPermission")
-class HomePageFragment : Fragment() {
+class HomePageFragment : Fragment(), Handler.Callback {
private val kTag = "HomePageFragment"
private val gson by lazy { Gson() }
- private val isOpenWarning =
- SaveKeyValues.getValue(LocaleConstant.OPEN_WARNING, false) as Boolean
- private val isAutoRecord =
- SaveKeyValues.getValue(LocaleConstant.AUTO_RECORD, false) as Boolean
private lateinit var homeView: View
private lateinit var userData: UserInfoModel.DataModel
private lateinit var vibrator: Vibrator
@@ -88,7 +81,7 @@
homeView = inflater.inflate(R.layout.fragment_map_inspect, container, false)
//根据不同设备状态栏高度设置statusBarView高度
- val statusBarHeight = QMUIDisplayHelper.getStatusBarHeight(requireContext())
+ val statusBarHeight = requireContext().getStatusBarHeight()
val params = homeView.statusBarView.layoutParams as LinearLayout.LayoutParams
params.height = statusBarHeight
homeView.statusBarView.setBackgroundColor(Color.parseColor("#D6EEFE"))
@@ -109,7 +102,7 @@
val userModelJson = SaveKeyValues.getValue(LocaleConstant.USER_OBJECT, "") as String
userData = gson.fromJson(userModelJson, UserInfoModel::class.java).data!!
- weakReferenceHandler = WeakReferenceHandler(callback)
+ weakReferenceHandler = WeakReferenceHandler(this)
if (BLEManager.initBLE(requireContext())) {
if (!BLEManager.isBluetoothEnable()) {
@@ -126,12 +119,10 @@
uiSettings.isRotateGesturesEnabled = false//不许地图随手势旋转角度
//显示定位小蓝点
locationStyle = MyLocationStyle()
- locationStyle
locationStyle.showMyLocation(true)//设置是否显示定位小蓝点
- locationStyle.interval(10 * 1000)////设置连续定位模式下的定位间隔,只在连续定位模式下生效。单位为毫秒
aMap.myLocationStyle = locationStyle
aMap.isMyLocationEnabled = true
- aMap.moveCamera(CameraUpdateFactory.zoomTo(14.toFloat()))
+ aMap.moveCamera(CameraUpdateFactory.zoomTo(16.toFloat()))
initEvent()
@@ -179,15 +170,14 @@
.setOnActionSheetListener(object : BottomActionSheet.OnActionSheetListener {
override fun onActionItemClick(position: Int) {
//获取当前定位
- val currentLng = SaveKeyValues.getValue(
+ val lng = SaveKeyValues.getValue(
LocaleConstant.CURRENT_LONGITUDE, "0.0"
) as String
- val currentLat =
- SaveKeyValues.getValue(LocaleConstant.CURRENT_LATITUDE, "0.0") as String
+ val lat = SaveKeyValues.getValue(
+ LocaleConstant.CURRENT_LATITUDE, "0.0"
+ ) as String
requireContext().navigatePageTo(
- addAll(
- position.toString(), model.id, model.name, currentLng, currentLat
- )
+ addAll(position.toString(), model.id, model.name, lng, lat)
)
}
}).build().show()
@@ -303,7 +293,7 @@
}
}
- private val callback = Handler.Callback { msg ->
+ override fun handleMessage(msg: Message): Boolean {
when (msg.what) {
LocaleConstant.BLUETOOTH_ON -> {
"蓝牙已开启".show(requireContext())
@@ -372,7 +362,7 @@
)
LocaleConstant.DISCONNECT_SUCCESS -> curConnectState = false
}
- true
+ return true
}
private fun startConnectDevice(device: BluetoothDevice) {
@@ -529,11 +519,15 @@
homeView.settingsValueView.text = dataModel.alarmValue.toString()
homeView.maxValueView.text = dataModel.maxPotency.toString()
//判断是否需要报警
+ val isOpenWarning =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_OPEN_WARNING, false) as Boolean
if (isOpenWarning) {
if (dataModel.potency >= dataModel.alarmValue) {
//当前值大于设置值,需要报警
SoundPoolHelper.playSound(requireContext(), R.raw.alarm)
vibrator.vibrate(1000)
+ val isAutoRecord =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_AUTO_RECORD, false) as Boolean
if (isAutoRecord) {
//如果连续超过10个报警,自动生成报警事件
alarmCount++
diff --git a/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt b/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt
index 82a23c9..d134e0b 100644
--- a/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt
@@ -3,7 +3,6 @@
import android.os.Handler
import androidx.lifecycle.ViewModelProvider
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.extensions.addAll
import com.casic.birmm.inspect.extensions.combineImagePath
import com.casic.birmm.inspect.model.EventListModel
import com.casic.birmm.inspect.view.EventDetailActivity
@@ -11,9 +10,9 @@
import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter
import com.pengxh.kt.lite.adapter.ViewHolder
import com.pengxh.kt.lite.base.KotlinBaseFragment
-import com.pengxh.kt.lite.extensions.filterSpaceOrEnter
import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.show
+import com.pengxh.kt.lite.extensions.toJson
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import kotlinx.android.synthetic.main.fragment_query_event.*
import kotlinx.android.synthetic.main.include_empty_view.*
@@ -83,7 +82,6 @@
override fun onResume() {
super.onResume()
- pageIndex = 1
getEventList()
}
@@ -119,7 +117,7 @@
viewHolder.setText(R.id.inspectMsgView, item.name)
.setText(R.id.inspectTypeView, "类型:${item.type}")
- .setText(R.id.inspectDateView, "上报时间:${item.createTime}")
+ .setText(R.id.inspectDateView, "时间:${item.createTime}")
}
}
eventRecyclerView.adapter = eventListAdapter
@@ -128,11 +126,7 @@
override fun onItemClicked(
position: Int, t: EventListModel.DataModel.RowsModel
) {
- requireContext().navigatePageTo(
- addAll(
- t.createTime, t.description!!.filterSpaceOrEnter(), t.data, t.images
- )
- )
+ requireContext().navigatePageTo(t.toJson())
}
})
}
diff --git a/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt
index 81ffffd..4a898ce 100644
--- a/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt
@@ -8,6 +8,7 @@
import android.graphics.Color
import android.os.Bundle
import android.os.Handler
+import android.os.Message
import android.os.Vibrator
import android.util.Log
import android.view.LayoutInflater
@@ -33,10 +34,7 @@
import com.casic.birmm.inspect.utils.LocaleConstant
import com.casic.birmm.inspect.utils.SoundPoolHelper
import com.google.gson.Gson
-import com.pengxh.kt.lite.extensions.navigatePageTo
-import com.pengxh.kt.lite.extensions.show
-import com.pengxh.kt.lite.extensions.timestampToCompleteDate
-import com.pengxh.kt.lite.extensions.timestampToDate
+import com.pengxh.kt.lite.extensions.*
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.utils.ble.BLEManager
@@ -46,20 +44,15 @@
import com.pengxh.kt.lite.widget.dialog.AlertControlDialog
import com.pengxh.kt.lite.widget.dialog.AlertInputDialog
import com.pengxh.kt.lite.widget.dialog.BottomActionSheet
-import com.qmuiteam.qmui.util.QMUIDisplayHelper
import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet
import kotlinx.android.synthetic.main.single_fragment_map_inspect.view.*
import java.util.*
@SuppressLint("MissingPermission")
-class HomePageFragment : Fragment() {
+class HomePageFragment : Fragment(), Handler.Callback {
private val kTag = "HomePageFragment"
private val gson by lazy { Gson() }
- private val isOpenWarning =
- SaveKeyValues.getValue(LocaleConstant.SINGLE_OPEN_WARNING, false) as Boolean
- private val isAutoRecord =
- SaveKeyValues.getValue(LocaleConstant.SINGLE_AUTO_RECORD, false) as Boolean
private lateinit var homeView: View
private lateinit var vibrator: Vibrator
private lateinit var aMap: AMap
@@ -80,14 +73,14 @@
homeView = inflater.inflate(R.layout.single_fragment_map_inspect, container, false)
//根据不同设备状态栏高度设置statusBarView高度
- val statusBarHeight = QMUIDisplayHelper.getStatusBarHeight(requireContext())
+ val statusBarHeight = requireContext().getStatusBarHeight()
val params = homeView.statusBarView.layoutParams as LinearLayout.LayoutParams
params.height = statusBarHeight
homeView.statusBarView.setBackgroundColor(Color.parseColor("#D6EEFE"))
homeView.statusBarView.requestLayout()
vibrator = requireContext().getSystemService(Context.VIBRATOR_SERVICE) as Vibrator
- weakReferenceHandler = WeakReferenceHandler(callback)
+ weakReferenceHandler = WeakReferenceHandler(this)
if (BLEManager.initBLE(requireContext())) {
if (!BLEManager.isBluetoothEnable()) {
@@ -104,12 +97,10 @@
uiSettings.isRotateGesturesEnabled = false//不许地图随手势旋转角度
//显示定位小蓝点
locationStyle = MyLocationStyle()
- locationStyle
locationStyle.showMyLocation(true)//设置是否显示定位小蓝点
- locationStyle.interval(10 * 1000)////设置连续定位模式下的定位间隔,只在连续定位模式下生效。单位为毫秒
aMap.myLocationStyle = locationStyle
aMap.isMyLocationEnabled = true
- aMap.moveCamera(CameraUpdateFactory.zoomTo(14.toFloat()))
+ aMap.moveCamera(CameraUpdateFactory.zoomTo(16.toFloat()))
initEvent()
@@ -157,15 +148,14 @@
.setOnActionSheetListener(object : BottomActionSheet.OnActionSheetListener {
override fun onActionItemClick(position: Int) {
//获取当前定位
- val currentLng = SaveKeyValues.getValue(
+ val lng = SaveKeyValues.getValue(
LocaleConstant.CURRENT_LONGITUDE, "0.0"
) as String
- val currentLat =
- SaveKeyValues.getValue(LocaleConstant.CURRENT_LATITUDE, "0.0") as String
+ val lat = SaveKeyValues.getValue(
+ LocaleConstant.CURRENT_LATITUDE, "0.0"
+ ) as String
requireContext().navigatePageTo(
- addAll(
- position.toString(), model.id, model.name, currentLng, currentLat
- )
+ addAll(position.toString(), model.id, model.name, lng, lat)
)
}
}).build().show()
@@ -281,7 +271,7 @@
}
}
- private val callback = Handler.Callback { msg ->
+ override fun handleMessage(msg: Message): Boolean {
when (msg.what) {
LocaleConstant.BLUETOOTH_ON -> {
"蓝牙已开启".show(requireContext())
@@ -350,7 +340,7 @@
)
LocaleConstant.DISCONNECT_SUCCESS -> curConnectState = false
}
- true
+ return true
}
private fun startConnectDevice(device: BluetoothDevice) {
@@ -502,11 +492,15 @@
homeView.settingsValueView.text = dataModel.alarmValue.toString()
homeView.maxValueView.text = dataModel.maxPotency.toString()
//判断是否需要报警
+ val isOpenWarning =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_OPEN_WARNING, false) as Boolean
if (isOpenWarning) {
if (dataModel.potency >= dataModel.alarmValue) {
//当前值大于设置值,需要报警
SoundPoolHelper.playSound(requireContext(), R.raw.alarm)
vibrator.vibrate(1000)
+ val isAutoRecord =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_AUTO_RECORD, false) as Boolean
if (isAutoRecord) {
//如果连续超过10个报警,自动生成报警事件
alarmCount++
diff --git a/app/src/main/java/com/casic/birmm/inspect/single/fragment/QueryEventFragment.kt b/app/src/main/java/com/casic/birmm/inspect/single/fragment/QueryEventFragment.kt
index 96dba16..812d329 100644
--- a/app/src/main/java/com/casic/birmm/inspect/single/fragment/QueryEventFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/single/fragment/QueryEventFragment.kt
@@ -3,15 +3,14 @@
import androidx.lifecycle.lifecycleScope
import com.bumptech.glide.Glide
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.extensions.addAll
import com.casic.birmm.inspect.model.EventListModel
import com.casic.birmm.inspect.single.view.EventDetailActivity
import com.casic.birmm.inspect.utils.DataBaseManager
import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter
import com.pengxh.kt.lite.adapter.ViewHolder
import com.pengxh.kt.lite.base.KotlinBaseFragment
-import com.pengxh.kt.lite.extensions.filterSpaceOrEnter
import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.extensions.toJson
import kotlinx.android.synthetic.main.include_empty_view.*
import kotlinx.android.synthetic.main.single_fragment_query_event.*
import kotlinx.coroutines.Dispatchers
@@ -41,8 +40,7 @@
R.layout.item_event_rv_l, dataBeans
) {
override fun convertView(
- viewHolder: ViewHolder,
- position: Int,
+ viewHolder: ViewHolder, position: Int,
item: EventListModel.DataModel.RowsModel
) {
if (!item.images.isNullOrBlank()) {
@@ -61,22 +59,15 @@
}
viewHolder.setText(R.id.inspectMsgView, item.name)
- .setText(R.id.inspectMsgView, "类型:${item.type}")
- .setText(R.id.inspectMsgView, "上报时间:${item.createTime}")
+ .setText(R.id.inspectTypeView, "类型:${item.type}")
+ .setText(R.id.inspectDateView, "时间:${item.createTime}")
}
}
eventRecyclerView.adapter = eventListAdapter
eventListAdapter.setOnItemClickedListener(object :
NormalRecyclerAdapter.OnItemClickedListener {
override fun onItemClicked(position: Int, t: EventListModel.DataModel.RowsModel) {
- requireContext().navigatePageTo(
- addAll(
- t.createTime.toString(),
- t.description!!.filterSpaceOrEnter(),
- t.data.toString(),
- t.images.toString()
- )
- )
+ requireContext().navigatePageTo(t.toJson())
}
})
}
diff --git a/app/src/main/java/com/casic/birmm/inspect/single/view/EventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/single/view/EventDetailActivity.kt
index f00bbae..b7d59e8 100644
--- a/app/src/main/java/com/casic/birmm/inspect/single/view/EventDetailActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/single/view/EventDetailActivity.kt
@@ -2,7 +2,10 @@
import androidx.core.content.ContextCompat
import com.casic.birmm.inspect.R
+import com.casic.birmm.inspect.model.EventListModel
import com.casic.birmm.inspect.view.BigImageActivity
+import com.google.gson.Gson
+import com.google.gson.reflect.TypeToken
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter
import com.pengxh.kt.lite.base.KotlinBaseActivity
@@ -15,12 +18,17 @@
class EventDetailActivity : KotlinBaseActivity() {
- override fun initData() {
- val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!!
+ private val gson by lazy { Gson() }
- createTimeView.text = args[0]
- descriptionView.text = args[1]
- val data = args[2]
+ override fun initData() {
+ val args = intent.getStringExtra(Constant.INTENT_PARAM)!!
+ val model = gson.fromJson(
+ args, object : TypeToken() {}.type
+ )
+
+ createTimeView.text = model.createTime
+ descriptionView.text = model.description
+ val data = model.data
val value = if (data.isNullOrBlank()) {
"0.0"
} else {
@@ -28,7 +36,7 @@
}
dataView.text = value
- val images = args[3]
+ val images = model.images
/**
* images: 2020-12/6528aeb21cff426c91c43a7f8b716d1e.jpg
diff --git a/app/src/main/java/com/casic/birmm/inspect/single/view/NewEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/single/view/NewEventActivity.kt
index b77a8f2..7e4f7e7 100644
--- a/app/src/main/java/com/casic/birmm/inspect/single/view/NewEventActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/single/view/NewEventActivity.kt
@@ -39,7 +39,7 @@
private var isWarning: Boolean = true
private var longitude: Double = 0.0
private var latitude: Double = 0.0
- private var data = -1.0//泄露默认值
+ private var data = 0.0//泄露默认值
override fun initData() {
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
index 1281613..cfd24bd 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
@@ -16,7 +16,7 @@
*/
@FormUrlEncoded
@POST("/user/appLogin")
- suspend fun getLoginResult(
+ suspend fun login(
@Field("username") account: String,
@Field("password") secretKey: String
): String
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 139dc2a..e7cbf98 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -11,6 +11,7 @@
+
diff --git a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt
index 91cd394..a757dfb 100644
--- a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt
@@ -8,6 +8,7 @@
import android.graphics.Color
import android.os.Bundle
import android.os.Handler
+import android.os.Message
import android.os.Vibrator
import android.util.Log
import android.view.LayoutInflater
@@ -37,10 +38,7 @@
import com.casic.birmm.inspect.vm.EventViewModel
import com.casic.birmm.inspect.vm.InspectionViewModel
import com.google.gson.Gson
-import com.pengxh.kt.lite.extensions.navigatePageTo
-import com.pengxh.kt.lite.extensions.show
-import com.pengxh.kt.lite.extensions.timestampToCompleteDate
-import com.pengxh.kt.lite.extensions.timestampToDate
+import com.pengxh.kt.lite.extensions.*
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.utils.ble.BLEManager
@@ -51,20 +49,15 @@
import com.pengxh.kt.lite.widget.dialog.AlertControlDialog
import com.pengxh.kt.lite.widget.dialog.AlertInputDialog
import com.pengxh.kt.lite.widget.dialog.BottomActionSheet
-import com.qmuiteam.qmui.util.QMUIDisplayHelper
import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet
import kotlinx.android.synthetic.main.fragment_map_inspect.view.*
import java.util.*
@SuppressLint("MissingPermission")
-class HomePageFragment : Fragment() {
+class HomePageFragment : Fragment(), Handler.Callback {
private val kTag = "HomePageFragment"
private val gson by lazy { Gson() }
- private val isOpenWarning =
- SaveKeyValues.getValue(LocaleConstant.OPEN_WARNING, false) as Boolean
- private val isAutoRecord =
- SaveKeyValues.getValue(LocaleConstant.AUTO_RECORD, false) as Boolean
private lateinit var homeView: View
private lateinit var userData: UserInfoModel.DataModel
private lateinit var vibrator: Vibrator
@@ -88,7 +81,7 @@
homeView = inflater.inflate(R.layout.fragment_map_inspect, container, false)
//根据不同设备状态栏高度设置statusBarView高度
- val statusBarHeight = QMUIDisplayHelper.getStatusBarHeight(requireContext())
+ val statusBarHeight = requireContext().getStatusBarHeight()
val params = homeView.statusBarView.layoutParams as LinearLayout.LayoutParams
params.height = statusBarHeight
homeView.statusBarView.setBackgroundColor(Color.parseColor("#D6EEFE"))
@@ -109,7 +102,7 @@
val userModelJson = SaveKeyValues.getValue(LocaleConstant.USER_OBJECT, "") as String
userData = gson.fromJson(userModelJson, UserInfoModel::class.java).data!!
- weakReferenceHandler = WeakReferenceHandler(callback)
+ weakReferenceHandler = WeakReferenceHandler(this)
if (BLEManager.initBLE(requireContext())) {
if (!BLEManager.isBluetoothEnable()) {
@@ -126,12 +119,10 @@
uiSettings.isRotateGesturesEnabled = false//不许地图随手势旋转角度
//显示定位小蓝点
locationStyle = MyLocationStyle()
- locationStyle
locationStyle.showMyLocation(true)//设置是否显示定位小蓝点
- locationStyle.interval(10 * 1000)////设置连续定位模式下的定位间隔,只在连续定位模式下生效。单位为毫秒
aMap.myLocationStyle = locationStyle
aMap.isMyLocationEnabled = true
- aMap.moveCamera(CameraUpdateFactory.zoomTo(14.toFloat()))
+ aMap.moveCamera(CameraUpdateFactory.zoomTo(16.toFloat()))
initEvent()
@@ -179,15 +170,14 @@
.setOnActionSheetListener(object : BottomActionSheet.OnActionSheetListener {
override fun onActionItemClick(position: Int) {
//获取当前定位
- val currentLng = SaveKeyValues.getValue(
+ val lng = SaveKeyValues.getValue(
LocaleConstant.CURRENT_LONGITUDE, "0.0"
) as String
- val currentLat =
- SaveKeyValues.getValue(LocaleConstant.CURRENT_LATITUDE, "0.0") as String
+ val lat = SaveKeyValues.getValue(
+ LocaleConstant.CURRENT_LATITUDE, "0.0"
+ ) as String
requireContext().navigatePageTo(
- addAll(
- position.toString(), model.id, model.name, currentLng, currentLat
- )
+ addAll(position.toString(), model.id, model.name, lng, lat)
)
}
}).build().show()
@@ -303,7 +293,7 @@
}
}
- private val callback = Handler.Callback { msg ->
+ override fun handleMessage(msg: Message): Boolean {
when (msg.what) {
LocaleConstant.BLUETOOTH_ON -> {
"蓝牙已开启".show(requireContext())
@@ -372,7 +362,7 @@
)
LocaleConstant.DISCONNECT_SUCCESS -> curConnectState = false
}
- true
+ return true
}
private fun startConnectDevice(device: BluetoothDevice) {
@@ -529,11 +519,15 @@
homeView.settingsValueView.text = dataModel.alarmValue.toString()
homeView.maxValueView.text = dataModel.maxPotency.toString()
//判断是否需要报警
+ val isOpenWarning =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_OPEN_WARNING, false) as Boolean
if (isOpenWarning) {
if (dataModel.potency >= dataModel.alarmValue) {
//当前值大于设置值,需要报警
SoundPoolHelper.playSound(requireContext(), R.raw.alarm)
vibrator.vibrate(1000)
+ val isAutoRecord =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_AUTO_RECORD, false) as Boolean
if (isAutoRecord) {
//如果连续超过10个报警,自动生成报警事件
alarmCount++
diff --git a/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt b/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt
index 82a23c9..d134e0b 100644
--- a/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt
@@ -3,7 +3,6 @@
import android.os.Handler
import androidx.lifecycle.ViewModelProvider
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.extensions.addAll
import com.casic.birmm.inspect.extensions.combineImagePath
import com.casic.birmm.inspect.model.EventListModel
import com.casic.birmm.inspect.view.EventDetailActivity
@@ -11,9 +10,9 @@
import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter
import com.pengxh.kt.lite.adapter.ViewHolder
import com.pengxh.kt.lite.base.KotlinBaseFragment
-import com.pengxh.kt.lite.extensions.filterSpaceOrEnter
import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.show
+import com.pengxh.kt.lite.extensions.toJson
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import kotlinx.android.synthetic.main.fragment_query_event.*
import kotlinx.android.synthetic.main.include_empty_view.*
@@ -83,7 +82,6 @@
override fun onResume() {
super.onResume()
- pageIndex = 1
getEventList()
}
@@ -119,7 +117,7 @@
viewHolder.setText(R.id.inspectMsgView, item.name)
.setText(R.id.inspectTypeView, "类型:${item.type}")
- .setText(R.id.inspectDateView, "上报时间:${item.createTime}")
+ .setText(R.id.inspectDateView, "时间:${item.createTime}")
}
}
eventRecyclerView.adapter = eventListAdapter
@@ -128,11 +126,7 @@
override fun onItemClicked(
position: Int, t: EventListModel.DataModel.RowsModel
) {
- requireContext().navigatePageTo(
- addAll(
- t.createTime, t.description!!.filterSpaceOrEnter(), t.data, t.images
- )
- )
+ requireContext().navigatePageTo(t.toJson())
}
})
}
diff --git a/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt
index 81ffffd..4a898ce 100644
--- a/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt
@@ -8,6 +8,7 @@
import android.graphics.Color
import android.os.Bundle
import android.os.Handler
+import android.os.Message
import android.os.Vibrator
import android.util.Log
import android.view.LayoutInflater
@@ -33,10 +34,7 @@
import com.casic.birmm.inspect.utils.LocaleConstant
import com.casic.birmm.inspect.utils.SoundPoolHelper
import com.google.gson.Gson
-import com.pengxh.kt.lite.extensions.navigatePageTo
-import com.pengxh.kt.lite.extensions.show
-import com.pengxh.kt.lite.extensions.timestampToCompleteDate
-import com.pengxh.kt.lite.extensions.timestampToDate
+import com.pengxh.kt.lite.extensions.*
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.utils.ble.BLEManager
@@ -46,20 +44,15 @@
import com.pengxh.kt.lite.widget.dialog.AlertControlDialog
import com.pengxh.kt.lite.widget.dialog.AlertInputDialog
import com.pengxh.kt.lite.widget.dialog.BottomActionSheet
-import com.qmuiteam.qmui.util.QMUIDisplayHelper
import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet
import kotlinx.android.synthetic.main.single_fragment_map_inspect.view.*
import java.util.*
@SuppressLint("MissingPermission")
-class HomePageFragment : Fragment() {
+class HomePageFragment : Fragment(), Handler.Callback {
private val kTag = "HomePageFragment"
private val gson by lazy { Gson() }
- private val isOpenWarning =
- SaveKeyValues.getValue(LocaleConstant.SINGLE_OPEN_WARNING, false) as Boolean
- private val isAutoRecord =
- SaveKeyValues.getValue(LocaleConstant.SINGLE_AUTO_RECORD, false) as Boolean
private lateinit var homeView: View
private lateinit var vibrator: Vibrator
private lateinit var aMap: AMap
@@ -80,14 +73,14 @@
homeView = inflater.inflate(R.layout.single_fragment_map_inspect, container, false)
//根据不同设备状态栏高度设置statusBarView高度
- val statusBarHeight = QMUIDisplayHelper.getStatusBarHeight(requireContext())
+ val statusBarHeight = requireContext().getStatusBarHeight()
val params = homeView.statusBarView.layoutParams as LinearLayout.LayoutParams
params.height = statusBarHeight
homeView.statusBarView.setBackgroundColor(Color.parseColor("#D6EEFE"))
homeView.statusBarView.requestLayout()
vibrator = requireContext().getSystemService(Context.VIBRATOR_SERVICE) as Vibrator
- weakReferenceHandler = WeakReferenceHandler(callback)
+ weakReferenceHandler = WeakReferenceHandler(this)
if (BLEManager.initBLE(requireContext())) {
if (!BLEManager.isBluetoothEnable()) {
@@ -104,12 +97,10 @@
uiSettings.isRotateGesturesEnabled = false//不许地图随手势旋转角度
//显示定位小蓝点
locationStyle = MyLocationStyle()
- locationStyle
locationStyle.showMyLocation(true)//设置是否显示定位小蓝点
- locationStyle.interval(10 * 1000)////设置连续定位模式下的定位间隔,只在连续定位模式下生效。单位为毫秒
aMap.myLocationStyle = locationStyle
aMap.isMyLocationEnabled = true
- aMap.moveCamera(CameraUpdateFactory.zoomTo(14.toFloat()))
+ aMap.moveCamera(CameraUpdateFactory.zoomTo(16.toFloat()))
initEvent()
@@ -157,15 +148,14 @@
.setOnActionSheetListener(object : BottomActionSheet.OnActionSheetListener {
override fun onActionItemClick(position: Int) {
//获取当前定位
- val currentLng = SaveKeyValues.getValue(
+ val lng = SaveKeyValues.getValue(
LocaleConstant.CURRENT_LONGITUDE, "0.0"
) as String
- val currentLat =
- SaveKeyValues.getValue(LocaleConstant.CURRENT_LATITUDE, "0.0") as String
+ val lat = SaveKeyValues.getValue(
+ LocaleConstant.CURRENT_LATITUDE, "0.0"
+ ) as String
requireContext().navigatePageTo(
- addAll(
- position.toString(), model.id, model.name, currentLng, currentLat
- )
+ addAll(position.toString(), model.id, model.name, lng, lat)
)
}
}).build().show()
@@ -281,7 +271,7 @@
}
}
- private val callback = Handler.Callback { msg ->
+ override fun handleMessage(msg: Message): Boolean {
when (msg.what) {
LocaleConstant.BLUETOOTH_ON -> {
"蓝牙已开启".show(requireContext())
@@ -350,7 +340,7 @@
)
LocaleConstant.DISCONNECT_SUCCESS -> curConnectState = false
}
- true
+ return true
}
private fun startConnectDevice(device: BluetoothDevice) {
@@ -502,11 +492,15 @@
homeView.settingsValueView.text = dataModel.alarmValue.toString()
homeView.maxValueView.text = dataModel.maxPotency.toString()
//判断是否需要报警
+ val isOpenWarning =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_OPEN_WARNING, false) as Boolean
if (isOpenWarning) {
if (dataModel.potency >= dataModel.alarmValue) {
//当前值大于设置值,需要报警
SoundPoolHelper.playSound(requireContext(), R.raw.alarm)
vibrator.vibrate(1000)
+ val isAutoRecord =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_AUTO_RECORD, false) as Boolean
if (isAutoRecord) {
//如果连续超过10个报警,自动生成报警事件
alarmCount++
diff --git a/app/src/main/java/com/casic/birmm/inspect/single/fragment/QueryEventFragment.kt b/app/src/main/java/com/casic/birmm/inspect/single/fragment/QueryEventFragment.kt
index 96dba16..812d329 100644
--- a/app/src/main/java/com/casic/birmm/inspect/single/fragment/QueryEventFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/single/fragment/QueryEventFragment.kt
@@ -3,15 +3,14 @@
import androidx.lifecycle.lifecycleScope
import com.bumptech.glide.Glide
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.extensions.addAll
import com.casic.birmm.inspect.model.EventListModel
import com.casic.birmm.inspect.single.view.EventDetailActivity
import com.casic.birmm.inspect.utils.DataBaseManager
import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter
import com.pengxh.kt.lite.adapter.ViewHolder
import com.pengxh.kt.lite.base.KotlinBaseFragment
-import com.pengxh.kt.lite.extensions.filterSpaceOrEnter
import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.extensions.toJson
import kotlinx.android.synthetic.main.include_empty_view.*
import kotlinx.android.synthetic.main.single_fragment_query_event.*
import kotlinx.coroutines.Dispatchers
@@ -41,8 +40,7 @@
R.layout.item_event_rv_l, dataBeans
) {
override fun convertView(
- viewHolder: ViewHolder,
- position: Int,
+ viewHolder: ViewHolder, position: Int,
item: EventListModel.DataModel.RowsModel
) {
if (!item.images.isNullOrBlank()) {
@@ -61,22 +59,15 @@
}
viewHolder.setText(R.id.inspectMsgView, item.name)
- .setText(R.id.inspectMsgView, "类型:${item.type}")
- .setText(R.id.inspectMsgView, "上报时间:${item.createTime}")
+ .setText(R.id.inspectTypeView, "类型:${item.type}")
+ .setText(R.id.inspectDateView, "时间:${item.createTime}")
}
}
eventRecyclerView.adapter = eventListAdapter
eventListAdapter.setOnItemClickedListener(object :
NormalRecyclerAdapter.OnItemClickedListener {
override fun onItemClicked(position: Int, t: EventListModel.DataModel.RowsModel) {
- requireContext().navigatePageTo(
- addAll(
- t.createTime.toString(),
- t.description!!.filterSpaceOrEnter(),
- t.data.toString(),
- t.images.toString()
- )
- )
+ requireContext().navigatePageTo(t.toJson())
}
})
}
diff --git a/app/src/main/java/com/casic/birmm/inspect/single/view/EventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/single/view/EventDetailActivity.kt
index f00bbae..b7d59e8 100644
--- a/app/src/main/java/com/casic/birmm/inspect/single/view/EventDetailActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/single/view/EventDetailActivity.kt
@@ -2,7 +2,10 @@
import androidx.core.content.ContextCompat
import com.casic.birmm.inspect.R
+import com.casic.birmm.inspect.model.EventListModel
import com.casic.birmm.inspect.view.BigImageActivity
+import com.google.gson.Gson
+import com.google.gson.reflect.TypeToken
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter
import com.pengxh.kt.lite.base.KotlinBaseActivity
@@ -15,12 +18,17 @@
class EventDetailActivity : KotlinBaseActivity() {
- override fun initData() {
- val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!!
+ private val gson by lazy { Gson() }
- createTimeView.text = args[0]
- descriptionView.text = args[1]
- val data = args[2]
+ override fun initData() {
+ val args = intent.getStringExtra(Constant.INTENT_PARAM)!!
+ val model = gson.fromJson(
+ args, object : TypeToken() {}.type
+ )
+
+ createTimeView.text = model.createTime
+ descriptionView.text = model.description
+ val data = model.data
val value = if (data.isNullOrBlank()) {
"0.0"
} else {
@@ -28,7 +36,7 @@
}
dataView.text = value
- val images = args[3]
+ val images = model.images
/**
* images: 2020-12/6528aeb21cff426c91c43a7f8b716d1e.jpg
diff --git a/app/src/main/java/com/casic/birmm/inspect/single/view/NewEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/single/view/NewEventActivity.kt
index b77a8f2..7e4f7e7 100644
--- a/app/src/main/java/com/casic/birmm/inspect/single/view/NewEventActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/single/view/NewEventActivity.kt
@@ -39,7 +39,7 @@
private var isWarning: Boolean = true
private var longitude: Double = 0.0
private var latitude: Double = 0.0
- private var data = -1.0//泄露默认值
+ private var data = 0.0//泄露默认值
override fun initData() {
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
index 1281613..cfd24bd 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
@@ -16,7 +16,7 @@
*/
@FormUrlEncoded
@POST("/user/appLogin")
- suspend fun getLoginResult(
+ suspend fun login(
@Field("username") account: String,
@Field("password") secretKey: String
): String
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 4c1f278..324cf23 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
@@ -28,8 +28,8 @@
/**
* 登录并获取Token
*/
- suspend fun getLoginResult(account: String, secretKey: String): String {
- return api.getLoginResult(account, secretKey)
+ suspend fun login(account: String, secretKey: String): String {
+ return api.login(account, secretKey)
}
/**
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 139dc2a..e7cbf98 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -11,6 +11,7 @@
+
diff --git a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt
index 91cd394..a757dfb 100644
--- a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt
@@ -8,6 +8,7 @@
import android.graphics.Color
import android.os.Bundle
import android.os.Handler
+import android.os.Message
import android.os.Vibrator
import android.util.Log
import android.view.LayoutInflater
@@ -37,10 +38,7 @@
import com.casic.birmm.inspect.vm.EventViewModel
import com.casic.birmm.inspect.vm.InspectionViewModel
import com.google.gson.Gson
-import com.pengxh.kt.lite.extensions.navigatePageTo
-import com.pengxh.kt.lite.extensions.show
-import com.pengxh.kt.lite.extensions.timestampToCompleteDate
-import com.pengxh.kt.lite.extensions.timestampToDate
+import com.pengxh.kt.lite.extensions.*
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.utils.ble.BLEManager
@@ -51,20 +49,15 @@
import com.pengxh.kt.lite.widget.dialog.AlertControlDialog
import com.pengxh.kt.lite.widget.dialog.AlertInputDialog
import com.pengxh.kt.lite.widget.dialog.BottomActionSheet
-import com.qmuiteam.qmui.util.QMUIDisplayHelper
import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet
import kotlinx.android.synthetic.main.fragment_map_inspect.view.*
import java.util.*
@SuppressLint("MissingPermission")
-class HomePageFragment : Fragment() {
+class HomePageFragment : Fragment(), Handler.Callback {
private val kTag = "HomePageFragment"
private val gson by lazy { Gson() }
- private val isOpenWarning =
- SaveKeyValues.getValue(LocaleConstant.OPEN_WARNING, false) as Boolean
- private val isAutoRecord =
- SaveKeyValues.getValue(LocaleConstant.AUTO_RECORD, false) as Boolean
private lateinit var homeView: View
private lateinit var userData: UserInfoModel.DataModel
private lateinit var vibrator: Vibrator
@@ -88,7 +81,7 @@
homeView = inflater.inflate(R.layout.fragment_map_inspect, container, false)
//根据不同设备状态栏高度设置statusBarView高度
- val statusBarHeight = QMUIDisplayHelper.getStatusBarHeight(requireContext())
+ val statusBarHeight = requireContext().getStatusBarHeight()
val params = homeView.statusBarView.layoutParams as LinearLayout.LayoutParams
params.height = statusBarHeight
homeView.statusBarView.setBackgroundColor(Color.parseColor("#D6EEFE"))
@@ -109,7 +102,7 @@
val userModelJson = SaveKeyValues.getValue(LocaleConstant.USER_OBJECT, "") as String
userData = gson.fromJson(userModelJson, UserInfoModel::class.java).data!!
- weakReferenceHandler = WeakReferenceHandler(callback)
+ weakReferenceHandler = WeakReferenceHandler(this)
if (BLEManager.initBLE(requireContext())) {
if (!BLEManager.isBluetoothEnable()) {
@@ -126,12 +119,10 @@
uiSettings.isRotateGesturesEnabled = false//不许地图随手势旋转角度
//显示定位小蓝点
locationStyle = MyLocationStyle()
- locationStyle
locationStyle.showMyLocation(true)//设置是否显示定位小蓝点
- locationStyle.interval(10 * 1000)////设置连续定位模式下的定位间隔,只在连续定位模式下生效。单位为毫秒
aMap.myLocationStyle = locationStyle
aMap.isMyLocationEnabled = true
- aMap.moveCamera(CameraUpdateFactory.zoomTo(14.toFloat()))
+ aMap.moveCamera(CameraUpdateFactory.zoomTo(16.toFloat()))
initEvent()
@@ -179,15 +170,14 @@
.setOnActionSheetListener(object : BottomActionSheet.OnActionSheetListener {
override fun onActionItemClick(position: Int) {
//获取当前定位
- val currentLng = SaveKeyValues.getValue(
+ val lng = SaveKeyValues.getValue(
LocaleConstant.CURRENT_LONGITUDE, "0.0"
) as String
- val currentLat =
- SaveKeyValues.getValue(LocaleConstant.CURRENT_LATITUDE, "0.0") as String
+ val lat = SaveKeyValues.getValue(
+ LocaleConstant.CURRENT_LATITUDE, "0.0"
+ ) as String
requireContext().navigatePageTo(
- addAll(
- position.toString(), model.id, model.name, currentLng, currentLat
- )
+ addAll(position.toString(), model.id, model.name, lng, lat)
)
}
}).build().show()
@@ -303,7 +293,7 @@
}
}
- private val callback = Handler.Callback { msg ->
+ override fun handleMessage(msg: Message): Boolean {
when (msg.what) {
LocaleConstant.BLUETOOTH_ON -> {
"蓝牙已开启".show(requireContext())
@@ -372,7 +362,7 @@
)
LocaleConstant.DISCONNECT_SUCCESS -> curConnectState = false
}
- true
+ return true
}
private fun startConnectDevice(device: BluetoothDevice) {
@@ -529,11 +519,15 @@
homeView.settingsValueView.text = dataModel.alarmValue.toString()
homeView.maxValueView.text = dataModel.maxPotency.toString()
//判断是否需要报警
+ val isOpenWarning =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_OPEN_WARNING, false) as Boolean
if (isOpenWarning) {
if (dataModel.potency >= dataModel.alarmValue) {
//当前值大于设置值,需要报警
SoundPoolHelper.playSound(requireContext(), R.raw.alarm)
vibrator.vibrate(1000)
+ val isAutoRecord =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_AUTO_RECORD, false) as Boolean
if (isAutoRecord) {
//如果连续超过10个报警,自动生成报警事件
alarmCount++
diff --git a/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt b/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt
index 82a23c9..d134e0b 100644
--- a/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt
@@ -3,7 +3,6 @@
import android.os.Handler
import androidx.lifecycle.ViewModelProvider
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.extensions.addAll
import com.casic.birmm.inspect.extensions.combineImagePath
import com.casic.birmm.inspect.model.EventListModel
import com.casic.birmm.inspect.view.EventDetailActivity
@@ -11,9 +10,9 @@
import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter
import com.pengxh.kt.lite.adapter.ViewHolder
import com.pengxh.kt.lite.base.KotlinBaseFragment
-import com.pengxh.kt.lite.extensions.filterSpaceOrEnter
import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.show
+import com.pengxh.kt.lite.extensions.toJson
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import kotlinx.android.synthetic.main.fragment_query_event.*
import kotlinx.android.synthetic.main.include_empty_view.*
@@ -83,7 +82,6 @@
override fun onResume() {
super.onResume()
- pageIndex = 1
getEventList()
}
@@ -119,7 +117,7 @@
viewHolder.setText(R.id.inspectMsgView, item.name)
.setText(R.id.inspectTypeView, "类型:${item.type}")
- .setText(R.id.inspectDateView, "上报时间:${item.createTime}")
+ .setText(R.id.inspectDateView, "时间:${item.createTime}")
}
}
eventRecyclerView.adapter = eventListAdapter
@@ -128,11 +126,7 @@
override fun onItemClicked(
position: Int, t: EventListModel.DataModel.RowsModel
) {
- requireContext().navigatePageTo(
- addAll(
- t.createTime, t.description!!.filterSpaceOrEnter(), t.data, t.images
- )
- )
+ requireContext().navigatePageTo(t.toJson())
}
})
}
diff --git a/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt
index 81ffffd..4a898ce 100644
--- a/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt
@@ -8,6 +8,7 @@
import android.graphics.Color
import android.os.Bundle
import android.os.Handler
+import android.os.Message
import android.os.Vibrator
import android.util.Log
import android.view.LayoutInflater
@@ -33,10 +34,7 @@
import com.casic.birmm.inspect.utils.LocaleConstant
import com.casic.birmm.inspect.utils.SoundPoolHelper
import com.google.gson.Gson
-import com.pengxh.kt.lite.extensions.navigatePageTo
-import com.pengxh.kt.lite.extensions.show
-import com.pengxh.kt.lite.extensions.timestampToCompleteDate
-import com.pengxh.kt.lite.extensions.timestampToDate
+import com.pengxh.kt.lite.extensions.*
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.utils.ble.BLEManager
@@ -46,20 +44,15 @@
import com.pengxh.kt.lite.widget.dialog.AlertControlDialog
import com.pengxh.kt.lite.widget.dialog.AlertInputDialog
import com.pengxh.kt.lite.widget.dialog.BottomActionSheet
-import com.qmuiteam.qmui.util.QMUIDisplayHelper
import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet
import kotlinx.android.synthetic.main.single_fragment_map_inspect.view.*
import java.util.*
@SuppressLint("MissingPermission")
-class HomePageFragment : Fragment() {
+class HomePageFragment : Fragment(), Handler.Callback {
private val kTag = "HomePageFragment"
private val gson by lazy { Gson() }
- private val isOpenWarning =
- SaveKeyValues.getValue(LocaleConstant.SINGLE_OPEN_WARNING, false) as Boolean
- private val isAutoRecord =
- SaveKeyValues.getValue(LocaleConstant.SINGLE_AUTO_RECORD, false) as Boolean
private lateinit var homeView: View
private lateinit var vibrator: Vibrator
private lateinit var aMap: AMap
@@ -80,14 +73,14 @@
homeView = inflater.inflate(R.layout.single_fragment_map_inspect, container, false)
//根据不同设备状态栏高度设置statusBarView高度
- val statusBarHeight = QMUIDisplayHelper.getStatusBarHeight(requireContext())
+ val statusBarHeight = requireContext().getStatusBarHeight()
val params = homeView.statusBarView.layoutParams as LinearLayout.LayoutParams
params.height = statusBarHeight
homeView.statusBarView.setBackgroundColor(Color.parseColor("#D6EEFE"))
homeView.statusBarView.requestLayout()
vibrator = requireContext().getSystemService(Context.VIBRATOR_SERVICE) as Vibrator
- weakReferenceHandler = WeakReferenceHandler(callback)
+ weakReferenceHandler = WeakReferenceHandler(this)
if (BLEManager.initBLE(requireContext())) {
if (!BLEManager.isBluetoothEnable()) {
@@ -104,12 +97,10 @@
uiSettings.isRotateGesturesEnabled = false//不许地图随手势旋转角度
//显示定位小蓝点
locationStyle = MyLocationStyle()
- locationStyle
locationStyle.showMyLocation(true)//设置是否显示定位小蓝点
- locationStyle.interval(10 * 1000)////设置连续定位模式下的定位间隔,只在连续定位模式下生效。单位为毫秒
aMap.myLocationStyle = locationStyle
aMap.isMyLocationEnabled = true
- aMap.moveCamera(CameraUpdateFactory.zoomTo(14.toFloat()))
+ aMap.moveCamera(CameraUpdateFactory.zoomTo(16.toFloat()))
initEvent()
@@ -157,15 +148,14 @@
.setOnActionSheetListener(object : BottomActionSheet.OnActionSheetListener {
override fun onActionItemClick(position: Int) {
//获取当前定位
- val currentLng = SaveKeyValues.getValue(
+ val lng = SaveKeyValues.getValue(
LocaleConstant.CURRENT_LONGITUDE, "0.0"
) as String
- val currentLat =
- SaveKeyValues.getValue(LocaleConstant.CURRENT_LATITUDE, "0.0") as String
+ val lat = SaveKeyValues.getValue(
+ LocaleConstant.CURRENT_LATITUDE, "0.0"
+ ) as String
requireContext().navigatePageTo(
- addAll(
- position.toString(), model.id, model.name, currentLng, currentLat
- )
+ addAll(position.toString(), model.id, model.name, lng, lat)
)
}
}).build().show()
@@ -281,7 +271,7 @@
}
}
- private val callback = Handler.Callback { msg ->
+ override fun handleMessage(msg: Message): Boolean {
when (msg.what) {
LocaleConstant.BLUETOOTH_ON -> {
"蓝牙已开启".show(requireContext())
@@ -350,7 +340,7 @@
)
LocaleConstant.DISCONNECT_SUCCESS -> curConnectState = false
}
- true
+ return true
}
private fun startConnectDevice(device: BluetoothDevice) {
@@ -502,11 +492,15 @@
homeView.settingsValueView.text = dataModel.alarmValue.toString()
homeView.maxValueView.text = dataModel.maxPotency.toString()
//判断是否需要报警
+ val isOpenWarning =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_OPEN_WARNING, false) as Boolean
if (isOpenWarning) {
if (dataModel.potency >= dataModel.alarmValue) {
//当前值大于设置值,需要报警
SoundPoolHelper.playSound(requireContext(), R.raw.alarm)
vibrator.vibrate(1000)
+ val isAutoRecord =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_AUTO_RECORD, false) as Boolean
if (isAutoRecord) {
//如果连续超过10个报警,自动生成报警事件
alarmCount++
diff --git a/app/src/main/java/com/casic/birmm/inspect/single/fragment/QueryEventFragment.kt b/app/src/main/java/com/casic/birmm/inspect/single/fragment/QueryEventFragment.kt
index 96dba16..812d329 100644
--- a/app/src/main/java/com/casic/birmm/inspect/single/fragment/QueryEventFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/single/fragment/QueryEventFragment.kt
@@ -3,15 +3,14 @@
import androidx.lifecycle.lifecycleScope
import com.bumptech.glide.Glide
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.extensions.addAll
import com.casic.birmm.inspect.model.EventListModel
import com.casic.birmm.inspect.single.view.EventDetailActivity
import com.casic.birmm.inspect.utils.DataBaseManager
import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter
import com.pengxh.kt.lite.adapter.ViewHolder
import com.pengxh.kt.lite.base.KotlinBaseFragment
-import com.pengxh.kt.lite.extensions.filterSpaceOrEnter
import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.extensions.toJson
import kotlinx.android.synthetic.main.include_empty_view.*
import kotlinx.android.synthetic.main.single_fragment_query_event.*
import kotlinx.coroutines.Dispatchers
@@ -41,8 +40,7 @@
R.layout.item_event_rv_l, dataBeans
) {
override fun convertView(
- viewHolder: ViewHolder,
- position: Int,
+ viewHolder: ViewHolder, position: Int,
item: EventListModel.DataModel.RowsModel
) {
if (!item.images.isNullOrBlank()) {
@@ -61,22 +59,15 @@
}
viewHolder.setText(R.id.inspectMsgView, item.name)
- .setText(R.id.inspectMsgView, "类型:${item.type}")
- .setText(R.id.inspectMsgView, "上报时间:${item.createTime}")
+ .setText(R.id.inspectTypeView, "类型:${item.type}")
+ .setText(R.id.inspectDateView, "时间:${item.createTime}")
}
}
eventRecyclerView.adapter = eventListAdapter
eventListAdapter.setOnItemClickedListener(object :
NormalRecyclerAdapter.OnItemClickedListener {
override fun onItemClicked(position: Int, t: EventListModel.DataModel.RowsModel) {
- requireContext().navigatePageTo(
- addAll(
- t.createTime.toString(),
- t.description!!.filterSpaceOrEnter(),
- t.data.toString(),
- t.images.toString()
- )
- )
+ requireContext().navigatePageTo(t.toJson())
}
})
}
diff --git a/app/src/main/java/com/casic/birmm/inspect/single/view/EventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/single/view/EventDetailActivity.kt
index f00bbae..b7d59e8 100644
--- a/app/src/main/java/com/casic/birmm/inspect/single/view/EventDetailActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/single/view/EventDetailActivity.kt
@@ -2,7 +2,10 @@
import androidx.core.content.ContextCompat
import com.casic.birmm.inspect.R
+import com.casic.birmm.inspect.model.EventListModel
import com.casic.birmm.inspect.view.BigImageActivity
+import com.google.gson.Gson
+import com.google.gson.reflect.TypeToken
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter
import com.pengxh.kt.lite.base.KotlinBaseActivity
@@ -15,12 +18,17 @@
class EventDetailActivity : KotlinBaseActivity() {
- override fun initData() {
- val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!!
+ private val gson by lazy { Gson() }
- createTimeView.text = args[0]
- descriptionView.text = args[1]
- val data = args[2]
+ override fun initData() {
+ val args = intent.getStringExtra(Constant.INTENT_PARAM)!!
+ val model = gson.fromJson(
+ args, object : TypeToken() {}.type
+ )
+
+ createTimeView.text = model.createTime
+ descriptionView.text = model.description
+ val data = model.data
val value = if (data.isNullOrBlank()) {
"0.0"
} else {
@@ -28,7 +36,7 @@
}
dataView.text = value
- val images = args[3]
+ val images = model.images
/**
* images: 2020-12/6528aeb21cff426c91c43a7f8b716d1e.jpg
diff --git a/app/src/main/java/com/casic/birmm/inspect/single/view/NewEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/single/view/NewEventActivity.kt
index b77a8f2..7e4f7e7 100644
--- a/app/src/main/java/com/casic/birmm/inspect/single/view/NewEventActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/single/view/NewEventActivity.kt
@@ -39,7 +39,7 @@
private var isWarning: Boolean = true
private var longitude: Double = 0.0
private var latitude: Double = 0.0
- private var data = -1.0//泄露默认值
+ private var data = 0.0//泄露默认值
override fun initData() {
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
index 1281613..cfd24bd 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
@@ -16,7 +16,7 @@
*/
@FormUrlEncoded
@POST("/user/appLogin")
- suspend fun getLoginResult(
+ suspend fun login(
@Field("username") account: String,
@Field("password") secretKey: String
): String
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 4c1f278..324cf23 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
@@ -28,8 +28,8 @@
/**
* 登录并获取Token
*/
- suspend fun getLoginResult(account: String, secretKey: String): String {
- return api.getLoginResult(account, secretKey)
+ suspend fun login(account: String, secretKey: String): String {
+ return api.login(account, secretKey)
}
/**
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt
index 6f3d166..5dd7f86 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt
@@ -3,6 +3,9 @@
import androidx.core.content.ContextCompat
import com.casic.birmm.inspect.R
import com.casic.birmm.inspect.extensions.combineImagePath
+import com.casic.birmm.inspect.model.EventListModel
+import com.google.gson.Gson
+import com.google.gson.reflect.TypeToken
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter
import com.pengxh.kt.lite.base.KotlinBaseActivity
@@ -16,6 +19,8 @@
class EventDetailActivity : KotlinBaseActivity() {
+ private val gson by lazy { Gson() }
+
override fun initLayoutView(): Int = R.layout.activity_event_detail
override fun setupTopBarLayout() {
@@ -29,11 +34,14 @@
}
override fun initData() {
- val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!!
+ val args = intent.getStringExtra(Constant.INTENT_PARAM)!!
+ val model = gson.fromJson(
+ args, object : TypeToken() {}.type
+ )
- createTimeView.text = args[0]
- descriptionView.text = args[1]
- val data = args[2]
+ createTimeView.text = model.createTime
+ descriptionView.text = model.description
+ val data = model.data
val value = if (data.isNullOrBlank()) {
"0.0"
} else {
@@ -41,7 +49,7 @@
}
dataView.text = value
- val images = args[3]
+ val images = model.images
/**
* images: 2020-12/6528aeb21cff426c91c43a7f8b716d1e.jpg
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 139dc2a..e7cbf98 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -11,6 +11,7 @@
+
diff --git a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt
index 91cd394..a757dfb 100644
--- a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt
@@ -8,6 +8,7 @@
import android.graphics.Color
import android.os.Bundle
import android.os.Handler
+import android.os.Message
import android.os.Vibrator
import android.util.Log
import android.view.LayoutInflater
@@ -37,10 +38,7 @@
import com.casic.birmm.inspect.vm.EventViewModel
import com.casic.birmm.inspect.vm.InspectionViewModel
import com.google.gson.Gson
-import com.pengxh.kt.lite.extensions.navigatePageTo
-import com.pengxh.kt.lite.extensions.show
-import com.pengxh.kt.lite.extensions.timestampToCompleteDate
-import com.pengxh.kt.lite.extensions.timestampToDate
+import com.pengxh.kt.lite.extensions.*
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.utils.ble.BLEManager
@@ -51,20 +49,15 @@
import com.pengxh.kt.lite.widget.dialog.AlertControlDialog
import com.pengxh.kt.lite.widget.dialog.AlertInputDialog
import com.pengxh.kt.lite.widget.dialog.BottomActionSheet
-import com.qmuiteam.qmui.util.QMUIDisplayHelper
import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet
import kotlinx.android.synthetic.main.fragment_map_inspect.view.*
import java.util.*
@SuppressLint("MissingPermission")
-class HomePageFragment : Fragment() {
+class HomePageFragment : Fragment(), Handler.Callback {
private val kTag = "HomePageFragment"
private val gson by lazy { Gson() }
- private val isOpenWarning =
- SaveKeyValues.getValue(LocaleConstant.OPEN_WARNING, false) as Boolean
- private val isAutoRecord =
- SaveKeyValues.getValue(LocaleConstant.AUTO_RECORD, false) as Boolean
private lateinit var homeView: View
private lateinit var userData: UserInfoModel.DataModel
private lateinit var vibrator: Vibrator
@@ -88,7 +81,7 @@
homeView = inflater.inflate(R.layout.fragment_map_inspect, container, false)
//根据不同设备状态栏高度设置statusBarView高度
- val statusBarHeight = QMUIDisplayHelper.getStatusBarHeight(requireContext())
+ val statusBarHeight = requireContext().getStatusBarHeight()
val params = homeView.statusBarView.layoutParams as LinearLayout.LayoutParams
params.height = statusBarHeight
homeView.statusBarView.setBackgroundColor(Color.parseColor("#D6EEFE"))
@@ -109,7 +102,7 @@
val userModelJson = SaveKeyValues.getValue(LocaleConstant.USER_OBJECT, "") as String
userData = gson.fromJson(userModelJson, UserInfoModel::class.java).data!!
- weakReferenceHandler = WeakReferenceHandler(callback)
+ weakReferenceHandler = WeakReferenceHandler(this)
if (BLEManager.initBLE(requireContext())) {
if (!BLEManager.isBluetoothEnable()) {
@@ -126,12 +119,10 @@
uiSettings.isRotateGesturesEnabled = false//不许地图随手势旋转角度
//显示定位小蓝点
locationStyle = MyLocationStyle()
- locationStyle
locationStyle.showMyLocation(true)//设置是否显示定位小蓝点
- locationStyle.interval(10 * 1000)////设置连续定位模式下的定位间隔,只在连续定位模式下生效。单位为毫秒
aMap.myLocationStyle = locationStyle
aMap.isMyLocationEnabled = true
- aMap.moveCamera(CameraUpdateFactory.zoomTo(14.toFloat()))
+ aMap.moveCamera(CameraUpdateFactory.zoomTo(16.toFloat()))
initEvent()
@@ -179,15 +170,14 @@
.setOnActionSheetListener(object : BottomActionSheet.OnActionSheetListener {
override fun onActionItemClick(position: Int) {
//获取当前定位
- val currentLng = SaveKeyValues.getValue(
+ val lng = SaveKeyValues.getValue(
LocaleConstant.CURRENT_LONGITUDE, "0.0"
) as String
- val currentLat =
- SaveKeyValues.getValue(LocaleConstant.CURRENT_LATITUDE, "0.0") as String
+ val lat = SaveKeyValues.getValue(
+ LocaleConstant.CURRENT_LATITUDE, "0.0"
+ ) as String
requireContext().navigatePageTo(
- addAll(
- position.toString(), model.id, model.name, currentLng, currentLat
- )
+ addAll(position.toString(), model.id, model.name, lng, lat)
)
}
}).build().show()
@@ -303,7 +293,7 @@
}
}
- private val callback = Handler.Callback { msg ->
+ override fun handleMessage(msg: Message): Boolean {
when (msg.what) {
LocaleConstant.BLUETOOTH_ON -> {
"蓝牙已开启".show(requireContext())
@@ -372,7 +362,7 @@
)
LocaleConstant.DISCONNECT_SUCCESS -> curConnectState = false
}
- true
+ return true
}
private fun startConnectDevice(device: BluetoothDevice) {
@@ -529,11 +519,15 @@
homeView.settingsValueView.text = dataModel.alarmValue.toString()
homeView.maxValueView.text = dataModel.maxPotency.toString()
//判断是否需要报警
+ val isOpenWarning =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_OPEN_WARNING, false) as Boolean
if (isOpenWarning) {
if (dataModel.potency >= dataModel.alarmValue) {
//当前值大于设置值,需要报警
SoundPoolHelper.playSound(requireContext(), R.raw.alarm)
vibrator.vibrate(1000)
+ val isAutoRecord =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_AUTO_RECORD, false) as Boolean
if (isAutoRecord) {
//如果连续超过10个报警,自动生成报警事件
alarmCount++
diff --git a/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt b/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt
index 82a23c9..d134e0b 100644
--- a/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt
@@ -3,7 +3,6 @@
import android.os.Handler
import androidx.lifecycle.ViewModelProvider
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.extensions.addAll
import com.casic.birmm.inspect.extensions.combineImagePath
import com.casic.birmm.inspect.model.EventListModel
import com.casic.birmm.inspect.view.EventDetailActivity
@@ -11,9 +10,9 @@
import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter
import com.pengxh.kt.lite.adapter.ViewHolder
import com.pengxh.kt.lite.base.KotlinBaseFragment
-import com.pengxh.kt.lite.extensions.filterSpaceOrEnter
import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.show
+import com.pengxh.kt.lite.extensions.toJson
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import kotlinx.android.synthetic.main.fragment_query_event.*
import kotlinx.android.synthetic.main.include_empty_view.*
@@ -83,7 +82,6 @@
override fun onResume() {
super.onResume()
- pageIndex = 1
getEventList()
}
@@ -119,7 +117,7 @@
viewHolder.setText(R.id.inspectMsgView, item.name)
.setText(R.id.inspectTypeView, "类型:${item.type}")
- .setText(R.id.inspectDateView, "上报时间:${item.createTime}")
+ .setText(R.id.inspectDateView, "时间:${item.createTime}")
}
}
eventRecyclerView.adapter = eventListAdapter
@@ -128,11 +126,7 @@
override fun onItemClicked(
position: Int, t: EventListModel.DataModel.RowsModel
) {
- requireContext().navigatePageTo(
- addAll(
- t.createTime, t.description!!.filterSpaceOrEnter(), t.data, t.images
- )
- )
+ requireContext().navigatePageTo(t.toJson())
}
})
}
diff --git a/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt
index 81ffffd..4a898ce 100644
--- a/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt
@@ -8,6 +8,7 @@
import android.graphics.Color
import android.os.Bundle
import android.os.Handler
+import android.os.Message
import android.os.Vibrator
import android.util.Log
import android.view.LayoutInflater
@@ -33,10 +34,7 @@
import com.casic.birmm.inspect.utils.LocaleConstant
import com.casic.birmm.inspect.utils.SoundPoolHelper
import com.google.gson.Gson
-import com.pengxh.kt.lite.extensions.navigatePageTo
-import com.pengxh.kt.lite.extensions.show
-import com.pengxh.kt.lite.extensions.timestampToCompleteDate
-import com.pengxh.kt.lite.extensions.timestampToDate
+import com.pengxh.kt.lite.extensions.*
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.utils.ble.BLEManager
@@ -46,20 +44,15 @@
import com.pengxh.kt.lite.widget.dialog.AlertControlDialog
import com.pengxh.kt.lite.widget.dialog.AlertInputDialog
import com.pengxh.kt.lite.widget.dialog.BottomActionSheet
-import com.qmuiteam.qmui.util.QMUIDisplayHelper
import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet
import kotlinx.android.synthetic.main.single_fragment_map_inspect.view.*
import java.util.*
@SuppressLint("MissingPermission")
-class HomePageFragment : Fragment() {
+class HomePageFragment : Fragment(), Handler.Callback {
private val kTag = "HomePageFragment"
private val gson by lazy { Gson() }
- private val isOpenWarning =
- SaveKeyValues.getValue(LocaleConstant.SINGLE_OPEN_WARNING, false) as Boolean
- private val isAutoRecord =
- SaveKeyValues.getValue(LocaleConstant.SINGLE_AUTO_RECORD, false) as Boolean
private lateinit var homeView: View
private lateinit var vibrator: Vibrator
private lateinit var aMap: AMap
@@ -80,14 +73,14 @@
homeView = inflater.inflate(R.layout.single_fragment_map_inspect, container, false)
//根据不同设备状态栏高度设置statusBarView高度
- val statusBarHeight = QMUIDisplayHelper.getStatusBarHeight(requireContext())
+ val statusBarHeight = requireContext().getStatusBarHeight()
val params = homeView.statusBarView.layoutParams as LinearLayout.LayoutParams
params.height = statusBarHeight
homeView.statusBarView.setBackgroundColor(Color.parseColor("#D6EEFE"))
homeView.statusBarView.requestLayout()
vibrator = requireContext().getSystemService(Context.VIBRATOR_SERVICE) as Vibrator
- weakReferenceHandler = WeakReferenceHandler(callback)
+ weakReferenceHandler = WeakReferenceHandler(this)
if (BLEManager.initBLE(requireContext())) {
if (!BLEManager.isBluetoothEnable()) {
@@ -104,12 +97,10 @@
uiSettings.isRotateGesturesEnabled = false//不许地图随手势旋转角度
//显示定位小蓝点
locationStyle = MyLocationStyle()
- locationStyle
locationStyle.showMyLocation(true)//设置是否显示定位小蓝点
- locationStyle.interval(10 * 1000)////设置连续定位模式下的定位间隔,只在连续定位模式下生效。单位为毫秒
aMap.myLocationStyle = locationStyle
aMap.isMyLocationEnabled = true
- aMap.moveCamera(CameraUpdateFactory.zoomTo(14.toFloat()))
+ aMap.moveCamera(CameraUpdateFactory.zoomTo(16.toFloat()))
initEvent()
@@ -157,15 +148,14 @@
.setOnActionSheetListener(object : BottomActionSheet.OnActionSheetListener {
override fun onActionItemClick(position: Int) {
//获取当前定位
- val currentLng = SaveKeyValues.getValue(
+ val lng = SaveKeyValues.getValue(
LocaleConstant.CURRENT_LONGITUDE, "0.0"
) as String
- val currentLat =
- SaveKeyValues.getValue(LocaleConstant.CURRENT_LATITUDE, "0.0") as String
+ val lat = SaveKeyValues.getValue(
+ LocaleConstant.CURRENT_LATITUDE, "0.0"
+ ) as String
requireContext().navigatePageTo(
- addAll(
- position.toString(), model.id, model.name, currentLng, currentLat
- )
+ addAll(position.toString(), model.id, model.name, lng, lat)
)
}
}).build().show()
@@ -281,7 +271,7 @@
}
}
- private val callback = Handler.Callback { msg ->
+ override fun handleMessage(msg: Message): Boolean {
when (msg.what) {
LocaleConstant.BLUETOOTH_ON -> {
"蓝牙已开启".show(requireContext())
@@ -350,7 +340,7 @@
)
LocaleConstant.DISCONNECT_SUCCESS -> curConnectState = false
}
- true
+ return true
}
private fun startConnectDevice(device: BluetoothDevice) {
@@ -502,11 +492,15 @@
homeView.settingsValueView.text = dataModel.alarmValue.toString()
homeView.maxValueView.text = dataModel.maxPotency.toString()
//判断是否需要报警
+ val isOpenWarning =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_OPEN_WARNING, false) as Boolean
if (isOpenWarning) {
if (dataModel.potency >= dataModel.alarmValue) {
//当前值大于设置值,需要报警
SoundPoolHelper.playSound(requireContext(), R.raw.alarm)
vibrator.vibrate(1000)
+ val isAutoRecord =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_AUTO_RECORD, false) as Boolean
if (isAutoRecord) {
//如果连续超过10个报警,自动生成报警事件
alarmCount++
diff --git a/app/src/main/java/com/casic/birmm/inspect/single/fragment/QueryEventFragment.kt b/app/src/main/java/com/casic/birmm/inspect/single/fragment/QueryEventFragment.kt
index 96dba16..812d329 100644
--- a/app/src/main/java/com/casic/birmm/inspect/single/fragment/QueryEventFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/single/fragment/QueryEventFragment.kt
@@ -3,15 +3,14 @@
import androidx.lifecycle.lifecycleScope
import com.bumptech.glide.Glide
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.extensions.addAll
import com.casic.birmm.inspect.model.EventListModel
import com.casic.birmm.inspect.single.view.EventDetailActivity
import com.casic.birmm.inspect.utils.DataBaseManager
import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter
import com.pengxh.kt.lite.adapter.ViewHolder
import com.pengxh.kt.lite.base.KotlinBaseFragment
-import com.pengxh.kt.lite.extensions.filterSpaceOrEnter
import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.extensions.toJson
import kotlinx.android.synthetic.main.include_empty_view.*
import kotlinx.android.synthetic.main.single_fragment_query_event.*
import kotlinx.coroutines.Dispatchers
@@ -41,8 +40,7 @@
R.layout.item_event_rv_l, dataBeans
) {
override fun convertView(
- viewHolder: ViewHolder,
- position: Int,
+ viewHolder: ViewHolder, position: Int,
item: EventListModel.DataModel.RowsModel
) {
if (!item.images.isNullOrBlank()) {
@@ -61,22 +59,15 @@
}
viewHolder.setText(R.id.inspectMsgView, item.name)
- .setText(R.id.inspectMsgView, "类型:${item.type}")
- .setText(R.id.inspectMsgView, "上报时间:${item.createTime}")
+ .setText(R.id.inspectTypeView, "类型:${item.type}")
+ .setText(R.id.inspectDateView, "时间:${item.createTime}")
}
}
eventRecyclerView.adapter = eventListAdapter
eventListAdapter.setOnItemClickedListener(object :
NormalRecyclerAdapter.OnItemClickedListener {
override fun onItemClicked(position: Int, t: EventListModel.DataModel.RowsModel) {
- requireContext().navigatePageTo(
- addAll(
- t.createTime.toString(),
- t.description!!.filterSpaceOrEnter(),
- t.data.toString(),
- t.images.toString()
- )
- )
+ requireContext().navigatePageTo(t.toJson())
}
})
}
diff --git a/app/src/main/java/com/casic/birmm/inspect/single/view/EventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/single/view/EventDetailActivity.kt
index f00bbae..b7d59e8 100644
--- a/app/src/main/java/com/casic/birmm/inspect/single/view/EventDetailActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/single/view/EventDetailActivity.kt
@@ -2,7 +2,10 @@
import androidx.core.content.ContextCompat
import com.casic.birmm.inspect.R
+import com.casic.birmm.inspect.model.EventListModel
import com.casic.birmm.inspect.view.BigImageActivity
+import com.google.gson.Gson
+import com.google.gson.reflect.TypeToken
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter
import com.pengxh.kt.lite.base.KotlinBaseActivity
@@ -15,12 +18,17 @@
class EventDetailActivity : KotlinBaseActivity() {
- override fun initData() {
- val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!!
+ private val gson by lazy { Gson() }
- createTimeView.text = args[0]
- descriptionView.text = args[1]
- val data = args[2]
+ override fun initData() {
+ val args = intent.getStringExtra(Constant.INTENT_PARAM)!!
+ val model = gson.fromJson(
+ args, object : TypeToken() {}.type
+ )
+
+ createTimeView.text = model.createTime
+ descriptionView.text = model.description
+ val data = model.data
val value = if (data.isNullOrBlank()) {
"0.0"
} else {
@@ -28,7 +36,7 @@
}
dataView.text = value
- val images = args[3]
+ val images = model.images
/**
* images: 2020-12/6528aeb21cff426c91c43a7f8b716d1e.jpg
diff --git a/app/src/main/java/com/casic/birmm/inspect/single/view/NewEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/single/view/NewEventActivity.kt
index b77a8f2..7e4f7e7 100644
--- a/app/src/main/java/com/casic/birmm/inspect/single/view/NewEventActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/single/view/NewEventActivity.kt
@@ -39,7 +39,7 @@
private var isWarning: Boolean = true
private var longitude: Double = 0.0
private var latitude: Double = 0.0
- private var data = -1.0//泄露默认值
+ private var data = 0.0//泄露默认值
override fun initData() {
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
index 1281613..cfd24bd 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
@@ -16,7 +16,7 @@
*/
@FormUrlEncoded
@POST("/user/appLogin")
- suspend fun getLoginResult(
+ suspend fun login(
@Field("username") account: String,
@Field("password") secretKey: String
): String
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 4c1f278..324cf23 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
@@ -28,8 +28,8 @@
/**
* 登录并获取Token
*/
- suspend fun getLoginResult(account: String, secretKey: String): String {
- return api.getLoginResult(account, secretKey)
+ suspend fun login(account: String, secretKey: String): String {
+ return api.login(account, secretKey)
}
/**
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt
index 6f3d166..5dd7f86 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt
@@ -3,6 +3,9 @@
import androidx.core.content.ContextCompat
import com.casic.birmm.inspect.R
import com.casic.birmm.inspect.extensions.combineImagePath
+import com.casic.birmm.inspect.model.EventListModel
+import com.google.gson.Gson
+import com.google.gson.reflect.TypeToken
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter
import com.pengxh.kt.lite.base.KotlinBaseActivity
@@ -16,6 +19,8 @@
class EventDetailActivity : KotlinBaseActivity() {
+ private val gson by lazy { Gson() }
+
override fun initLayoutView(): Int = R.layout.activity_event_detail
override fun setupTopBarLayout() {
@@ -29,11 +34,14 @@
}
override fun initData() {
- val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!!
+ val args = intent.getStringExtra(Constant.INTENT_PARAM)!!
+ val model = gson.fromJson(
+ args, object : TypeToken() {}.type
+ )
- createTimeView.text = args[0]
- descriptionView.text = args[1]
- val data = args[2]
+ createTimeView.text = model.createTime
+ descriptionView.text = model.description
+ val data = model.data
val value = if (data.isNullOrBlank()) {
"0.0"
} else {
@@ -41,7 +49,7 @@
}
dataView.text = value
- val images = args[3]
+ val images = model.images
/**
* images: 2020-12/6528aeb21cff426c91c43a7f8b716d1e.jpg
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt
index b34abf4..cac1d23 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt
@@ -83,7 +83,7 @@
SaveKeyValues.putValue(LocaleConstant.ACCOUNT, account)
SaveKeyValues.putValue(LocaleConstant.PASSWORD, userPassword)
- authenticateViewModel.obtainPublicKey()
+ authenticateViewModel.getPublicKey()
authenticateViewModel.keyModel.observe(this) {
if (it.code == 200) {//用code判断,别的判断可能有坑
val keyString = it.data!!.publicKey!!
@@ -93,11 +93,12 @@
AuthenticationHelper.savePublicKey(keyString)
val publicKey = RSAUtils.keyStrToPublicKey(keyString)
- val dataByPublicKey =
- RSAUtils.encryptDataByPublicKey(userPassword.toByteArray(), publicKey!!)
+ val dataByPublicKey = RSAUtils.encryptDataByPublicKey(
+ userPassword.toByteArray(), publicKey!!
+ )
//登录并获取Token,POST请求
- userViewModel.getLoginResult(account = account, secretKey = dataByPublicKey)
+ userViewModel.login(account, dataByPublicKey)
userViewModel.loginResult.observe(this) { loginResult ->
if (loginResult.code == 200) {
AuthenticationHelper.saveToken(loginResult.data!!.token!!)
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 139dc2a..e7cbf98 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -11,6 +11,7 @@
+
diff --git a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt
index 91cd394..a757dfb 100644
--- a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt
@@ -8,6 +8,7 @@
import android.graphics.Color
import android.os.Bundle
import android.os.Handler
+import android.os.Message
import android.os.Vibrator
import android.util.Log
import android.view.LayoutInflater
@@ -37,10 +38,7 @@
import com.casic.birmm.inspect.vm.EventViewModel
import com.casic.birmm.inspect.vm.InspectionViewModel
import com.google.gson.Gson
-import com.pengxh.kt.lite.extensions.navigatePageTo
-import com.pengxh.kt.lite.extensions.show
-import com.pengxh.kt.lite.extensions.timestampToCompleteDate
-import com.pengxh.kt.lite.extensions.timestampToDate
+import com.pengxh.kt.lite.extensions.*
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.utils.ble.BLEManager
@@ -51,20 +49,15 @@
import com.pengxh.kt.lite.widget.dialog.AlertControlDialog
import com.pengxh.kt.lite.widget.dialog.AlertInputDialog
import com.pengxh.kt.lite.widget.dialog.BottomActionSheet
-import com.qmuiteam.qmui.util.QMUIDisplayHelper
import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet
import kotlinx.android.synthetic.main.fragment_map_inspect.view.*
import java.util.*
@SuppressLint("MissingPermission")
-class HomePageFragment : Fragment() {
+class HomePageFragment : Fragment(), Handler.Callback {
private val kTag = "HomePageFragment"
private val gson by lazy { Gson() }
- private val isOpenWarning =
- SaveKeyValues.getValue(LocaleConstant.OPEN_WARNING, false) as Boolean
- private val isAutoRecord =
- SaveKeyValues.getValue(LocaleConstant.AUTO_RECORD, false) as Boolean
private lateinit var homeView: View
private lateinit var userData: UserInfoModel.DataModel
private lateinit var vibrator: Vibrator
@@ -88,7 +81,7 @@
homeView = inflater.inflate(R.layout.fragment_map_inspect, container, false)
//根据不同设备状态栏高度设置statusBarView高度
- val statusBarHeight = QMUIDisplayHelper.getStatusBarHeight(requireContext())
+ val statusBarHeight = requireContext().getStatusBarHeight()
val params = homeView.statusBarView.layoutParams as LinearLayout.LayoutParams
params.height = statusBarHeight
homeView.statusBarView.setBackgroundColor(Color.parseColor("#D6EEFE"))
@@ -109,7 +102,7 @@
val userModelJson = SaveKeyValues.getValue(LocaleConstant.USER_OBJECT, "") as String
userData = gson.fromJson(userModelJson, UserInfoModel::class.java).data!!
- weakReferenceHandler = WeakReferenceHandler(callback)
+ weakReferenceHandler = WeakReferenceHandler(this)
if (BLEManager.initBLE(requireContext())) {
if (!BLEManager.isBluetoothEnable()) {
@@ -126,12 +119,10 @@
uiSettings.isRotateGesturesEnabled = false//不许地图随手势旋转角度
//显示定位小蓝点
locationStyle = MyLocationStyle()
- locationStyle
locationStyle.showMyLocation(true)//设置是否显示定位小蓝点
- locationStyle.interval(10 * 1000)////设置连续定位模式下的定位间隔,只在连续定位模式下生效。单位为毫秒
aMap.myLocationStyle = locationStyle
aMap.isMyLocationEnabled = true
- aMap.moveCamera(CameraUpdateFactory.zoomTo(14.toFloat()))
+ aMap.moveCamera(CameraUpdateFactory.zoomTo(16.toFloat()))
initEvent()
@@ -179,15 +170,14 @@
.setOnActionSheetListener(object : BottomActionSheet.OnActionSheetListener {
override fun onActionItemClick(position: Int) {
//获取当前定位
- val currentLng = SaveKeyValues.getValue(
+ val lng = SaveKeyValues.getValue(
LocaleConstant.CURRENT_LONGITUDE, "0.0"
) as String
- val currentLat =
- SaveKeyValues.getValue(LocaleConstant.CURRENT_LATITUDE, "0.0") as String
+ val lat = SaveKeyValues.getValue(
+ LocaleConstant.CURRENT_LATITUDE, "0.0"
+ ) as String
requireContext().navigatePageTo(
- addAll(
- position.toString(), model.id, model.name, currentLng, currentLat
- )
+ addAll(position.toString(), model.id, model.name, lng, lat)
)
}
}).build().show()
@@ -303,7 +293,7 @@
}
}
- private val callback = Handler.Callback { msg ->
+ override fun handleMessage(msg: Message): Boolean {
when (msg.what) {
LocaleConstant.BLUETOOTH_ON -> {
"蓝牙已开启".show(requireContext())
@@ -372,7 +362,7 @@
)
LocaleConstant.DISCONNECT_SUCCESS -> curConnectState = false
}
- true
+ return true
}
private fun startConnectDevice(device: BluetoothDevice) {
@@ -529,11 +519,15 @@
homeView.settingsValueView.text = dataModel.alarmValue.toString()
homeView.maxValueView.text = dataModel.maxPotency.toString()
//判断是否需要报警
+ val isOpenWarning =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_OPEN_WARNING, false) as Boolean
if (isOpenWarning) {
if (dataModel.potency >= dataModel.alarmValue) {
//当前值大于设置值,需要报警
SoundPoolHelper.playSound(requireContext(), R.raw.alarm)
vibrator.vibrate(1000)
+ val isAutoRecord =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_AUTO_RECORD, false) as Boolean
if (isAutoRecord) {
//如果连续超过10个报警,自动生成报警事件
alarmCount++
diff --git a/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt b/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt
index 82a23c9..d134e0b 100644
--- a/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt
@@ -3,7 +3,6 @@
import android.os.Handler
import androidx.lifecycle.ViewModelProvider
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.extensions.addAll
import com.casic.birmm.inspect.extensions.combineImagePath
import com.casic.birmm.inspect.model.EventListModel
import com.casic.birmm.inspect.view.EventDetailActivity
@@ -11,9 +10,9 @@
import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter
import com.pengxh.kt.lite.adapter.ViewHolder
import com.pengxh.kt.lite.base.KotlinBaseFragment
-import com.pengxh.kt.lite.extensions.filterSpaceOrEnter
import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.show
+import com.pengxh.kt.lite.extensions.toJson
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import kotlinx.android.synthetic.main.fragment_query_event.*
import kotlinx.android.synthetic.main.include_empty_view.*
@@ -83,7 +82,6 @@
override fun onResume() {
super.onResume()
- pageIndex = 1
getEventList()
}
@@ -119,7 +117,7 @@
viewHolder.setText(R.id.inspectMsgView, item.name)
.setText(R.id.inspectTypeView, "类型:${item.type}")
- .setText(R.id.inspectDateView, "上报时间:${item.createTime}")
+ .setText(R.id.inspectDateView, "时间:${item.createTime}")
}
}
eventRecyclerView.adapter = eventListAdapter
@@ -128,11 +126,7 @@
override fun onItemClicked(
position: Int, t: EventListModel.DataModel.RowsModel
) {
- requireContext().navigatePageTo(
- addAll(
- t.createTime, t.description!!.filterSpaceOrEnter(), t.data, t.images
- )
- )
+ requireContext().navigatePageTo(t.toJson())
}
})
}
diff --git a/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt
index 81ffffd..4a898ce 100644
--- a/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt
@@ -8,6 +8,7 @@
import android.graphics.Color
import android.os.Bundle
import android.os.Handler
+import android.os.Message
import android.os.Vibrator
import android.util.Log
import android.view.LayoutInflater
@@ -33,10 +34,7 @@
import com.casic.birmm.inspect.utils.LocaleConstant
import com.casic.birmm.inspect.utils.SoundPoolHelper
import com.google.gson.Gson
-import com.pengxh.kt.lite.extensions.navigatePageTo
-import com.pengxh.kt.lite.extensions.show
-import com.pengxh.kt.lite.extensions.timestampToCompleteDate
-import com.pengxh.kt.lite.extensions.timestampToDate
+import com.pengxh.kt.lite.extensions.*
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.utils.ble.BLEManager
@@ -46,20 +44,15 @@
import com.pengxh.kt.lite.widget.dialog.AlertControlDialog
import com.pengxh.kt.lite.widget.dialog.AlertInputDialog
import com.pengxh.kt.lite.widget.dialog.BottomActionSheet
-import com.qmuiteam.qmui.util.QMUIDisplayHelper
import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet
import kotlinx.android.synthetic.main.single_fragment_map_inspect.view.*
import java.util.*
@SuppressLint("MissingPermission")
-class HomePageFragment : Fragment() {
+class HomePageFragment : Fragment(), Handler.Callback {
private val kTag = "HomePageFragment"
private val gson by lazy { Gson() }
- private val isOpenWarning =
- SaveKeyValues.getValue(LocaleConstant.SINGLE_OPEN_WARNING, false) as Boolean
- private val isAutoRecord =
- SaveKeyValues.getValue(LocaleConstant.SINGLE_AUTO_RECORD, false) as Boolean
private lateinit var homeView: View
private lateinit var vibrator: Vibrator
private lateinit var aMap: AMap
@@ -80,14 +73,14 @@
homeView = inflater.inflate(R.layout.single_fragment_map_inspect, container, false)
//根据不同设备状态栏高度设置statusBarView高度
- val statusBarHeight = QMUIDisplayHelper.getStatusBarHeight(requireContext())
+ val statusBarHeight = requireContext().getStatusBarHeight()
val params = homeView.statusBarView.layoutParams as LinearLayout.LayoutParams
params.height = statusBarHeight
homeView.statusBarView.setBackgroundColor(Color.parseColor("#D6EEFE"))
homeView.statusBarView.requestLayout()
vibrator = requireContext().getSystemService(Context.VIBRATOR_SERVICE) as Vibrator
- weakReferenceHandler = WeakReferenceHandler(callback)
+ weakReferenceHandler = WeakReferenceHandler(this)
if (BLEManager.initBLE(requireContext())) {
if (!BLEManager.isBluetoothEnable()) {
@@ -104,12 +97,10 @@
uiSettings.isRotateGesturesEnabled = false//不许地图随手势旋转角度
//显示定位小蓝点
locationStyle = MyLocationStyle()
- locationStyle
locationStyle.showMyLocation(true)//设置是否显示定位小蓝点
- locationStyle.interval(10 * 1000)////设置连续定位模式下的定位间隔,只在连续定位模式下生效。单位为毫秒
aMap.myLocationStyle = locationStyle
aMap.isMyLocationEnabled = true
- aMap.moveCamera(CameraUpdateFactory.zoomTo(14.toFloat()))
+ aMap.moveCamera(CameraUpdateFactory.zoomTo(16.toFloat()))
initEvent()
@@ -157,15 +148,14 @@
.setOnActionSheetListener(object : BottomActionSheet.OnActionSheetListener {
override fun onActionItemClick(position: Int) {
//获取当前定位
- val currentLng = SaveKeyValues.getValue(
+ val lng = SaveKeyValues.getValue(
LocaleConstant.CURRENT_LONGITUDE, "0.0"
) as String
- val currentLat =
- SaveKeyValues.getValue(LocaleConstant.CURRENT_LATITUDE, "0.0") as String
+ val lat = SaveKeyValues.getValue(
+ LocaleConstant.CURRENT_LATITUDE, "0.0"
+ ) as String
requireContext().navigatePageTo(
- addAll(
- position.toString(), model.id, model.name, currentLng, currentLat
- )
+ addAll(position.toString(), model.id, model.name, lng, lat)
)
}
}).build().show()
@@ -281,7 +271,7 @@
}
}
- private val callback = Handler.Callback { msg ->
+ override fun handleMessage(msg: Message): Boolean {
when (msg.what) {
LocaleConstant.BLUETOOTH_ON -> {
"蓝牙已开启".show(requireContext())
@@ -350,7 +340,7 @@
)
LocaleConstant.DISCONNECT_SUCCESS -> curConnectState = false
}
- true
+ return true
}
private fun startConnectDevice(device: BluetoothDevice) {
@@ -502,11 +492,15 @@
homeView.settingsValueView.text = dataModel.alarmValue.toString()
homeView.maxValueView.text = dataModel.maxPotency.toString()
//判断是否需要报警
+ val isOpenWarning =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_OPEN_WARNING, false) as Boolean
if (isOpenWarning) {
if (dataModel.potency >= dataModel.alarmValue) {
//当前值大于设置值,需要报警
SoundPoolHelper.playSound(requireContext(), R.raw.alarm)
vibrator.vibrate(1000)
+ val isAutoRecord =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_AUTO_RECORD, false) as Boolean
if (isAutoRecord) {
//如果连续超过10个报警,自动生成报警事件
alarmCount++
diff --git a/app/src/main/java/com/casic/birmm/inspect/single/fragment/QueryEventFragment.kt b/app/src/main/java/com/casic/birmm/inspect/single/fragment/QueryEventFragment.kt
index 96dba16..812d329 100644
--- a/app/src/main/java/com/casic/birmm/inspect/single/fragment/QueryEventFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/single/fragment/QueryEventFragment.kt
@@ -3,15 +3,14 @@
import androidx.lifecycle.lifecycleScope
import com.bumptech.glide.Glide
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.extensions.addAll
import com.casic.birmm.inspect.model.EventListModel
import com.casic.birmm.inspect.single.view.EventDetailActivity
import com.casic.birmm.inspect.utils.DataBaseManager
import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter
import com.pengxh.kt.lite.adapter.ViewHolder
import com.pengxh.kt.lite.base.KotlinBaseFragment
-import com.pengxh.kt.lite.extensions.filterSpaceOrEnter
import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.extensions.toJson
import kotlinx.android.synthetic.main.include_empty_view.*
import kotlinx.android.synthetic.main.single_fragment_query_event.*
import kotlinx.coroutines.Dispatchers
@@ -41,8 +40,7 @@
R.layout.item_event_rv_l, dataBeans
) {
override fun convertView(
- viewHolder: ViewHolder,
- position: Int,
+ viewHolder: ViewHolder, position: Int,
item: EventListModel.DataModel.RowsModel
) {
if (!item.images.isNullOrBlank()) {
@@ -61,22 +59,15 @@
}
viewHolder.setText(R.id.inspectMsgView, item.name)
- .setText(R.id.inspectMsgView, "类型:${item.type}")
- .setText(R.id.inspectMsgView, "上报时间:${item.createTime}")
+ .setText(R.id.inspectTypeView, "类型:${item.type}")
+ .setText(R.id.inspectDateView, "时间:${item.createTime}")
}
}
eventRecyclerView.adapter = eventListAdapter
eventListAdapter.setOnItemClickedListener(object :
NormalRecyclerAdapter.OnItemClickedListener {
override fun onItemClicked(position: Int, t: EventListModel.DataModel.RowsModel) {
- requireContext().navigatePageTo(
- addAll(
- t.createTime.toString(),
- t.description!!.filterSpaceOrEnter(),
- t.data.toString(),
- t.images.toString()
- )
- )
+ requireContext().navigatePageTo(t.toJson())
}
})
}
diff --git a/app/src/main/java/com/casic/birmm/inspect/single/view/EventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/single/view/EventDetailActivity.kt
index f00bbae..b7d59e8 100644
--- a/app/src/main/java/com/casic/birmm/inspect/single/view/EventDetailActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/single/view/EventDetailActivity.kt
@@ -2,7 +2,10 @@
import androidx.core.content.ContextCompat
import com.casic.birmm.inspect.R
+import com.casic.birmm.inspect.model.EventListModel
import com.casic.birmm.inspect.view.BigImageActivity
+import com.google.gson.Gson
+import com.google.gson.reflect.TypeToken
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter
import com.pengxh.kt.lite.base.KotlinBaseActivity
@@ -15,12 +18,17 @@
class EventDetailActivity : KotlinBaseActivity() {
- override fun initData() {
- val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!!
+ private val gson by lazy { Gson() }
- createTimeView.text = args[0]
- descriptionView.text = args[1]
- val data = args[2]
+ override fun initData() {
+ val args = intent.getStringExtra(Constant.INTENT_PARAM)!!
+ val model = gson.fromJson(
+ args, object : TypeToken() {}.type
+ )
+
+ createTimeView.text = model.createTime
+ descriptionView.text = model.description
+ val data = model.data
val value = if (data.isNullOrBlank()) {
"0.0"
} else {
@@ -28,7 +36,7 @@
}
dataView.text = value
- val images = args[3]
+ val images = model.images
/**
* images: 2020-12/6528aeb21cff426c91c43a7f8b716d1e.jpg
diff --git a/app/src/main/java/com/casic/birmm/inspect/single/view/NewEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/single/view/NewEventActivity.kt
index b77a8f2..7e4f7e7 100644
--- a/app/src/main/java/com/casic/birmm/inspect/single/view/NewEventActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/single/view/NewEventActivity.kt
@@ -39,7 +39,7 @@
private var isWarning: Boolean = true
private var longitude: Double = 0.0
private var latitude: Double = 0.0
- private var data = -1.0//泄露默认值
+ private var data = 0.0//泄露默认值
override fun initData() {
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
index 1281613..cfd24bd 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
@@ -16,7 +16,7 @@
*/
@FormUrlEncoded
@POST("/user/appLogin")
- suspend fun getLoginResult(
+ suspend fun login(
@Field("username") account: String,
@Field("password") secretKey: String
): String
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 4c1f278..324cf23 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
@@ -28,8 +28,8 @@
/**
* 登录并获取Token
*/
- suspend fun getLoginResult(account: String, secretKey: String): String {
- return api.getLoginResult(account, secretKey)
+ suspend fun login(account: String, secretKey: String): String {
+ return api.login(account, secretKey)
}
/**
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt
index 6f3d166..5dd7f86 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt
@@ -3,6 +3,9 @@
import androidx.core.content.ContextCompat
import com.casic.birmm.inspect.R
import com.casic.birmm.inspect.extensions.combineImagePath
+import com.casic.birmm.inspect.model.EventListModel
+import com.google.gson.Gson
+import com.google.gson.reflect.TypeToken
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter
import com.pengxh.kt.lite.base.KotlinBaseActivity
@@ -16,6 +19,8 @@
class EventDetailActivity : KotlinBaseActivity() {
+ private val gson by lazy { Gson() }
+
override fun initLayoutView(): Int = R.layout.activity_event_detail
override fun setupTopBarLayout() {
@@ -29,11 +34,14 @@
}
override fun initData() {
- val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!!
+ val args = intent.getStringExtra(Constant.INTENT_PARAM)!!
+ val model = gson.fromJson(
+ args, object : TypeToken() {}.type
+ )
- createTimeView.text = args[0]
- descriptionView.text = args[1]
- val data = args[2]
+ createTimeView.text = model.createTime
+ descriptionView.text = model.description
+ val data = model.data
val value = if (data.isNullOrBlank()) {
"0.0"
} else {
@@ -41,7 +49,7 @@
}
dataView.text = value
- val images = args[3]
+ val images = model.images
/**
* images: 2020-12/6528aeb21cff426c91c43a7f8b716d1e.jpg
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt
index b34abf4..cac1d23 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt
@@ -83,7 +83,7 @@
SaveKeyValues.putValue(LocaleConstant.ACCOUNT, account)
SaveKeyValues.putValue(LocaleConstant.PASSWORD, userPassword)
- authenticateViewModel.obtainPublicKey()
+ authenticateViewModel.getPublicKey()
authenticateViewModel.keyModel.observe(this) {
if (it.code == 200) {//用code判断,别的判断可能有坑
val keyString = it.data!!.publicKey!!
@@ -93,11 +93,12 @@
AuthenticationHelper.savePublicKey(keyString)
val publicKey = RSAUtils.keyStrToPublicKey(keyString)
- val dataByPublicKey =
- RSAUtils.encryptDataByPublicKey(userPassword.toByteArray(), publicKey!!)
+ val dataByPublicKey = RSAUtils.encryptDataByPublicKey(
+ userPassword.toByteArray(), publicKey!!
+ )
//登录并获取Token,POST请求
- userViewModel.getLoginResult(account = account, secretKey = dataByPublicKey)
+ userViewModel.login(account, dataByPublicKey)
userViewModel.loginResult.observe(this) { loginResult ->
if (loginResult.code == 200) {
AuthenticationHelper.saveToken(loginResult.data!!.token!!)
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt
index 8ea8a75..2593394 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt
@@ -57,7 +57,7 @@
private lateinit var inspectionName: String
private var longitude: Double = 0.0
private var latitude: Double = 0.0
- private var data = -1.0//泄露默认值
+ private var data = 0.0//泄露默认值
private lateinit var type: String
private lateinit var userModel: UserInfoModel
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 139dc2a..e7cbf98 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -11,6 +11,7 @@
+
diff --git a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt
index 91cd394..a757dfb 100644
--- a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt
@@ -8,6 +8,7 @@
import android.graphics.Color
import android.os.Bundle
import android.os.Handler
+import android.os.Message
import android.os.Vibrator
import android.util.Log
import android.view.LayoutInflater
@@ -37,10 +38,7 @@
import com.casic.birmm.inspect.vm.EventViewModel
import com.casic.birmm.inspect.vm.InspectionViewModel
import com.google.gson.Gson
-import com.pengxh.kt.lite.extensions.navigatePageTo
-import com.pengxh.kt.lite.extensions.show
-import com.pengxh.kt.lite.extensions.timestampToCompleteDate
-import com.pengxh.kt.lite.extensions.timestampToDate
+import com.pengxh.kt.lite.extensions.*
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.utils.ble.BLEManager
@@ -51,20 +49,15 @@
import com.pengxh.kt.lite.widget.dialog.AlertControlDialog
import com.pengxh.kt.lite.widget.dialog.AlertInputDialog
import com.pengxh.kt.lite.widget.dialog.BottomActionSheet
-import com.qmuiteam.qmui.util.QMUIDisplayHelper
import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet
import kotlinx.android.synthetic.main.fragment_map_inspect.view.*
import java.util.*
@SuppressLint("MissingPermission")
-class HomePageFragment : Fragment() {
+class HomePageFragment : Fragment(), Handler.Callback {
private val kTag = "HomePageFragment"
private val gson by lazy { Gson() }
- private val isOpenWarning =
- SaveKeyValues.getValue(LocaleConstant.OPEN_WARNING, false) as Boolean
- private val isAutoRecord =
- SaveKeyValues.getValue(LocaleConstant.AUTO_RECORD, false) as Boolean
private lateinit var homeView: View
private lateinit var userData: UserInfoModel.DataModel
private lateinit var vibrator: Vibrator
@@ -88,7 +81,7 @@
homeView = inflater.inflate(R.layout.fragment_map_inspect, container, false)
//根据不同设备状态栏高度设置statusBarView高度
- val statusBarHeight = QMUIDisplayHelper.getStatusBarHeight(requireContext())
+ val statusBarHeight = requireContext().getStatusBarHeight()
val params = homeView.statusBarView.layoutParams as LinearLayout.LayoutParams
params.height = statusBarHeight
homeView.statusBarView.setBackgroundColor(Color.parseColor("#D6EEFE"))
@@ -109,7 +102,7 @@
val userModelJson = SaveKeyValues.getValue(LocaleConstant.USER_OBJECT, "") as String
userData = gson.fromJson(userModelJson, UserInfoModel::class.java).data!!
- weakReferenceHandler = WeakReferenceHandler(callback)
+ weakReferenceHandler = WeakReferenceHandler(this)
if (BLEManager.initBLE(requireContext())) {
if (!BLEManager.isBluetoothEnable()) {
@@ -126,12 +119,10 @@
uiSettings.isRotateGesturesEnabled = false//不许地图随手势旋转角度
//显示定位小蓝点
locationStyle = MyLocationStyle()
- locationStyle
locationStyle.showMyLocation(true)//设置是否显示定位小蓝点
- locationStyle.interval(10 * 1000)////设置连续定位模式下的定位间隔,只在连续定位模式下生效。单位为毫秒
aMap.myLocationStyle = locationStyle
aMap.isMyLocationEnabled = true
- aMap.moveCamera(CameraUpdateFactory.zoomTo(14.toFloat()))
+ aMap.moveCamera(CameraUpdateFactory.zoomTo(16.toFloat()))
initEvent()
@@ -179,15 +170,14 @@
.setOnActionSheetListener(object : BottomActionSheet.OnActionSheetListener {
override fun onActionItemClick(position: Int) {
//获取当前定位
- val currentLng = SaveKeyValues.getValue(
+ val lng = SaveKeyValues.getValue(
LocaleConstant.CURRENT_LONGITUDE, "0.0"
) as String
- val currentLat =
- SaveKeyValues.getValue(LocaleConstant.CURRENT_LATITUDE, "0.0") as String
+ val lat = SaveKeyValues.getValue(
+ LocaleConstant.CURRENT_LATITUDE, "0.0"
+ ) as String
requireContext().navigatePageTo(
- addAll(
- position.toString(), model.id, model.name, currentLng, currentLat
- )
+ addAll(position.toString(), model.id, model.name, lng, lat)
)
}
}).build().show()
@@ -303,7 +293,7 @@
}
}
- private val callback = Handler.Callback { msg ->
+ override fun handleMessage(msg: Message): Boolean {
when (msg.what) {
LocaleConstant.BLUETOOTH_ON -> {
"蓝牙已开启".show(requireContext())
@@ -372,7 +362,7 @@
)
LocaleConstant.DISCONNECT_SUCCESS -> curConnectState = false
}
- true
+ return true
}
private fun startConnectDevice(device: BluetoothDevice) {
@@ -529,11 +519,15 @@
homeView.settingsValueView.text = dataModel.alarmValue.toString()
homeView.maxValueView.text = dataModel.maxPotency.toString()
//判断是否需要报警
+ val isOpenWarning =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_OPEN_WARNING, false) as Boolean
if (isOpenWarning) {
if (dataModel.potency >= dataModel.alarmValue) {
//当前值大于设置值,需要报警
SoundPoolHelper.playSound(requireContext(), R.raw.alarm)
vibrator.vibrate(1000)
+ val isAutoRecord =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_AUTO_RECORD, false) as Boolean
if (isAutoRecord) {
//如果连续超过10个报警,自动生成报警事件
alarmCount++
diff --git a/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt b/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt
index 82a23c9..d134e0b 100644
--- a/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt
@@ -3,7 +3,6 @@
import android.os.Handler
import androidx.lifecycle.ViewModelProvider
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.extensions.addAll
import com.casic.birmm.inspect.extensions.combineImagePath
import com.casic.birmm.inspect.model.EventListModel
import com.casic.birmm.inspect.view.EventDetailActivity
@@ -11,9 +10,9 @@
import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter
import com.pengxh.kt.lite.adapter.ViewHolder
import com.pengxh.kt.lite.base.KotlinBaseFragment
-import com.pengxh.kt.lite.extensions.filterSpaceOrEnter
import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.show
+import com.pengxh.kt.lite.extensions.toJson
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import kotlinx.android.synthetic.main.fragment_query_event.*
import kotlinx.android.synthetic.main.include_empty_view.*
@@ -83,7 +82,6 @@
override fun onResume() {
super.onResume()
- pageIndex = 1
getEventList()
}
@@ -119,7 +117,7 @@
viewHolder.setText(R.id.inspectMsgView, item.name)
.setText(R.id.inspectTypeView, "类型:${item.type}")
- .setText(R.id.inspectDateView, "上报时间:${item.createTime}")
+ .setText(R.id.inspectDateView, "时间:${item.createTime}")
}
}
eventRecyclerView.adapter = eventListAdapter
@@ -128,11 +126,7 @@
override fun onItemClicked(
position: Int, t: EventListModel.DataModel.RowsModel
) {
- requireContext().navigatePageTo(
- addAll(
- t.createTime, t.description!!.filterSpaceOrEnter(), t.data, t.images
- )
- )
+ requireContext().navigatePageTo(t.toJson())
}
})
}
diff --git a/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt
index 81ffffd..4a898ce 100644
--- a/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt
@@ -8,6 +8,7 @@
import android.graphics.Color
import android.os.Bundle
import android.os.Handler
+import android.os.Message
import android.os.Vibrator
import android.util.Log
import android.view.LayoutInflater
@@ -33,10 +34,7 @@
import com.casic.birmm.inspect.utils.LocaleConstant
import com.casic.birmm.inspect.utils.SoundPoolHelper
import com.google.gson.Gson
-import com.pengxh.kt.lite.extensions.navigatePageTo
-import com.pengxh.kt.lite.extensions.show
-import com.pengxh.kt.lite.extensions.timestampToCompleteDate
-import com.pengxh.kt.lite.extensions.timestampToDate
+import com.pengxh.kt.lite.extensions.*
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.utils.ble.BLEManager
@@ -46,20 +44,15 @@
import com.pengxh.kt.lite.widget.dialog.AlertControlDialog
import com.pengxh.kt.lite.widget.dialog.AlertInputDialog
import com.pengxh.kt.lite.widget.dialog.BottomActionSheet
-import com.qmuiteam.qmui.util.QMUIDisplayHelper
import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet
import kotlinx.android.synthetic.main.single_fragment_map_inspect.view.*
import java.util.*
@SuppressLint("MissingPermission")
-class HomePageFragment : Fragment() {
+class HomePageFragment : Fragment(), Handler.Callback {
private val kTag = "HomePageFragment"
private val gson by lazy { Gson() }
- private val isOpenWarning =
- SaveKeyValues.getValue(LocaleConstant.SINGLE_OPEN_WARNING, false) as Boolean
- private val isAutoRecord =
- SaveKeyValues.getValue(LocaleConstant.SINGLE_AUTO_RECORD, false) as Boolean
private lateinit var homeView: View
private lateinit var vibrator: Vibrator
private lateinit var aMap: AMap
@@ -80,14 +73,14 @@
homeView = inflater.inflate(R.layout.single_fragment_map_inspect, container, false)
//根据不同设备状态栏高度设置statusBarView高度
- val statusBarHeight = QMUIDisplayHelper.getStatusBarHeight(requireContext())
+ val statusBarHeight = requireContext().getStatusBarHeight()
val params = homeView.statusBarView.layoutParams as LinearLayout.LayoutParams
params.height = statusBarHeight
homeView.statusBarView.setBackgroundColor(Color.parseColor("#D6EEFE"))
homeView.statusBarView.requestLayout()
vibrator = requireContext().getSystemService(Context.VIBRATOR_SERVICE) as Vibrator
- weakReferenceHandler = WeakReferenceHandler(callback)
+ weakReferenceHandler = WeakReferenceHandler(this)
if (BLEManager.initBLE(requireContext())) {
if (!BLEManager.isBluetoothEnable()) {
@@ -104,12 +97,10 @@
uiSettings.isRotateGesturesEnabled = false//不许地图随手势旋转角度
//显示定位小蓝点
locationStyle = MyLocationStyle()
- locationStyle
locationStyle.showMyLocation(true)//设置是否显示定位小蓝点
- locationStyle.interval(10 * 1000)////设置连续定位模式下的定位间隔,只在连续定位模式下生效。单位为毫秒
aMap.myLocationStyle = locationStyle
aMap.isMyLocationEnabled = true
- aMap.moveCamera(CameraUpdateFactory.zoomTo(14.toFloat()))
+ aMap.moveCamera(CameraUpdateFactory.zoomTo(16.toFloat()))
initEvent()
@@ -157,15 +148,14 @@
.setOnActionSheetListener(object : BottomActionSheet.OnActionSheetListener {
override fun onActionItemClick(position: Int) {
//获取当前定位
- val currentLng = SaveKeyValues.getValue(
+ val lng = SaveKeyValues.getValue(
LocaleConstant.CURRENT_LONGITUDE, "0.0"
) as String
- val currentLat =
- SaveKeyValues.getValue(LocaleConstant.CURRENT_LATITUDE, "0.0") as String
+ val lat = SaveKeyValues.getValue(
+ LocaleConstant.CURRENT_LATITUDE, "0.0"
+ ) as String
requireContext().navigatePageTo(
- addAll(
- position.toString(), model.id, model.name, currentLng, currentLat
- )
+ addAll(position.toString(), model.id, model.name, lng, lat)
)
}
}).build().show()
@@ -281,7 +271,7 @@
}
}
- private val callback = Handler.Callback { msg ->
+ override fun handleMessage(msg: Message): Boolean {
when (msg.what) {
LocaleConstant.BLUETOOTH_ON -> {
"蓝牙已开启".show(requireContext())
@@ -350,7 +340,7 @@
)
LocaleConstant.DISCONNECT_SUCCESS -> curConnectState = false
}
- true
+ return true
}
private fun startConnectDevice(device: BluetoothDevice) {
@@ -502,11 +492,15 @@
homeView.settingsValueView.text = dataModel.alarmValue.toString()
homeView.maxValueView.text = dataModel.maxPotency.toString()
//判断是否需要报警
+ val isOpenWarning =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_OPEN_WARNING, false) as Boolean
if (isOpenWarning) {
if (dataModel.potency >= dataModel.alarmValue) {
//当前值大于设置值,需要报警
SoundPoolHelper.playSound(requireContext(), R.raw.alarm)
vibrator.vibrate(1000)
+ val isAutoRecord =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_AUTO_RECORD, false) as Boolean
if (isAutoRecord) {
//如果连续超过10个报警,自动生成报警事件
alarmCount++
diff --git a/app/src/main/java/com/casic/birmm/inspect/single/fragment/QueryEventFragment.kt b/app/src/main/java/com/casic/birmm/inspect/single/fragment/QueryEventFragment.kt
index 96dba16..812d329 100644
--- a/app/src/main/java/com/casic/birmm/inspect/single/fragment/QueryEventFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/single/fragment/QueryEventFragment.kt
@@ -3,15 +3,14 @@
import androidx.lifecycle.lifecycleScope
import com.bumptech.glide.Glide
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.extensions.addAll
import com.casic.birmm.inspect.model.EventListModel
import com.casic.birmm.inspect.single.view.EventDetailActivity
import com.casic.birmm.inspect.utils.DataBaseManager
import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter
import com.pengxh.kt.lite.adapter.ViewHolder
import com.pengxh.kt.lite.base.KotlinBaseFragment
-import com.pengxh.kt.lite.extensions.filterSpaceOrEnter
import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.extensions.toJson
import kotlinx.android.synthetic.main.include_empty_view.*
import kotlinx.android.synthetic.main.single_fragment_query_event.*
import kotlinx.coroutines.Dispatchers
@@ -41,8 +40,7 @@
R.layout.item_event_rv_l, dataBeans
) {
override fun convertView(
- viewHolder: ViewHolder,
- position: Int,
+ viewHolder: ViewHolder, position: Int,
item: EventListModel.DataModel.RowsModel
) {
if (!item.images.isNullOrBlank()) {
@@ -61,22 +59,15 @@
}
viewHolder.setText(R.id.inspectMsgView, item.name)
- .setText(R.id.inspectMsgView, "类型:${item.type}")
- .setText(R.id.inspectMsgView, "上报时间:${item.createTime}")
+ .setText(R.id.inspectTypeView, "类型:${item.type}")
+ .setText(R.id.inspectDateView, "时间:${item.createTime}")
}
}
eventRecyclerView.adapter = eventListAdapter
eventListAdapter.setOnItemClickedListener(object :
NormalRecyclerAdapter.OnItemClickedListener {
override fun onItemClicked(position: Int, t: EventListModel.DataModel.RowsModel) {
- requireContext().navigatePageTo(
- addAll(
- t.createTime.toString(),
- t.description!!.filterSpaceOrEnter(),
- t.data.toString(),
- t.images.toString()
- )
- )
+ requireContext().navigatePageTo(t.toJson())
}
})
}
diff --git a/app/src/main/java/com/casic/birmm/inspect/single/view/EventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/single/view/EventDetailActivity.kt
index f00bbae..b7d59e8 100644
--- a/app/src/main/java/com/casic/birmm/inspect/single/view/EventDetailActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/single/view/EventDetailActivity.kt
@@ -2,7 +2,10 @@
import androidx.core.content.ContextCompat
import com.casic.birmm.inspect.R
+import com.casic.birmm.inspect.model.EventListModel
import com.casic.birmm.inspect.view.BigImageActivity
+import com.google.gson.Gson
+import com.google.gson.reflect.TypeToken
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter
import com.pengxh.kt.lite.base.KotlinBaseActivity
@@ -15,12 +18,17 @@
class EventDetailActivity : KotlinBaseActivity() {
- override fun initData() {
- val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!!
+ private val gson by lazy { Gson() }
- createTimeView.text = args[0]
- descriptionView.text = args[1]
- val data = args[2]
+ override fun initData() {
+ val args = intent.getStringExtra(Constant.INTENT_PARAM)!!
+ val model = gson.fromJson(
+ args, object : TypeToken() {}.type
+ )
+
+ createTimeView.text = model.createTime
+ descriptionView.text = model.description
+ val data = model.data
val value = if (data.isNullOrBlank()) {
"0.0"
} else {
@@ -28,7 +36,7 @@
}
dataView.text = value
- val images = args[3]
+ val images = model.images
/**
* images: 2020-12/6528aeb21cff426c91c43a7f8b716d1e.jpg
diff --git a/app/src/main/java/com/casic/birmm/inspect/single/view/NewEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/single/view/NewEventActivity.kt
index b77a8f2..7e4f7e7 100644
--- a/app/src/main/java/com/casic/birmm/inspect/single/view/NewEventActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/single/view/NewEventActivity.kt
@@ -39,7 +39,7 @@
private var isWarning: Boolean = true
private var longitude: Double = 0.0
private var latitude: Double = 0.0
- private var data = -1.0//泄露默认值
+ private var data = 0.0//泄露默认值
override fun initData() {
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
index 1281613..cfd24bd 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
@@ -16,7 +16,7 @@
*/
@FormUrlEncoded
@POST("/user/appLogin")
- suspend fun getLoginResult(
+ suspend fun login(
@Field("username") account: String,
@Field("password") secretKey: String
): String
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 4c1f278..324cf23 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
@@ -28,8 +28,8 @@
/**
* 登录并获取Token
*/
- suspend fun getLoginResult(account: String, secretKey: String): String {
- return api.getLoginResult(account, secretKey)
+ suspend fun login(account: String, secretKey: String): String {
+ return api.login(account, secretKey)
}
/**
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt
index 6f3d166..5dd7f86 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt
@@ -3,6 +3,9 @@
import androidx.core.content.ContextCompat
import com.casic.birmm.inspect.R
import com.casic.birmm.inspect.extensions.combineImagePath
+import com.casic.birmm.inspect.model.EventListModel
+import com.google.gson.Gson
+import com.google.gson.reflect.TypeToken
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter
import com.pengxh.kt.lite.base.KotlinBaseActivity
@@ -16,6 +19,8 @@
class EventDetailActivity : KotlinBaseActivity() {
+ private val gson by lazy { Gson() }
+
override fun initLayoutView(): Int = R.layout.activity_event_detail
override fun setupTopBarLayout() {
@@ -29,11 +34,14 @@
}
override fun initData() {
- val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!!
+ val args = intent.getStringExtra(Constant.INTENT_PARAM)!!
+ val model = gson.fromJson(
+ args, object : TypeToken() {}.type
+ )
- createTimeView.text = args[0]
- descriptionView.text = args[1]
- val data = args[2]
+ createTimeView.text = model.createTime
+ descriptionView.text = model.description
+ val data = model.data
val value = if (data.isNullOrBlank()) {
"0.0"
} else {
@@ -41,7 +49,7 @@
}
dataView.text = value
- val images = args[3]
+ val images = model.images
/**
* images: 2020-12/6528aeb21cff426c91c43a7f8b716d1e.jpg
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt
index b34abf4..cac1d23 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt
@@ -83,7 +83,7 @@
SaveKeyValues.putValue(LocaleConstant.ACCOUNT, account)
SaveKeyValues.putValue(LocaleConstant.PASSWORD, userPassword)
- authenticateViewModel.obtainPublicKey()
+ authenticateViewModel.getPublicKey()
authenticateViewModel.keyModel.observe(this) {
if (it.code == 200) {//用code判断,别的判断可能有坑
val keyString = it.data!!.publicKey!!
@@ -93,11 +93,12 @@
AuthenticationHelper.savePublicKey(keyString)
val publicKey = RSAUtils.keyStrToPublicKey(keyString)
- val dataByPublicKey =
- RSAUtils.encryptDataByPublicKey(userPassword.toByteArray(), publicKey!!)
+ val dataByPublicKey = RSAUtils.encryptDataByPublicKey(
+ userPassword.toByteArray(), publicKey!!
+ )
//登录并获取Token,POST请求
- userViewModel.getLoginResult(account = account, secretKey = dataByPublicKey)
+ userViewModel.login(account, dataByPublicKey)
userViewModel.loginResult.observe(this) { loginResult ->
if (loginResult.code == 200) {
AuthenticationHelper.saveToken(loginResult.data!!.token!!)
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt
index 8ea8a75..2593394 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt
@@ -57,7 +57,7 @@
private lateinit var inspectionName: String
private var longitude: Double = 0.0
private var latitude: Double = 0.0
- private var data = -1.0//泄露默认值
+ private var data = 0.0//泄露默认值
private lateinit var type: String
private lateinit var userModel: UserInfoModel
diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt
index 572caee..3a9ae79 100644
--- a/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt
@@ -8,6 +8,7 @@
import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager
import com.google.gson.Gson
import com.google.gson.reflect.TypeToken
+import com.pengxh.kt.lite.extensions.isNetworkConnected
import com.pengxh.kt.lite.extensions.launch
import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.vm.BaseViewModel
@@ -20,7 +21,7 @@
private val gson by lazy { Gson() }
val keyModel = MutableLiveData()
- fun obtainPublicKey() = launch({
+ fun getPublicKey() = launch({
val response = RetrofitServiceManager.getPublicKey()
val responseCode = response.separateResponseCode()
if (responseCode == 200) {
@@ -31,6 +32,10 @@
response.toErrorMessage().show(BaseApplication.get())
}
}, {
- it.cause.toString().show(BaseApplication.get())
+ if (BaseApplication.get().isNetworkConnected()) {
+ "连接服务器失败,IP或端口错误".show(BaseApplication.get())
+ } else {
+ "网络连接失败".show(BaseApplication.get())
+ }
})
}
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 139dc2a..e7cbf98 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -11,6 +11,7 @@
+
diff --git a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt
index 91cd394..a757dfb 100644
--- a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt
@@ -8,6 +8,7 @@
import android.graphics.Color
import android.os.Bundle
import android.os.Handler
+import android.os.Message
import android.os.Vibrator
import android.util.Log
import android.view.LayoutInflater
@@ -37,10 +38,7 @@
import com.casic.birmm.inspect.vm.EventViewModel
import com.casic.birmm.inspect.vm.InspectionViewModel
import com.google.gson.Gson
-import com.pengxh.kt.lite.extensions.navigatePageTo
-import com.pengxh.kt.lite.extensions.show
-import com.pengxh.kt.lite.extensions.timestampToCompleteDate
-import com.pengxh.kt.lite.extensions.timestampToDate
+import com.pengxh.kt.lite.extensions.*
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.utils.ble.BLEManager
@@ -51,20 +49,15 @@
import com.pengxh.kt.lite.widget.dialog.AlertControlDialog
import com.pengxh.kt.lite.widget.dialog.AlertInputDialog
import com.pengxh.kt.lite.widget.dialog.BottomActionSheet
-import com.qmuiteam.qmui.util.QMUIDisplayHelper
import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet
import kotlinx.android.synthetic.main.fragment_map_inspect.view.*
import java.util.*
@SuppressLint("MissingPermission")
-class HomePageFragment : Fragment() {
+class HomePageFragment : Fragment(), Handler.Callback {
private val kTag = "HomePageFragment"
private val gson by lazy { Gson() }
- private val isOpenWarning =
- SaveKeyValues.getValue(LocaleConstant.OPEN_WARNING, false) as Boolean
- private val isAutoRecord =
- SaveKeyValues.getValue(LocaleConstant.AUTO_RECORD, false) as Boolean
private lateinit var homeView: View
private lateinit var userData: UserInfoModel.DataModel
private lateinit var vibrator: Vibrator
@@ -88,7 +81,7 @@
homeView = inflater.inflate(R.layout.fragment_map_inspect, container, false)
//根据不同设备状态栏高度设置statusBarView高度
- val statusBarHeight = QMUIDisplayHelper.getStatusBarHeight(requireContext())
+ val statusBarHeight = requireContext().getStatusBarHeight()
val params = homeView.statusBarView.layoutParams as LinearLayout.LayoutParams
params.height = statusBarHeight
homeView.statusBarView.setBackgroundColor(Color.parseColor("#D6EEFE"))
@@ -109,7 +102,7 @@
val userModelJson = SaveKeyValues.getValue(LocaleConstant.USER_OBJECT, "") as String
userData = gson.fromJson(userModelJson, UserInfoModel::class.java).data!!
- weakReferenceHandler = WeakReferenceHandler(callback)
+ weakReferenceHandler = WeakReferenceHandler(this)
if (BLEManager.initBLE(requireContext())) {
if (!BLEManager.isBluetoothEnable()) {
@@ -126,12 +119,10 @@
uiSettings.isRotateGesturesEnabled = false//不许地图随手势旋转角度
//显示定位小蓝点
locationStyle = MyLocationStyle()
- locationStyle
locationStyle.showMyLocation(true)//设置是否显示定位小蓝点
- locationStyle.interval(10 * 1000)////设置连续定位模式下的定位间隔,只在连续定位模式下生效。单位为毫秒
aMap.myLocationStyle = locationStyle
aMap.isMyLocationEnabled = true
- aMap.moveCamera(CameraUpdateFactory.zoomTo(14.toFloat()))
+ aMap.moveCamera(CameraUpdateFactory.zoomTo(16.toFloat()))
initEvent()
@@ -179,15 +170,14 @@
.setOnActionSheetListener(object : BottomActionSheet.OnActionSheetListener {
override fun onActionItemClick(position: Int) {
//获取当前定位
- val currentLng = SaveKeyValues.getValue(
+ val lng = SaveKeyValues.getValue(
LocaleConstant.CURRENT_LONGITUDE, "0.0"
) as String
- val currentLat =
- SaveKeyValues.getValue(LocaleConstant.CURRENT_LATITUDE, "0.0") as String
+ val lat = SaveKeyValues.getValue(
+ LocaleConstant.CURRENT_LATITUDE, "0.0"
+ ) as String
requireContext().navigatePageTo(
- addAll(
- position.toString(), model.id, model.name, currentLng, currentLat
- )
+ addAll(position.toString(), model.id, model.name, lng, lat)
)
}
}).build().show()
@@ -303,7 +293,7 @@
}
}
- private val callback = Handler.Callback { msg ->
+ override fun handleMessage(msg: Message): Boolean {
when (msg.what) {
LocaleConstant.BLUETOOTH_ON -> {
"蓝牙已开启".show(requireContext())
@@ -372,7 +362,7 @@
)
LocaleConstant.DISCONNECT_SUCCESS -> curConnectState = false
}
- true
+ return true
}
private fun startConnectDevice(device: BluetoothDevice) {
@@ -529,11 +519,15 @@
homeView.settingsValueView.text = dataModel.alarmValue.toString()
homeView.maxValueView.text = dataModel.maxPotency.toString()
//判断是否需要报警
+ val isOpenWarning =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_OPEN_WARNING, false) as Boolean
if (isOpenWarning) {
if (dataModel.potency >= dataModel.alarmValue) {
//当前值大于设置值,需要报警
SoundPoolHelper.playSound(requireContext(), R.raw.alarm)
vibrator.vibrate(1000)
+ val isAutoRecord =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_AUTO_RECORD, false) as Boolean
if (isAutoRecord) {
//如果连续超过10个报警,自动生成报警事件
alarmCount++
diff --git a/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt b/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt
index 82a23c9..d134e0b 100644
--- a/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt
@@ -3,7 +3,6 @@
import android.os.Handler
import androidx.lifecycle.ViewModelProvider
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.extensions.addAll
import com.casic.birmm.inspect.extensions.combineImagePath
import com.casic.birmm.inspect.model.EventListModel
import com.casic.birmm.inspect.view.EventDetailActivity
@@ -11,9 +10,9 @@
import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter
import com.pengxh.kt.lite.adapter.ViewHolder
import com.pengxh.kt.lite.base.KotlinBaseFragment
-import com.pengxh.kt.lite.extensions.filterSpaceOrEnter
import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.show
+import com.pengxh.kt.lite.extensions.toJson
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import kotlinx.android.synthetic.main.fragment_query_event.*
import kotlinx.android.synthetic.main.include_empty_view.*
@@ -83,7 +82,6 @@
override fun onResume() {
super.onResume()
- pageIndex = 1
getEventList()
}
@@ -119,7 +117,7 @@
viewHolder.setText(R.id.inspectMsgView, item.name)
.setText(R.id.inspectTypeView, "类型:${item.type}")
- .setText(R.id.inspectDateView, "上报时间:${item.createTime}")
+ .setText(R.id.inspectDateView, "时间:${item.createTime}")
}
}
eventRecyclerView.adapter = eventListAdapter
@@ -128,11 +126,7 @@
override fun onItemClicked(
position: Int, t: EventListModel.DataModel.RowsModel
) {
- requireContext().navigatePageTo(
- addAll(
- t.createTime, t.description!!.filterSpaceOrEnter(), t.data, t.images
- )
- )
+ requireContext().navigatePageTo(t.toJson())
}
})
}
diff --git a/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt
index 81ffffd..4a898ce 100644
--- a/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt
@@ -8,6 +8,7 @@
import android.graphics.Color
import android.os.Bundle
import android.os.Handler
+import android.os.Message
import android.os.Vibrator
import android.util.Log
import android.view.LayoutInflater
@@ -33,10 +34,7 @@
import com.casic.birmm.inspect.utils.LocaleConstant
import com.casic.birmm.inspect.utils.SoundPoolHelper
import com.google.gson.Gson
-import com.pengxh.kt.lite.extensions.navigatePageTo
-import com.pengxh.kt.lite.extensions.show
-import com.pengxh.kt.lite.extensions.timestampToCompleteDate
-import com.pengxh.kt.lite.extensions.timestampToDate
+import com.pengxh.kt.lite.extensions.*
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.utils.ble.BLEManager
@@ -46,20 +44,15 @@
import com.pengxh.kt.lite.widget.dialog.AlertControlDialog
import com.pengxh.kt.lite.widget.dialog.AlertInputDialog
import com.pengxh.kt.lite.widget.dialog.BottomActionSheet
-import com.qmuiteam.qmui.util.QMUIDisplayHelper
import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet
import kotlinx.android.synthetic.main.single_fragment_map_inspect.view.*
import java.util.*
@SuppressLint("MissingPermission")
-class HomePageFragment : Fragment() {
+class HomePageFragment : Fragment(), Handler.Callback {
private val kTag = "HomePageFragment"
private val gson by lazy { Gson() }
- private val isOpenWarning =
- SaveKeyValues.getValue(LocaleConstant.SINGLE_OPEN_WARNING, false) as Boolean
- private val isAutoRecord =
- SaveKeyValues.getValue(LocaleConstant.SINGLE_AUTO_RECORD, false) as Boolean
private lateinit var homeView: View
private lateinit var vibrator: Vibrator
private lateinit var aMap: AMap
@@ -80,14 +73,14 @@
homeView = inflater.inflate(R.layout.single_fragment_map_inspect, container, false)
//根据不同设备状态栏高度设置statusBarView高度
- val statusBarHeight = QMUIDisplayHelper.getStatusBarHeight(requireContext())
+ val statusBarHeight = requireContext().getStatusBarHeight()
val params = homeView.statusBarView.layoutParams as LinearLayout.LayoutParams
params.height = statusBarHeight
homeView.statusBarView.setBackgroundColor(Color.parseColor("#D6EEFE"))
homeView.statusBarView.requestLayout()
vibrator = requireContext().getSystemService(Context.VIBRATOR_SERVICE) as Vibrator
- weakReferenceHandler = WeakReferenceHandler(callback)
+ weakReferenceHandler = WeakReferenceHandler(this)
if (BLEManager.initBLE(requireContext())) {
if (!BLEManager.isBluetoothEnable()) {
@@ -104,12 +97,10 @@
uiSettings.isRotateGesturesEnabled = false//不许地图随手势旋转角度
//显示定位小蓝点
locationStyle = MyLocationStyle()
- locationStyle
locationStyle.showMyLocation(true)//设置是否显示定位小蓝点
- locationStyle.interval(10 * 1000)////设置连续定位模式下的定位间隔,只在连续定位模式下生效。单位为毫秒
aMap.myLocationStyle = locationStyle
aMap.isMyLocationEnabled = true
- aMap.moveCamera(CameraUpdateFactory.zoomTo(14.toFloat()))
+ aMap.moveCamera(CameraUpdateFactory.zoomTo(16.toFloat()))
initEvent()
@@ -157,15 +148,14 @@
.setOnActionSheetListener(object : BottomActionSheet.OnActionSheetListener {
override fun onActionItemClick(position: Int) {
//获取当前定位
- val currentLng = SaveKeyValues.getValue(
+ val lng = SaveKeyValues.getValue(
LocaleConstant.CURRENT_LONGITUDE, "0.0"
) as String
- val currentLat =
- SaveKeyValues.getValue(LocaleConstant.CURRENT_LATITUDE, "0.0") as String
+ val lat = SaveKeyValues.getValue(
+ LocaleConstant.CURRENT_LATITUDE, "0.0"
+ ) as String
requireContext().navigatePageTo(
- addAll(
- position.toString(), model.id, model.name, currentLng, currentLat
- )
+ addAll(position.toString(), model.id, model.name, lng, lat)
)
}
}).build().show()
@@ -281,7 +271,7 @@
}
}
- private val callback = Handler.Callback { msg ->
+ override fun handleMessage(msg: Message): Boolean {
when (msg.what) {
LocaleConstant.BLUETOOTH_ON -> {
"蓝牙已开启".show(requireContext())
@@ -350,7 +340,7 @@
)
LocaleConstant.DISCONNECT_SUCCESS -> curConnectState = false
}
- true
+ return true
}
private fun startConnectDevice(device: BluetoothDevice) {
@@ -502,11 +492,15 @@
homeView.settingsValueView.text = dataModel.alarmValue.toString()
homeView.maxValueView.text = dataModel.maxPotency.toString()
//判断是否需要报警
+ val isOpenWarning =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_OPEN_WARNING, false) as Boolean
if (isOpenWarning) {
if (dataModel.potency >= dataModel.alarmValue) {
//当前值大于设置值,需要报警
SoundPoolHelper.playSound(requireContext(), R.raw.alarm)
vibrator.vibrate(1000)
+ val isAutoRecord =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_AUTO_RECORD, false) as Boolean
if (isAutoRecord) {
//如果连续超过10个报警,自动生成报警事件
alarmCount++
diff --git a/app/src/main/java/com/casic/birmm/inspect/single/fragment/QueryEventFragment.kt b/app/src/main/java/com/casic/birmm/inspect/single/fragment/QueryEventFragment.kt
index 96dba16..812d329 100644
--- a/app/src/main/java/com/casic/birmm/inspect/single/fragment/QueryEventFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/single/fragment/QueryEventFragment.kt
@@ -3,15 +3,14 @@
import androidx.lifecycle.lifecycleScope
import com.bumptech.glide.Glide
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.extensions.addAll
import com.casic.birmm.inspect.model.EventListModel
import com.casic.birmm.inspect.single.view.EventDetailActivity
import com.casic.birmm.inspect.utils.DataBaseManager
import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter
import com.pengxh.kt.lite.adapter.ViewHolder
import com.pengxh.kt.lite.base.KotlinBaseFragment
-import com.pengxh.kt.lite.extensions.filterSpaceOrEnter
import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.extensions.toJson
import kotlinx.android.synthetic.main.include_empty_view.*
import kotlinx.android.synthetic.main.single_fragment_query_event.*
import kotlinx.coroutines.Dispatchers
@@ -41,8 +40,7 @@
R.layout.item_event_rv_l, dataBeans
) {
override fun convertView(
- viewHolder: ViewHolder,
- position: Int,
+ viewHolder: ViewHolder, position: Int,
item: EventListModel.DataModel.RowsModel
) {
if (!item.images.isNullOrBlank()) {
@@ -61,22 +59,15 @@
}
viewHolder.setText(R.id.inspectMsgView, item.name)
- .setText(R.id.inspectMsgView, "类型:${item.type}")
- .setText(R.id.inspectMsgView, "上报时间:${item.createTime}")
+ .setText(R.id.inspectTypeView, "类型:${item.type}")
+ .setText(R.id.inspectDateView, "时间:${item.createTime}")
}
}
eventRecyclerView.adapter = eventListAdapter
eventListAdapter.setOnItemClickedListener(object :
NormalRecyclerAdapter.OnItemClickedListener {
override fun onItemClicked(position: Int, t: EventListModel.DataModel.RowsModel) {
- requireContext().navigatePageTo(
- addAll(
- t.createTime.toString(),
- t.description!!.filterSpaceOrEnter(),
- t.data.toString(),
- t.images.toString()
- )
- )
+ requireContext().navigatePageTo(t.toJson())
}
})
}
diff --git a/app/src/main/java/com/casic/birmm/inspect/single/view/EventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/single/view/EventDetailActivity.kt
index f00bbae..b7d59e8 100644
--- a/app/src/main/java/com/casic/birmm/inspect/single/view/EventDetailActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/single/view/EventDetailActivity.kt
@@ -2,7 +2,10 @@
import androidx.core.content.ContextCompat
import com.casic.birmm.inspect.R
+import com.casic.birmm.inspect.model.EventListModel
import com.casic.birmm.inspect.view.BigImageActivity
+import com.google.gson.Gson
+import com.google.gson.reflect.TypeToken
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter
import com.pengxh.kt.lite.base.KotlinBaseActivity
@@ -15,12 +18,17 @@
class EventDetailActivity : KotlinBaseActivity() {
- override fun initData() {
- val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!!
+ private val gson by lazy { Gson() }
- createTimeView.text = args[0]
- descriptionView.text = args[1]
- val data = args[2]
+ override fun initData() {
+ val args = intent.getStringExtra(Constant.INTENT_PARAM)!!
+ val model = gson.fromJson(
+ args, object : TypeToken() {}.type
+ )
+
+ createTimeView.text = model.createTime
+ descriptionView.text = model.description
+ val data = model.data
val value = if (data.isNullOrBlank()) {
"0.0"
} else {
@@ -28,7 +36,7 @@
}
dataView.text = value
- val images = args[3]
+ val images = model.images
/**
* images: 2020-12/6528aeb21cff426c91c43a7f8b716d1e.jpg
diff --git a/app/src/main/java/com/casic/birmm/inspect/single/view/NewEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/single/view/NewEventActivity.kt
index b77a8f2..7e4f7e7 100644
--- a/app/src/main/java/com/casic/birmm/inspect/single/view/NewEventActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/single/view/NewEventActivity.kt
@@ -39,7 +39,7 @@
private var isWarning: Boolean = true
private var longitude: Double = 0.0
private var latitude: Double = 0.0
- private var data = -1.0//泄露默认值
+ private var data = 0.0//泄露默认值
override fun initData() {
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
index 1281613..cfd24bd 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
@@ -16,7 +16,7 @@
*/
@FormUrlEncoded
@POST("/user/appLogin")
- suspend fun getLoginResult(
+ suspend fun login(
@Field("username") account: String,
@Field("password") secretKey: String
): String
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 4c1f278..324cf23 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
@@ -28,8 +28,8 @@
/**
* 登录并获取Token
*/
- suspend fun getLoginResult(account: String, secretKey: String): String {
- return api.getLoginResult(account, secretKey)
+ suspend fun login(account: String, secretKey: String): String {
+ return api.login(account, secretKey)
}
/**
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt
index 6f3d166..5dd7f86 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt
@@ -3,6 +3,9 @@
import androidx.core.content.ContextCompat
import com.casic.birmm.inspect.R
import com.casic.birmm.inspect.extensions.combineImagePath
+import com.casic.birmm.inspect.model.EventListModel
+import com.google.gson.Gson
+import com.google.gson.reflect.TypeToken
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter
import com.pengxh.kt.lite.base.KotlinBaseActivity
@@ -16,6 +19,8 @@
class EventDetailActivity : KotlinBaseActivity() {
+ private val gson by lazy { Gson() }
+
override fun initLayoutView(): Int = R.layout.activity_event_detail
override fun setupTopBarLayout() {
@@ -29,11 +34,14 @@
}
override fun initData() {
- val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!!
+ val args = intent.getStringExtra(Constant.INTENT_PARAM)!!
+ val model = gson.fromJson(
+ args, object : TypeToken() {}.type
+ )
- createTimeView.text = args[0]
- descriptionView.text = args[1]
- val data = args[2]
+ createTimeView.text = model.createTime
+ descriptionView.text = model.description
+ val data = model.data
val value = if (data.isNullOrBlank()) {
"0.0"
} else {
@@ -41,7 +49,7 @@
}
dataView.text = value
- val images = args[3]
+ val images = model.images
/**
* images: 2020-12/6528aeb21cff426c91c43a7f8b716d1e.jpg
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt
index b34abf4..cac1d23 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt
@@ -83,7 +83,7 @@
SaveKeyValues.putValue(LocaleConstant.ACCOUNT, account)
SaveKeyValues.putValue(LocaleConstant.PASSWORD, userPassword)
- authenticateViewModel.obtainPublicKey()
+ authenticateViewModel.getPublicKey()
authenticateViewModel.keyModel.observe(this) {
if (it.code == 200) {//用code判断,别的判断可能有坑
val keyString = it.data!!.publicKey!!
@@ -93,11 +93,12 @@
AuthenticationHelper.savePublicKey(keyString)
val publicKey = RSAUtils.keyStrToPublicKey(keyString)
- val dataByPublicKey =
- RSAUtils.encryptDataByPublicKey(userPassword.toByteArray(), publicKey!!)
+ val dataByPublicKey = RSAUtils.encryptDataByPublicKey(
+ userPassword.toByteArray(), publicKey!!
+ )
//登录并获取Token,POST请求
- userViewModel.getLoginResult(account = account, secretKey = dataByPublicKey)
+ userViewModel.login(account, dataByPublicKey)
userViewModel.loginResult.observe(this) { loginResult ->
if (loginResult.code == 200) {
AuthenticationHelper.saveToken(loginResult.data!!.token!!)
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt
index 8ea8a75..2593394 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt
@@ -57,7 +57,7 @@
private lateinit var inspectionName: String
private var longitude: Double = 0.0
private var latitude: Double = 0.0
- private var data = -1.0//泄露默认值
+ private var data = 0.0//泄露默认值
private lateinit var type: String
private lateinit var userModel: UserInfoModel
diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt
index 572caee..3a9ae79 100644
--- a/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt
@@ -8,6 +8,7 @@
import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager
import com.google.gson.Gson
import com.google.gson.reflect.TypeToken
+import com.pengxh.kt.lite.extensions.isNetworkConnected
import com.pengxh.kt.lite.extensions.launch
import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.vm.BaseViewModel
@@ -20,7 +21,7 @@
private val gson by lazy { Gson() }
val keyModel = MutableLiveData()
- fun obtainPublicKey() = launch({
+ fun getPublicKey() = launch({
val response = RetrofitServiceManager.getPublicKey()
val responseCode = response.separateResponseCode()
if (responseCode == 200) {
@@ -31,6 +32,10 @@
response.toErrorMessage().show(BaseApplication.get())
}
}, {
- it.cause.toString().show(BaseApplication.get())
+ if (BaseApplication.get().isNetworkConnected()) {
+ "连接服务器失败,IP或端口错误".show(BaseApplication.get())
+ } else {
+ "网络连接失败".show(BaseApplication.get())
+ }
})
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/UserViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/UserViewModel.kt
index a6ae8ab..3b4d099 100644
--- a/app/src/main/java/com/casic/birmm/inspect/vm/UserViewModel.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/vm/UserViewModel.kt
@@ -10,6 +10,7 @@
import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager
import com.google.gson.Gson
import com.google.gson.reflect.TypeToken
+import com.pengxh.kt.lite.extensions.isNetworkConnected
import com.pengxh.kt.lite.extensions.launch
import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.vm.BaseViewModel
@@ -27,9 +28,9 @@
val outResultModel = MutableLiveData()
val updateResult = MutableLiveData()
- fun getLoginResult(account: String, secretKey: String) = launch({
+ fun login(account: String, secretKey: String) = launch({
loadState.value = LoadState.Loading
- val response = RetrofitServiceManager.getLoginResult(account, secretKey)
+ val response = RetrofitServiceManager.login(account, secretKey)
val responseCode = response.separateResponseCode()
if (responseCode == 200) {
loadState.value = LoadState.Success
@@ -42,7 +43,11 @@
}
}, {
loadState.value = LoadState.Fail
- it.cause.toString().show(BaseApplication.get())
+ if (BaseApplication.get().isNetworkConnected()) {
+ "连接服务器失败,IP或端口错误".show(BaseApplication.get())
+ } else {
+ "网络连接失败".show(BaseApplication.get())
+ }
})
fun getUserInfo() = launch({
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 139dc2a..e7cbf98 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -11,6 +11,7 @@
+
diff --git a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt
index 91cd394..a757dfb 100644
--- a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt
@@ -8,6 +8,7 @@
import android.graphics.Color
import android.os.Bundle
import android.os.Handler
+import android.os.Message
import android.os.Vibrator
import android.util.Log
import android.view.LayoutInflater
@@ -37,10 +38,7 @@
import com.casic.birmm.inspect.vm.EventViewModel
import com.casic.birmm.inspect.vm.InspectionViewModel
import com.google.gson.Gson
-import com.pengxh.kt.lite.extensions.navigatePageTo
-import com.pengxh.kt.lite.extensions.show
-import com.pengxh.kt.lite.extensions.timestampToCompleteDate
-import com.pengxh.kt.lite.extensions.timestampToDate
+import com.pengxh.kt.lite.extensions.*
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.utils.ble.BLEManager
@@ -51,20 +49,15 @@
import com.pengxh.kt.lite.widget.dialog.AlertControlDialog
import com.pengxh.kt.lite.widget.dialog.AlertInputDialog
import com.pengxh.kt.lite.widget.dialog.BottomActionSheet
-import com.qmuiteam.qmui.util.QMUIDisplayHelper
import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet
import kotlinx.android.synthetic.main.fragment_map_inspect.view.*
import java.util.*
@SuppressLint("MissingPermission")
-class HomePageFragment : Fragment() {
+class HomePageFragment : Fragment(), Handler.Callback {
private val kTag = "HomePageFragment"
private val gson by lazy { Gson() }
- private val isOpenWarning =
- SaveKeyValues.getValue(LocaleConstant.OPEN_WARNING, false) as Boolean
- private val isAutoRecord =
- SaveKeyValues.getValue(LocaleConstant.AUTO_RECORD, false) as Boolean
private lateinit var homeView: View
private lateinit var userData: UserInfoModel.DataModel
private lateinit var vibrator: Vibrator
@@ -88,7 +81,7 @@
homeView = inflater.inflate(R.layout.fragment_map_inspect, container, false)
//根据不同设备状态栏高度设置statusBarView高度
- val statusBarHeight = QMUIDisplayHelper.getStatusBarHeight(requireContext())
+ val statusBarHeight = requireContext().getStatusBarHeight()
val params = homeView.statusBarView.layoutParams as LinearLayout.LayoutParams
params.height = statusBarHeight
homeView.statusBarView.setBackgroundColor(Color.parseColor("#D6EEFE"))
@@ -109,7 +102,7 @@
val userModelJson = SaveKeyValues.getValue(LocaleConstant.USER_OBJECT, "") as String
userData = gson.fromJson(userModelJson, UserInfoModel::class.java).data!!
- weakReferenceHandler = WeakReferenceHandler(callback)
+ weakReferenceHandler = WeakReferenceHandler(this)
if (BLEManager.initBLE(requireContext())) {
if (!BLEManager.isBluetoothEnable()) {
@@ -126,12 +119,10 @@
uiSettings.isRotateGesturesEnabled = false//不许地图随手势旋转角度
//显示定位小蓝点
locationStyle = MyLocationStyle()
- locationStyle
locationStyle.showMyLocation(true)//设置是否显示定位小蓝点
- locationStyle.interval(10 * 1000)////设置连续定位模式下的定位间隔,只在连续定位模式下生效。单位为毫秒
aMap.myLocationStyle = locationStyle
aMap.isMyLocationEnabled = true
- aMap.moveCamera(CameraUpdateFactory.zoomTo(14.toFloat()))
+ aMap.moveCamera(CameraUpdateFactory.zoomTo(16.toFloat()))
initEvent()
@@ -179,15 +170,14 @@
.setOnActionSheetListener(object : BottomActionSheet.OnActionSheetListener {
override fun onActionItemClick(position: Int) {
//获取当前定位
- val currentLng = SaveKeyValues.getValue(
+ val lng = SaveKeyValues.getValue(
LocaleConstant.CURRENT_LONGITUDE, "0.0"
) as String
- val currentLat =
- SaveKeyValues.getValue(LocaleConstant.CURRENT_LATITUDE, "0.0") as String
+ val lat = SaveKeyValues.getValue(
+ LocaleConstant.CURRENT_LATITUDE, "0.0"
+ ) as String
requireContext().navigatePageTo(
- addAll(
- position.toString(), model.id, model.name, currentLng, currentLat
- )
+ addAll(position.toString(), model.id, model.name, lng, lat)
)
}
}).build().show()
@@ -303,7 +293,7 @@
}
}
- private val callback = Handler.Callback { msg ->
+ override fun handleMessage(msg: Message): Boolean {
when (msg.what) {
LocaleConstant.BLUETOOTH_ON -> {
"蓝牙已开启".show(requireContext())
@@ -372,7 +362,7 @@
)
LocaleConstant.DISCONNECT_SUCCESS -> curConnectState = false
}
- true
+ return true
}
private fun startConnectDevice(device: BluetoothDevice) {
@@ -529,11 +519,15 @@
homeView.settingsValueView.text = dataModel.alarmValue.toString()
homeView.maxValueView.text = dataModel.maxPotency.toString()
//判断是否需要报警
+ val isOpenWarning =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_OPEN_WARNING, false) as Boolean
if (isOpenWarning) {
if (dataModel.potency >= dataModel.alarmValue) {
//当前值大于设置值,需要报警
SoundPoolHelper.playSound(requireContext(), R.raw.alarm)
vibrator.vibrate(1000)
+ val isAutoRecord =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_AUTO_RECORD, false) as Boolean
if (isAutoRecord) {
//如果连续超过10个报警,自动生成报警事件
alarmCount++
diff --git a/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt b/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt
index 82a23c9..d134e0b 100644
--- a/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt
@@ -3,7 +3,6 @@
import android.os.Handler
import androidx.lifecycle.ViewModelProvider
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.extensions.addAll
import com.casic.birmm.inspect.extensions.combineImagePath
import com.casic.birmm.inspect.model.EventListModel
import com.casic.birmm.inspect.view.EventDetailActivity
@@ -11,9 +10,9 @@
import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter
import com.pengxh.kt.lite.adapter.ViewHolder
import com.pengxh.kt.lite.base.KotlinBaseFragment
-import com.pengxh.kt.lite.extensions.filterSpaceOrEnter
import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.show
+import com.pengxh.kt.lite.extensions.toJson
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import kotlinx.android.synthetic.main.fragment_query_event.*
import kotlinx.android.synthetic.main.include_empty_view.*
@@ -83,7 +82,6 @@
override fun onResume() {
super.onResume()
- pageIndex = 1
getEventList()
}
@@ -119,7 +117,7 @@
viewHolder.setText(R.id.inspectMsgView, item.name)
.setText(R.id.inspectTypeView, "类型:${item.type}")
- .setText(R.id.inspectDateView, "上报时间:${item.createTime}")
+ .setText(R.id.inspectDateView, "时间:${item.createTime}")
}
}
eventRecyclerView.adapter = eventListAdapter
@@ -128,11 +126,7 @@
override fun onItemClicked(
position: Int, t: EventListModel.DataModel.RowsModel
) {
- requireContext().navigatePageTo(
- addAll(
- t.createTime, t.description!!.filterSpaceOrEnter(), t.data, t.images
- )
- )
+ requireContext().navigatePageTo(t.toJson())
}
})
}
diff --git a/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt
index 81ffffd..4a898ce 100644
--- a/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt
@@ -8,6 +8,7 @@
import android.graphics.Color
import android.os.Bundle
import android.os.Handler
+import android.os.Message
import android.os.Vibrator
import android.util.Log
import android.view.LayoutInflater
@@ -33,10 +34,7 @@
import com.casic.birmm.inspect.utils.LocaleConstant
import com.casic.birmm.inspect.utils.SoundPoolHelper
import com.google.gson.Gson
-import com.pengxh.kt.lite.extensions.navigatePageTo
-import com.pengxh.kt.lite.extensions.show
-import com.pengxh.kt.lite.extensions.timestampToCompleteDate
-import com.pengxh.kt.lite.extensions.timestampToDate
+import com.pengxh.kt.lite.extensions.*
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.utils.ble.BLEManager
@@ -46,20 +44,15 @@
import com.pengxh.kt.lite.widget.dialog.AlertControlDialog
import com.pengxh.kt.lite.widget.dialog.AlertInputDialog
import com.pengxh.kt.lite.widget.dialog.BottomActionSheet
-import com.qmuiteam.qmui.util.QMUIDisplayHelper
import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet
import kotlinx.android.synthetic.main.single_fragment_map_inspect.view.*
import java.util.*
@SuppressLint("MissingPermission")
-class HomePageFragment : Fragment() {
+class HomePageFragment : Fragment(), Handler.Callback {
private val kTag = "HomePageFragment"
private val gson by lazy { Gson() }
- private val isOpenWarning =
- SaveKeyValues.getValue(LocaleConstant.SINGLE_OPEN_WARNING, false) as Boolean
- private val isAutoRecord =
- SaveKeyValues.getValue(LocaleConstant.SINGLE_AUTO_RECORD, false) as Boolean
private lateinit var homeView: View
private lateinit var vibrator: Vibrator
private lateinit var aMap: AMap
@@ -80,14 +73,14 @@
homeView = inflater.inflate(R.layout.single_fragment_map_inspect, container, false)
//根据不同设备状态栏高度设置statusBarView高度
- val statusBarHeight = QMUIDisplayHelper.getStatusBarHeight(requireContext())
+ val statusBarHeight = requireContext().getStatusBarHeight()
val params = homeView.statusBarView.layoutParams as LinearLayout.LayoutParams
params.height = statusBarHeight
homeView.statusBarView.setBackgroundColor(Color.parseColor("#D6EEFE"))
homeView.statusBarView.requestLayout()
vibrator = requireContext().getSystemService(Context.VIBRATOR_SERVICE) as Vibrator
- weakReferenceHandler = WeakReferenceHandler(callback)
+ weakReferenceHandler = WeakReferenceHandler(this)
if (BLEManager.initBLE(requireContext())) {
if (!BLEManager.isBluetoothEnable()) {
@@ -104,12 +97,10 @@
uiSettings.isRotateGesturesEnabled = false//不许地图随手势旋转角度
//显示定位小蓝点
locationStyle = MyLocationStyle()
- locationStyle
locationStyle.showMyLocation(true)//设置是否显示定位小蓝点
- locationStyle.interval(10 * 1000)////设置连续定位模式下的定位间隔,只在连续定位模式下生效。单位为毫秒
aMap.myLocationStyle = locationStyle
aMap.isMyLocationEnabled = true
- aMap.moveCamera(CameraUpdateFactory.zoomTo(14.toFloat()))
+ aMap.moveCamera(CameraUpdateFactory.zoomTo(16.toFloat()))
initEvent()
@@ -157,15 +148,14 @@
.setOnActionSheetListener(object : BottomActionSheet.OnActionSheetListener {
override fun onActionItemClick(position: Int) {
//获取当前定位
- val currentLng = SaveKeyValues.getValue(
+ val lng = SaveKeyValues.getValue(
LocaleConstant.CURRENT_LONGITUDE, "0.0"
) as String
- val currentLat =
- SaveKeyValues.getValue(LocaleConstant.CURRENT_LATITUDE, "0.0") as String
+ val lat = SaveKeyValues.getValue(
+ LocaleConstant.CURRENT_LATITUDE, "0.0"
+ ) as String
requireContext().navigatePageTo(
- addAll(
- position.toString(), model.id, model.name, currentLng, currentLat
- )
+ addAll(position.toString(), model.id, model.name, lng, lat)
)
}
}).build().show()
@@ -281,7 +271,7 @@
}
}
- private val callback = Handler.Callback { msg ->
+ override fun handleMessage(msg: Message): Boolean {
when (msg.what) {
LocaleConstant.BLUETOOTH_ON -> {
"蓝牙已开启".show(requireContext())
@@ -350,7 +340,7 @@
)
LocaleConstant.DISCONNECT_SUCCESS -> curConnectState = false
}
- true
+ return true
}
private fun startConnectDevice(device: BluetoothDevice) {
@@ -502,11 +492,15 @@
homeView.settingsValueView.text = dataModel.alarmValue.toString()
homeView.maxValueView.text = dataModel.maxPotency.toString()
//判断是否需要报警
+ val isOpenWarning =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_OPEN_WARNING, false) as Boolean
if (isOpenWarning) {
if (dataModel.potency >= dataModel.alarmValue) {
//当前值大于设置值,需要报警
SoundPoolHelper.playSound(requireContext(), R.raw.alarm)
vibrator.vibrate(1000)
+ val isAutoRecord =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_AUTO_RECORD, false) as Boolean
if (isAutoRecord) {
//如果连续超过10个报警,自动生成报警事件
alarmCount++
diff --git a/app/src/main/java/com/casic/birmm/inspect/single/fragment/QueryEventFragment.kt b/app/src/main/java/com/casic/birmm/inspect/single/fragment/QueryEventFragment.kt
index 96dba16..812d329 100644
--- a/app/src/main/java/com/casic/birmm/inspect/single/fragment/QueryEventFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/single/fragment/QueryEventFragment.kt
@@ -3,15 +3,14 @@
import androidx.lifecycle.lifecycleScope
import com.bumptech.glide.Glide
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.extensions.addAll
import com.casic.birmm.inspect.model.EventListModel
import com.casic.birmm.inspect.single.view.EventDetailActivity
import com.casic.birmm.inspect.utils.DataBaseManager
import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter
import com.pengxh.kt.lite.adapter.ViewHolder
import com.pengxh.kt.lite.base.KotlinBaseFragment
-import com.pengxh.kt.lite.extensions.filterSpaceOrEnter
import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.extensions.toJson
import kotlinx.android.synthetic.main.include_empty_view.*
import kotlinx.android.synthetic.main.single_fragment_query_event.*
import kotlinx.coroutines.Dispatchers
@@ -41,8 +40,7 @@
R.layout.item_event_rv_l, dataBeans
) {
override fun convertView(
- viewHolder: ViewHolder,
- position: Int,
+ viewHolder: ViewHolder, position: Int,
item: EventListModel.DataModel.RowsModel
) {
if (!item.images.isNullOrBlank()) {
@@ -61,22 +59,15 @@
}
viewHolder.setText(R.id.inspectMsgView, item.name)
- .setText(R.id.inspectMsgView, "类型:${item.type}")
- .setText(R.id.inspectMsgView, "上报时间:${item.createTime}")
+ .setText(R.id.inspectTypeView, "类型:${item.type}")
+ .setText(R.id.inspectDateView, "时间:${item.createTime}")
}
}
eventRecyclerView.adapter = eventListAdapter
eventListAdapter.setOnItemClickedListener(object :
NormalRecyclerAdapter.OnItemClickedListener {
override fun onItemClicked(position: Int, t: EventListModel.DataModel.RowsModel) {
- requireContext().navigatePageTo(
- addAll(
- t.createTime.toString(),
- t.description!!.filterSpaceOrEnter(),
- t.data.toString(),
- t.images.toString()
- )
- )
+ requireContext().navigatePageTo(t.toJson())
}
})
}
diff --git a/app/src/main/java/com/casic/birmm/inspect/single/view/EventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/single/view/EventDetailActivity.kt
index f00bbae..b7d59e8 100644
--- a/app/src/main/java/com/casic/birmm/inspect/single/view/EventDetailActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/single/view/EventDetailActivity.kt
@@ -2,7 +2,10 @@
import androidx.core.content.ContextCompat
import com.casic.birmm.inspect.R
+import com.casic.birmm.inspect.model.EventListModel
import com.casic.birmm.inspect.view.BigImageActivity
+import com.google.gson.Gson
+import com.google.gson.reflect.TypeToken
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter
import com.pengxh.kt.lite.base.KotlinBaseActivity
@@ -15,12 +18,17 @@
class EventDetailActivity : KotlinBaseActivity() {
- override fun initData() {
- val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!!
+ private val gson by lazy { Gson() }
- createTimeView.text = args[0]
- descriptionView.text = args[1]
- val data = args[2]
+ override fun initData() {
+ val args = intent.getStringExtra(Constant.INTENT_PARAM)!!
+ val model = gson.fromJson(
+ args, object : TypeToken() {}.type
+ )
+
+ createTimeView.text = model.createTime
+ descriptionView.text = model.description
+ val data = model.data
val value = if (data.isNullOrBlank()) {
"0.0"
} else {
@@ -28,7 +36,7 @@
}
dataView.text = value
- val images = args[3]
+ val images = model.images
/**
* images: 2020-12/6528aeb21cff426c91c43a7f8b716d1e.jpg
diff --git a/app/src/main/java/com/casic/birmm/inspect/single/view/NewEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/single/view/NewEventActivity.kt
index b77a8f2..7e4f7e7 100644
--- a/app/src/main/java/com/casic/birmm/inspect/single/view/NewEventActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/single/view/NewEventActivity.kt
@@ -39,7 +39,7 @@
private var isWarning: Boolean = true
private var longitude: Double = 0.0
private var latitude: Double = 0.0
- private var data = -1.0//泄露默认值
+ private var data = 0.0//泄露默认值
override fun initData() {
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
index 1281613..cfd24bd 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
@@ -16,7 +16,7 @@
*/
@FormUrlEncoded
@POST("/user/appLogin")
- suspend fun getLoginResult(
+ suspend fun login(
@Field("username") account: String,
@Field("password") secretKey: String
): String
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 4c1f278..324cf23 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
@@ -28,8 +28,8 @@
/**
* 登录并获取Token
*/
- suspend fun getLoginResult(account: String, secretKey: String): String {
- return api.getLoginResult(account, secretKey)
+ suspend fun login(account: String, secretKey: String): String {
+ return api.login(account, secretKey)
}
/**
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt
index 6f3d166..5dd7f86 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt
@@ -3,6 +3,9 @@
import androidx.core.content.ContextCompat
import com.casic.birmm.inspect.R
import com.casic.birmm.inspect.extensions.combineImagePath
+import com.casic.birmm.inspect.model.EventListModel
+import com.google.gson.Gson
+import com.google.gson.reflect.TypeToken
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter
import com.pengxh.kt.lite.base.KotlinBaseActivity
@@ -16,6 +19,8 @@
class EventDetailActivity : KotlinBaseActivity() {
+ private val gson by lazy { Gson() }
+
override fun initLayoutView(): Int = R.layout.activity_event_detail
override fun setupTopBarLayout() {
@@ -29,11 +34,14 @@
}
override fun initData() {
- val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!!
+ val args = intent.getStringExtra(Constant.INTENT_PARAM)!!
+ val model = gson.fromJson(
+ args, object : TypeToken() {}.type
+ )
- createTimeView.text = args[0]
- descriptionView.text = args[1]
- val data = args[2]
+ createTimeView.text = model.createTime
+ descriptionView.text = model.description
+ val data = model.data
val value = if (data.isNullOrBlank()) {
"0.0"
} else {
@@ -41,7 +49,7 @@
}
dataView.text = value
- val images = args[3]
+ val images = model.images
/**
* images: 2020-12/6528aeb21cff426c91c43a7f8b716d1e.jpg
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt
index b34abf4..cac1d23 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt
@@ -83,7 +83,7 @@
SaveKeyValues.putValue(LocaleConstant.ACCOUNT, account)
SaveKeyValues.putValue(LocaleConstant.PASSWORD, userPassword)
- authenticateViewModel.obtainPublicKey()
+ authenticateViewModel.getPublicKey()
authenticateViewModel.keyModel.observe(this) {
if (it.code == 200) {//用code判断,别的判断可能有坑
val keyString = it.data!!.publicKey!!
@@ -93,11 +93,12 @@
AuthenticationHelper.savePublicKey(keyString)
val publicKey = RSAUtils.keyStrToPublicKey(keyString)
- val dataByPublicKey =
- RSAUtils.encryptDataByPublicKey(userPassword.toByteArray(), publicKey!!)
+ val dataByPublicKey = RSAUtils.encryptDataByPublicKey(
+ userPassword.toByteArray(), publicKey!!
+ )
//登录并获取Token,POST请求
- userViewModel.getLoginResult(account = account, secretKey = dataByPublicKey)
+ userViewModel.login(account, dataByPublicKey)
userViewModel.loginResult.observe(this) { loginResult ->
if (loginResult.code == 200) {
AuthenticationHelper.saveToken(loginResult.data!!.token!!)
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt
index 8ea8a75..2593394 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt
@@ -57,7 +57,7 @@
private lateinit var inspectionName: String
private var longitude: Double = 0.0
private var latitude: Double = 0.0
- private var data = -1.0//泄露默认值
+ private var data = 0.0//泄露默认值
private lateinit var type: String
private lateinit var userModel: UserInfoModel
diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt
index 572caee..3a9ae79 100644
--- a/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt
@@ -8,6 +8,7 @@
import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager
import com.google.gson.Gson
import com.google.gson.reflect.TypeToken
+import com.pengxh.kt.lite.extensions.isNetworkConnected
import com.pengxh.kt.lite.extensions.launch
import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.vm.BaseViewModel
@@ -20,7 +21,7 @@
private val gson by lazy { Gson() }
val keyModel = MutableLiveData()
- fun obtainPublicKey() = launch({
+ fun getPublicKey() = launch({
val response = RetrofitServiceManager.getPublicKey()
val responseCode = response.separateResponseCode()
if (responseCode == 200) {
@@ -31,6 +32,10 @@
response.toErrorMessage().show(BaseApplication.get())
}
}, {
- it.cause.toString().show(BaseApplication.get())
+ if (BaseApplication.get().isNetworkConnected()) {
+ "连接服务器失败,IP或端口错误".show(BaseApplication.get())
+ } else {
+ "网络连接失败".show(BaseApplication.get())
+ }
})
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/UserViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/UserViewModel.kt
index a6ae8ab..3b4d099 100644
--- a/app/src/main/java/com/casic/birmm/inspect/vm/UserViewModel.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/vm/UserViewModel.kt
@@ -10,6 +10,7 @@
import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager
import com.google.gson.Gson
import com.google.gson.reflect.TypeToken
+import com.pengxh.kt.lite.extensions.isNetworkConnected
import com.pengxh.kt.lite.extensions.launch
import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.vm.BaseViewModel
@@ -27,9 +28,9 @@
val outResultModel = MutableLiveData()
val updateResult = MutableLiveData()
- fun getLoginResult(account: String, secretKey: String) = launch({
+ fun login(account: String, secretKey: String) = launch({
loadState.value = LoadState.Loading
- val response = RetrofitServiceManager.getLoginResult(account, secretKey)
+ val response = RetrofitServiceManager.login(account, secretKey)
val responseCode = response.separateResponseCode()
if (responseCode == 200) {
loadState.value = LoadState.Success
@@ -42,7 +43,11 @@
}
}, {
loadState.value = LoadState.Fail
- it.cause.toString().show(BaseApplication.get())
+ if (BaseApplication.get().isNetworkConnected()) {
+ "连接服务器失败,IP或端口错误".show(BaseApplication.get())
+ } else {
+ "网络连接失败".show(BaseApplication.get())
+ }
})
fun getUserInfo() = launch({
diff --git a/app/src/main/res/drawable/button_main_selector.xml b/app/src/main/res/drawable/button_main_selector.xml
index 5cbaea0..e636381 100644
--- a/app/src/main/res/drawable/button_main_selector.xml
+++ b/app/src/main/res/drawable/button_main_selector.xml
@@ -11,8 +11,8 @@
-
-
-
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 139dc2a..e7cbf98 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -11,6 +11,7 @@
+
diff --git a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt
index 91cd394..a757dfb 100644
--- a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt
@@ -8,6 +8,7 @@
import android.graphics.Color
import android.os.Bundle
import android.os.Handler
+import android.os.Message
import android.os.Vibrator
import android.util.Log
import android.view.LayoutInflater
@@ -37,10 +38,7 @@
import com.casic.birmm.inspect.vm.EventViewModel
import com.casic.birmm.inspect.vm.InspectionViewModel
import com.google.gson.Gson
-import com.pengxh.kt.lite.extensions.navigatePageTo
-import com.pengxh.kt.lite.extensions.show
-import com.pengxh.kt.lite.extensions.timestampToCompleteDate
-import com.pengxh.kt.lite.extensions.timestampToDate
+import com.pengxh.kt.lite.extensions.*
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.utils.ble.BLEManager
@@ -51,20 +49,15 @@
import com.pengxh.kt.lite.widget.dialog.AlertControlDialog
import com.pengxh.kt.lite.widget.dialog.AlertInputDialog
import com.pengxh.kt.lite.widget.dialog.BottomActionSheet
-import com.qmuiteam.qmui.util.QMUIDisplayHelper
import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet
import kotlinx.android.synthetic.main.fragment_map_inspect.view.*
import java.util.*
@SuppressLint("MissingPermission")
-class HomePageFragment : Fragment() {
+class HomePageFragment : Fragment(), Handler.Callback {
private val kTag = "HomePageFragment"
private val gson by lazy { Gson() }
- private val isOpenWarning =
- SaveKeyValues.getValue(LocaleConstant.OPEN_WARNING, false) as Boolean
- private val isAutoRecord =
- SaveKeyValues.getValue(LocaleConstant.AUTO_RECORD, false) as Boolean
private lateinit var homeView: View
private lateinit var userData: UserInfoModel.DataModel
private lateinit var vibrator: Vibrator
@@ -88,7 +81,7 @@
homeView = inflater.inflate(R.layout.fragment_map_inspect, container, false)
//根据不同设备状态栏高度设置statusBarView高度
- val statusBarHeight = QMUIDisplayHelper.getStatusBarHeight(requireContext())
+ val statusBarHeight = requireContext().getStatusBarHeight()
val params = homeView.statusBarView.layoutParams as LinearLayout.LayoutParams
params.height = statusBarHeight
homeView.statusBarView.setBackgroundColor(Color.parseColor("#D6EEFE"))
@@ -109,7 +102,7 @@
val userModelJson = SaveKeyValues.getValue(LocaleConstant.USER_OBJECT, "") as String
userData = gson.fromJson(userModelJson, UserInfoModel::class.java).data!!
- weakReferenceHandler = WeakReferenceHandler(callback)
+ weakReferenceHandler = WeakReferenceHandler(this)
if (BLEManager.initBLE(requireContext())) {
if (!BLEManager.isBluetoothEnable()) {
@@ -126,12 +119,10 @@
uiSettings.isRotateGesturesEnabled = false//不许地图随手势旋转角度
//显示定位小蓝点
locationStyle = MyLocationStyle()
- locationStyle
locationStyle.showMyLocation(true)//设置是否显示定位小蓝点
- locationStyle.interval(10 * 1000)////设置连续定位模式下的定位间隔,只在连续定位模式下生效。单位为毫秒
aMap.myLocationStyle = locationStyle
aMap.isMyLocationEnabled = true
- aMap.moveCamera(CameraUpdateFactory.zoomTo(14.toFloat()))
+ aMap.moveCamera(CameraUpdateFactory.zoomTo(16.toFloat()))
initEvent()
@@ -179,15 +170,14 @@
.setOnActionSheetListener(object : BottomActionSheet.OnActionSheetListener {
override fun onActionItemClick(position: Int) {
//获取当前定位
- val currentLng = SaveKeyValues.getValue(
+ val lng = SaveKeyValues.getValue(
LocaleConstant.CURRENT_LONGITUDE, "0.0"
) as String
- val currentLat =
- SaveKeyValues.getValue(LocaleConstant.CURRENT_LATITUDE, "0.0") as String
+ val lat = SaveKeyValues.getValue(
+ LocaleConstant.CURRENT_LATITUDE, "0.0"
+ ) as String
requireContext().navigatePageTo(
- addAll(
- position.toString(), model.id, model.name, currentLng, currentLat
- )
+ addAll(position.toString(), model.id, model.name, lng, lat)
)
}
}).build().show()
@@ -303,7 +293,7 @@
}
}
- private val callback = Handler.Callback { msg ->
+ override fun handleMessage(msg: Message): Boolean {
when (msg.what) {
LocaleConstant.BLUETOOTH_ON -> {
"蓝牙已开启".show(requireContext())
@@ -372,7 +362,7 @@
)
LocaleConstant.DISCONNECT_SUCCESS -> curConnectState = false
}
- true
+ return true
}
private fun startConnectDevice(device: BluetoothDevice) {
@@ -529,11 +519,15 @@
homeView.settingsValueView.text = dataModel.alarmValue.toString()
homeView.maxValueView.text = dataModel.maxPotency.toString()
//判断是否需要报警
+ val isOpenWarning =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_OPEN_WARNING, false) as Boolean
if (isOpenWarning) {
if (dataModel.potency >= dataModel.alarmValue) {
//当前值大于设置值,需要报警
SoundPoolHelper.playSound(requireContext(), R.raw.alarm)
vibrator.vibrate(1000)
+ val isAutoRecord =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_AUTO_RECORD, false) as Boolean
if (isAutoRecord) {
//如果连续超过10个报警,自动生成报警事件
alarmCount++
diff --git a/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt b/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt
index 82a23c9..d134e0b 100644
--- a/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt
@@ -3,7 +3,6 @@
import android.os.Handler
import androidx.lifecycle.ViewModelProvider
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.extensions.addAll
import com.casic.birmm.inspect.extensions.combineImagePath
import com.casic.birmm.inspect.model.EventListModel
import com.casic.birmm.inspect.view.EventDetailActivity
@@ -11,9 +10,9 @@
import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter
import com.pengxh.kt.lite.adapter.ViewHolder
import com.pengxh.kt.lite.base.KotlinBaseFragment
-import com.pengxh.kt.lite.extensions.filterSpaceOrEnter
import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.show
+import com.pengxh.kt.lite.extensions.toJson
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import kotlinx.android.synthetic.main.fragment_query_event.*
import kotlinx.android.synthetic.main.include_empty_view.*
@@ -83,7 +82,6 @@
override fun onResume() {
super.onResume()
- pageIndex = 1
getEventList()
}
@@ -119,7 +117,7 @@
viewHolder.setText(R.id.inspectMsgView, item.name)
.setText(R.id.inspectTypeView, "类型:${item.type}")
- .setText(R.id.inspectDateView, "上报时间:${item.createTime}")
+ .setText(R.id.inspectDateView, "时间:${item.createTime}")
}
}
eventRecyclerView.adapter = eventListAdapter
@@ -128,11 +126,7 @@
override fun onItemClicked(
position: Int, t: EventListModel.DataModel.RowsModel
) {
- requireContext().navigatePageTo(
- addAll(
- t.createTime, t.description!!.filterSpaceOrEnter(), t.data, t.images
- )
- )
+ requireContext().navigatePageTo(t.toJson())
}
})
}
diff --git a/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt
index 81ffffd..4a898ce 100644
--- a/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt
@@ -8,6 +8,7 @@
import android.graphics.Color
import android.os.Bundle
import android.os.Handler
+import android.os.Message
import android.os.Vibrator
import android.util.Log
import android.view.LayoutInflater
@@ -33,10 +34,7 @@
import com.casic.birmm.inspect.utils.LocaleConstant
import com.casic.birmm.inspect.utils.SoundPoolHelper
import com.google.gson.Gson
-import com.pengxh.kt.lite.extensions.navigatePageTo
-import com.pengxh.kt.lite.extensions.show
-import com.pengxh.kt.lite.extensions.timestampToCompleteDate
-import com.pengxh.kt.lite.extensions.timestampToDate
+import com.pengxh.kt.lite.extensions.*
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.utils.ble.BLEManager
@@ -46,20 +44,15 @@
import com.pengxh.kt.lite.widget.dialog.AlertControlDialog
import com.pengxh.kt.lite.widget.dialog.AlertInputDialog
import com.pengxh.kt.lite.widget.dialog.BottomActionSheet
-import com.qmuiteam.qmui.util.QMUIDisplayHelper
import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet
import kotlinx.android.synthetic.main.single_fragment_map_inspect.view.*
import java.util.*
@SuppressLint("MissingPermission")
-class HomePageFragment : Fragment() {
+class HomePageFragment : Fragment(), Handler.Callback {
private val kTag = "HomePageFragment"
private val gson by lazy { Gson() }
- private val isOpenWarning =
- SaveKeyValues.getValue(LocaleConstant.SINGLE_OPEN_WARNING, false) as Boolean
- private val isAutoRecord =
- SaveKeyValues.getValue(LocaleConstant.SINGLE_AUTO_RECORD, false) as Boolean
private lateinit var homeView: View
private lateinit var vibrator: Vibrator
private lateinit var aMap: AMap
@@ -80,14 +73,14 @@
homeView = inflater.inflate(R.layout.single_fragment_map_inspect, container, false)
//根据不同设备状态栏高度设置statusBarView高度
- val statusBarHeight = QMUIDisplayHelper.getStatusBarHeight(requireContext())
+ val statusBarHeight = requireContext().getStatusBarHeight()
val params = homeView.statusBarView.layoutParams as LinearLayout.LayoutParams
params.height = statusBarHeight
homeView.statusBarView.setBackgroundColor(Color.parseColor("#D6EEFE"))
homeView.statusBarView.requestLayout()
vibrator = requireContext().getSystemService(Context.VIBRATOR_SERVICE) as Vibrator
- weakReferenceHandler = WeakReferenceHandler(callback)
+ weakReferenceHandler = WeakReferenceHandler(this)
if (BLEManager.initBLE(requireContext())) {
if (!BLEManager.isBluetoothEnable()) {
@@ -104,12 +97,10 @@
uiSettings.isRotateGesturesEnabled = false//不许地图随手势旋转角度
//显示定位小蓝点
locationStyle = MyLocationStyle()
- locationStyle
locationStyle.showMyLocation(true)//设置是否显示定位小蓝点
- locationStyle.interval(10 * 1000)////设置连续定位模式下的定位间隔,只在连续定位模式下生效。单位为毫秒
aMap.myLocationStyle = locationStyle
aMap.isMyLocationEnabled = true
- aMap.moveCamera(CameraUpdateFactory.zoomTo(14.toFloat()))
+ aMap.moveCamera(CameraUpdateFactory.zoomTo(16.toFloat()))
initEvent()
@@ -157,15 +148,14 @@
.setOnActionSheetListener(object : BottomActionSheet.OnActionSheetListener {
override fun onActionItemClick(position: Int) {
//获取当前定位
- val currentLng = SaveKeyValues.getValue(
+ val lng = SaveKeyValues.getValue(
LocaleConstant.CURRENT_LONGITUDE, "0.0"
) as String
- val currentLat =
- SaveKeyValues.getValue(LocaleConstant.CURRENT_LATITUDE, "0.0") as String
+ val lat = SaveKeyValues.getValue(
+ LocaleConstant.CURRENT_LATITUDE, "0.0"
+ ) as String
requireContext().navigatePageTo(
- addAll(
- position.toString(), model.id, model.name, currentLng, currentLat
- )
+ addAll(position.toString(), model.id, model.name, lng, lat)
)
}
}).build().show()
@@ -281,7 +271,7 @@
}
}
- private val callback = Handler.Callback { msg ->
+ override fun handleMessage(msg: Message): Boolean {
when (msg.what) {
LocaleConstant.BLUETOOTH_ON -> {
"蓝牙已开启".show(requireContext())
@@ -350,7 +340,7 @@
)
LocaleConstant.DISCONNECT_SUCCESS -> curConnectState = false
}
- true
+ return true
}
private fun startConnectDevice(device: BluetoothDevice) {
@@ -502,11 +492,15 @@
homeView.settingsValueView.text = dataModel.alarmValue.toString()
homeView.maxValueView.text = dataModel.maxPotency.toString()
//判断是否需要报警
+ val isOpenWarning =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_OPEN_WARNING, false) as Boolean
if (isOpenWarning) {
if (dataModel.potency >= dataModel.alarmValue) {
//当前值大于设置值,需要报警
SoundPoolHelper.playSound(requireContext(), R.raw.alarm)
vibrator.vibrate(1000)
+ val isAutoRecord =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_AUTO_RECORD, false) as Boolean
if (isAutoRecord) {
//如果连续超过10个报警,自动生成报警事件
alarmCount++
diff --git a/app/src/main/java/com/casic/birmm/inspect/single/fragment/QueryEventFragment.kt b/app/src/main/java/com/casic/birmm/inspect/single/fragment/QueryEventFragment.kt
index 96dba16..812d329 100644
--- a/app/src/main/java/com/casic/birmm/inspect/single/fragment/QueryEventFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/single/fragment/QueryEventFragment.kt
@@ -3,15 +3,14 @@
import androidx.lifecycle.lifecycleScope
import com.bumptech.glide.Glide
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.extensions.addAll
import com.casic.birmm.inspect.model.EventListModel
import com.casic.birmm.inspect.single.view.EventDetailActivity
import com.casic.birmm.inspect.utils.DataBaseManager
import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter
import com.pengxh.kt.lite.adapter.ViewHolder
import com.pengxh.kt.lite.base.KotlinBaseFragment
-import com.pengxh.kt.lite.extensions.filterSpaceOrEnter
import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.extensions.toJson
import kotlinx.android.synthetic.main.include_empty_view.*
import kotlinx.android.synthetic.main.single_fragment_query_event.*
import kotlinx.coroutines.Dispatchers
@@ -41,8 +40,7 @@
R.layout.item_event_rv_l, dataBeans
) {
override fun convertView(
- viewHolder: ViewHolder,
- position: Int,
+ viewHolder: ViewHolder, position: Int,
item: EventListModel.DataModel.RowsModel
) {
if (!item.images.isNullOrBlank()) {
@@ -61,22 +59,15 @@
}
viewHolder.setText(R.id.inspectMsgView, item.name)
- .setText(R.id.inspectMsgView, "类型:${item.type}")
- .setText(R.id.inspectMsgView, "上报时间:${item.createTime}")
+ .setText(R.id.inspectTypeView, "类型:${item.type}")
+ .setText(R.id.inspectDateView, "时间:${item.createTime}")
}
}
eventRecyclerView.adapter = eventListAdapter
eventListAdapter.setOnItemClickedListener(object :
NormalRecyclerAdapter.OnItemClickedListener {
override fun onItemClicked(position: Int, t: EventListModel.DataModel.RowsModel) {
- requireContext().navigatePageTo(
- addAll(
- t.createTime.toString(),
- t.description!!.filterSpaceOrEnter(),
- t.data.toString(),
- t.images.toString()
- )
- )
+ requireContext().navigatePageTo(t.toJson())
}
})
}
diff --git a/app/src/main/java/com/casic/birmm/inspect/single/view/EventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/single/view/EventDetailActivity.kt
index f00bbae..b7d59e8 100644
--- a/app/src/main/java/com/casic/birmm/inspect/single/view/EventDetailActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/single/view/EventDetailActivity.kt
@@ -2,7 +2,10 @@
import androidx.core.content.ContextCompat
import com.casic.birmm.inspect.R
+import com.casic.birmm.inspect.model.EventListModel
import com.casic.birmm.inspect.view.BigImageActivity
+import com.google.gson.Gson
+import com.google.gson.reflect.TypeToken
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter
import com.pengxh.kt.lite.base.KotlinBaseActivity
@@ -15,12 +18,17 @@
class EventDetailActivity : KotlinBaseActivity() {
- override fun initData() {
- val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!!
+ private val gson by lazy { Gson() }
- createTimeView.text = args[0]
- descriptionView.text = args[1]
- val data = args[2]
+ override fun initData() {
+ val args = intent.getStringExtra(Constant.INTENT_PARAM)!!
+ val model = gson.fromJson(
+ args, object : TypeToken() {}.type
+ )
+
+ createTimeView.text = model.createTime
+ descriptionView.text = model.description
+ val data = model.data
val value = if (data.isNullOrBlank()) {
"0.0"
} else {
@@ -28,7 +36,7 @@
}
dataView.text = value
- val images = args[3]
+ val images = model.images
/**
* images: 2020-12/6528aeb21cff426c91c43a7f8b716d1e.jpg
diff --git a/app/src/main/java/com/casic/birmm/inspect/single/view/NewEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/single/view/NewEventActivity.kt
index b77a8f2..7e4f7e7 100644
--- a/app/src/main/java/com/casic/birmm/inspect/single/view/NewEventActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/single/view/NewEventActivity.kt
@@ -39,7 +39,7 @@
private var isWarning: Boolean = true
private var longitude: Double = 0.0
private var latitude: Double = 0.0
- private var data = -1.0//泄露默认值
+ private var data = 0.0//泄露默认值
override fun initData() {
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
index 1281613..cfd24bd 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
@@ -16,7 +16,7 @@
*/
@FormUrlEncoded
@POST("/user/appLogin")
- suspend fun getLoginResult(
+ suspend fun login(
@Field("username") account: String,
@Field("password") secretKey: String
): String
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 4c1f278..324cf23 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
@@ -28,8 +28,8 @@
/**
* 登录并获取Token
*/
- suspend fun getLoginResult(account: String, secretKey: String): String {
- return api.getLoginResult(account, secretKey)
+ suspend fun login(account: String, secretKey: String): String {
+ return api.login(account, secretKey)
}
/**
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt
index 6f3d166..5dd7f86 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt
@@ -3,6 +3,9 @@
import androidx.core.content.ContextCompat
import com.casic.birmm.inspect.R
import com.casic.birmm.inspect.extensions.combineImagePath
+import com.casic.birmm.inspect.model.EventListModel
+import com.google.gson.Gson
+import com.google.gson.reflect.TypeToken
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter
import com.pengxh.kt.lite.base.KotlinBaseActivity
@@ -16,6 +19,8 @@
class EventDetailActivity : KotlinBaseActivity() {
+ private val gson by lazy { Gson() }
+
override fun initLayoutView(): Int = R.layout.activity_event_detail
override fun setupTopBarLayout() {
@@ -29,11 +34,14 @@
}
override fun initData() {
- val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!!
+ val args = intent.getStringExtra(Constant.INTENT_PARAM)!!
+ val model = gson.fromJson(
+ args, object : TypeToken() {}.type
+ )
- createTimeView.text = args[0]
- descriptionView.text = args[1]
- val data = args[2]
+ createTimeView.text = model.createTime
+ descriptionView.text = model.description
+ val data = model.data
val value = if (data.isNullOrBlank()) {
"0.0"
} else {
@@ -41,7 +49,7 @@
}
dataView.text = value
- val images = args[3]
+ val images = model.images
/**
* images: 2020-12/6528aeb21cff426c91c43a7f8b716d1e.jpg
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt
index b34abf4..cac1d23 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt
@@ -83,7 +83,7 @@
SaveKeyValues.putValue(LocaleConstant.ACCOUNT, account)
SaveKeyValues.putValue(LocaleConstant.PASSWORD, userPassword)
- authenticateViewModel.obtainPublicKey()
+ authenticateViewModel.getPublicKey()
authenticateViewModel.keyModel.observe(this) {
if (it.code == 200) {//用code判断,别的判断可能有坑
val keyString = it.data!!.publicKey!!
@@ -93,11 +93,12 @@
AuthenticationHelper.savePublicKey(keyString)
val publicKey = RSAUtils.keyStrToPublicKey(keyString)
- val dataByPublicKey =
- RSAUtils.encryptDataByPublicKey(userPassword.toByteArray(), publicKey!!)
+ val dataByPublicKey = RSAUtils.encryptDataByPublicKey(
+ userPassword.toByteArray(), publicKey!!
+ )
//登录并获取Token,POST请求
- userViewModel.getLoginResult(account = account, secretKey = dataByPublicKey)
+ userViewModel.login(account, dataByPublicKey)
userViewModel.loginResult.observe(this) { loginResult ->
if (loginResult.code == 200) {
AuthenticationHelper.saveToken(loginResult.data!!.token!!)
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt
index 8ea8a75..2593394 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt
@@ -57,7 +57,7 @@
private lateinit var inspectionName: String
private var longitude: Double = 0.0
private var latitude: Double = 0.0
- private var data = -1.0//泄露默认值
+ private var data = 0.0//泄露默认值
private lateinit var type: String
private lateinit var userModel: UserInfoModel
diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt
index 572caee..3a9ae79 100644
--- a/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt
@@ -8,6 +8,7 @@
import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager
import com.google.gson.Gson
import com.google.gson.reflect.TypeToken
+import com.pengxh.kt.lite.extensions.isNetworkConnected
import com.pengxh.kt.lite.extensions.launch
import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.vm.BaseViewModel
@@ -20,7 +21,7 @@
private val gson by lazy { Gson() }
val keyModel = MutableLiveData()
- fun obtainPublicKey() = launch({
+ fun getPublicKey() = launch({
val response = RetrofitServiceManager.getPublicKey()
val responseCode = response.separateResponseCode()
if (responseCode == 200) {
@@ -31,6 +32,10 @@
response.toErrorMessage().show(BaseApplication.get())
}
}, {
- it.cause.toString().show(BaseApplication.get())
+ if (BaseApplication.get().isNetworkConnected()) {
+ "连接服务器失败,IP或端口错误".show(BaseApplication.get())
+ } else {
+ "网络连接失败".show(BaseApplication.get())
+ }
})
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/UserViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/UserViewModel.kt
index a6ae8ab..3b4d099 100644
--- a/app/src/main/java/com/casic/birmm/inspect/vm/UserViewModel.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/vm/UserViewModel.kt
@@ -10,6 +10,7 @@
import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager
import com.google.gson.Gson
import com.google.gson.reflect.TypeToken
+import com.pengxh.kt.lite.extensions.isNetworkConnected
import com.pengxh.kt.lite.extensions.launch
import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.vm.BaseViewModel
@@ -27,9 +28,9 @@
val outResultModel = MutableLiveData()
val updateResult = MutableLiveData()
- fun getLoginResult(account: String, secretKey: String) = launch({
+ fun login(account: String, secretKey: String) = launch({
loadState.value = LoadState.Loading
- val response = RetrofitServiceManager.getLoginResult(account, secretKey)
+ val response = RetrofitServiceManager.login(account, secretKey)
val responseCode = response.separateResponseCode()
if (responseCode == 200) {
loadState.value = LoadState.Success
@@ -42,7 +43,11 @@
}
}, {
loadState.value = LoadState.Fail
- it.cause.toString().show(BaseApplication.get())
+ if (BaseApplication.get().isNetworkConnected()) {
+ "连接服务器失败,IP或端口错误".show(BaseApplication.get())
+ } else {
+ "网络连接失败".show(BaseApplication.get())
+ }
})
fun getUserInfo() = launch({
diff --git a/app/src/main/res/drawable/button_main_selector.xml b/app/src/main/res/drawable/button_main_selector.xml
index 5cbaea0..e636381 100644
--- a/app/src/main/res/drawable/button_main_selector.xml
+++ b/app/src/main/res/drawable/button_main_selector.xml
@@ -11,8 +11,8 @@
-
-
-
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_map_inspect.xml b/app/src/main/res/layout/fragment_map_inspect.xml
index ce2b604..b48c80a 100644
--- a/app/src/main/res/layout/fragment_map_inspect.xml
+++ b/app/src/main/res/layout/fragment_map_inspect.xml
@@ -47,7 +47,7 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="5dp"
- android:hint="巡检记录"
+ android:hint="未开始巡检"
android:paddingVertical="3dp"
android:singleLine="true"
android:textColor="@color/black"
@@ -62,7 +62,6 @@
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:paddingVertical="3dp"
- android:hint="yyyy-MM-dd HH:mm:ss"
android:textColor="@color/black"
android:textSize="@dimen/sp_14"
app:layout_constraintEnd_toEndOf="parent"
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 139dc2a..e7cbf98 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -11,6 +11,7 @@
+
diff --git a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt
index 91cd394..a757dfb 100644
--- a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt
@@ -8,6 +8,7 @@
import android.graphics.Color
import android.os.Bundle
import android.os.Handler
+import android.os.Message
import android.os.Vibrator
import android.util.Log
import android.view.LayoutInflater
@@ -37,10 +38,7 @@
import com.casic.birmm.inspect.vm.EventViewModel
import com.casic.birmm.inspect.vm.InspectionViewModel
import com.google.gson.Gson
-import com.pengxh.kt.lite.extensions.navigatePageTo
-import com.pengxh.kt.lite.extensions.show
-import com.pengxh.kt.lite.extensions.timestampToCompleteDate
-import com.pengxh.kt.lite.extensions.timestampToDate
+import com.pengxh.kt.lite.extensions.*
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.utils.ble.BLEManager
@@ -51,20 +49,15 @@
import com.pengxh.kt.lite.widget.dialog.AlertControlDialog
import com.pengxh.kt.lite.widget.dialog.AlertInputDialog
import com.pengxh.kt.lite.widget.dialog.BottomActionSheet
-import com.qmuiteam.qmui.util.QMUIDisplayHelper
import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet
import kotlinx.android.synthetic.main.fragment_map_inspect.view.*
import java.util.*
@SuppressLint("MissingPermission")
-class HomePageFragment : Fragment() {
+class HomePageFragment : Fragment(), Handler.Callback {
private val kTag = "HomePageFragment"
private val gson by lazy { Gson() }
- private val isOpenWarning =
- SaveKeyValues.getValue(LocaleConstant.OPEN_WARNING, false) as Boolean
- private val isAutoRecord =
- SaveKeyValues.getValue(LocaleConstant.AUTO_RECORD, false) as Boolean
private lateinit var homeView: View
private lateinit var userData: UserInfoModel.DataModel
private lateinit var vibrator: Vibrator
@@ -88,7 +81,7 @@
homeView = inflater.inflate(R.layout.fragment_map_inspect, container, false)
//根据不同设备状态栏高度设置statusBarView高度
- val statusBarHeight = QMUIDisplayHelper.getStatusBarHeight(requireContext())
+ val statusBarHeight = requireContext().getStatusBarHeight()
val params = homeView.statusBarView.layoutParams as LinearLayout.LayoutParams
params.height = statusBarHeight
homeView.statusBarView.setBackgroundColor(Color.parseColor("#D6EEFE"))
@@ -109,7 +102,7 @@
val userModelJson = SaveKeyValues.getValue(LocaleConstant.USER_OBJECT, "") as String
userData = gson.fromJson(userModelJson, UserInfoModel::class.java).data!!
- weakReferenceHandler = WeakReferenceHandler(callback)
+ weakReferenceHandler = WeakReferenceHandler(this)
if (BLEManager.initBLE(requireContext())) {
if (!BLEManager.isBluetoothEnable()) {
@@ -126,12 +119,10 @@
uiSettings.isRotateGesturesEnabled = false//不许地图随手势旋转角度
//显示定位小蓝点
locationStyle = MyLocationStyle()
- locationStyle
locationStyle.showMyLocation(true)//设置是否显示定位小蓝点
- locationStyle.interval(10 * 1000)////设置连续定位模式下的定位间隔,只在连续定位模式下生效。单位为毫秒
aMap.myLocationStyle = locationStyle
aMap.isMyLocationEnabled = true
- aMap.moveCamera(CameraUpdateFactory.zoomTo(14.toFloat()))
+ aMap.moveCamera(CameraUpdateFactory.zoomTo(16.toFloat()))
initEvent()
@@ -179,15 +170,14 @@
.setOnActionSheetListener(object : BottomActionSheet.OnActionSheetListener {
override fun onActionItemClick(position: Int) {
//获取当前定位
- val currentLng = SaveKeyValues.getValue(
+ val lng = SaveKeyValues.getValue(
LocaleConstant.CURRENT_LONGITUDE, "0.0"
) as String
- val currentLat =
- SaveKeyValues.getValue(LocaleConstant.CURRENT_LATITUDE, "0.0") as String
+ val lat = SaveKeyValues.getValue(
+ LocaleConstant.CURRENT_LATITUDE, "0.0"
+ ) as String
requireContext().navigatePageTo(
- addAll(
- position.toString(), model.id, model.name, currentLng, currentLat
- )
+ addAll(position.toString(), model.id, model.name, lng, lat)
)
}
}).build().show()
@@ -303,7 +293,7 @@
}
}
- private val callback = Handler.Callback { msg ->
+ override fun handleMessage(msg: Message): Boolean {
when (msg.what) {
LocaleConstant.BLUETOOTH_ON -> {
"蓝牙已开启".show(requireContext())
@@ -372,7 +362,7 @@
)
LocaleConstant.DISCONNECT_SUCCESS -> curConnectState = false
}
- true
+ return true
}
private fun startConnectDevice(device: BluetoothDevice) {
@@ -529,11 +519,15 @@
homeView.settingsValueView.text = dataModel.alarmValue.toString()
homeView.maxValueView.text = dataModel.maxPotency.toString()
//判断是否需要报警
+ val isOpenWarning =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_OPEN_WARNING, false) as Boolean
if (isOpenWarning) {
if (dataModel.potency >= dataModel.alarmValue) {
//当前值大于设置值,需要报警
SoundPoolHelper.playSound(requireContext(), R.raw.alarm)
vibrator.vibrate(1000)
+ val isAutoRecord =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_AUTO_RECORD, false) as Boolean
if (isAutoRecord) {
//如果连续超过10个报警,自动生成报警事件
alarmCount++
diff --git a/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt b/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt
index 82a23c9..d134e0b 100644
--- a/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt
@@ -3,7 +3,6 @@
import android.os.Handler
import androidx.lifecycle.ViewModelProvider
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.extensions.addAll
import com.casic.birmm.inspect.extensions.combineImagePath
import com.casic.birmm.inspect.model.EventListModel
import com.casic.birmm.inspect.view.EventDetailActivity
@@ -11,9 +10,9 @@
import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter
import com.pengxh.kt.lite.adapter.ViewHolder
import com.pengxh.kt.lite.base.KotlinBaseFragment
-import com.pengxh.kt.lite.extensions.filterSpaceOrEnter
import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.show
+import com.pengxh.kt.lite.extensions.toJson
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import kotlinx.android.synthetic.main.fragment_query_event.*
import kotlinx.android.synthetic.main.include_empty_view.*
@@ -83,7 +82,6 @@
override fun onResume() {
super.onResume()
- pageIndex = 1
getEventList()
}
@@ -119,7 +117,7 @@
viewHolder.setText(R.id.inspectMsgView, item.name)
.setText(R.id.inspectTypeView, "类型:${item.type}")
- .setText(R.id.inspectDateView, "上报时间:${item.createTime}")
+ .setText(R.id.inspectDateView, "时间:${item.createTime}")
}
}
eventRecyclerView.adapter = eventListAdapter
@@ -128,11 +126,7 @@
override fun onItemClicked(
position: Int, t: EventListModel.DataModel.RowsModel
) {
- requireContext().navigatePageTo(
- addAll(
- t.createTime, t.description!!.filterSpaceOrEnter(), t.data, t.images
- )
- )
+ requireContext().navigatePageTo(t.toJson())
}
})
}
diff --git a/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt
index 81ffffd..4a898ce 100644
--- a/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt
@@ -8,6 +8,7 @@
import android.graphics.Color
import android.os.Bundle
import android.os.Handler
+import android.os.Message
import android.os.Vibrator
import android.util.Log
import android.view.LayoutInflater
@@ -33,10 +34,7 @@
import com.casic.birmm.inspect.utils.LocaleConstant
import com.casic.birmm.inspect.utils.SoundPoolHelper
import com.google.gson.Gson
-import com.pengxh.kt.lite.extensions.navigatePageTo
-import com.pengxh.kt.lite.extensions.show
-import com.pengxh.kt.lite.extensions.timestampToCompleteDate
-import com.pengxh.kt.lite.extensions.timestampToDate
+import com.pengxh.kt.lite.extensions.*
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.utils.ble.BLEManager
@@ -46,20 +44,15 @@
import com.pengxh.kt.lite.widget.dialog.AlertControlDialog
import com.pengxh.kt.lite.widget.dialog.AlertInputDialog
import com.pengxh.kt.lite.widget.dialog.BottomActionSheet
-import com.qmuiteam.qmui.util.QMUIDisplayHelper
import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet
import kotlinx.android.synthetic.main.single_fragment_map_inspect.view.*
import java.util.*
@SuppressLint("MissingPermission")
-class HomePageFragment : Fragment() {
+class HomePageFragment : Fragment(), Handler.Callback {
private val kTag = "HomePageFragment"
private val gson by lazy { Gson() }
- private val isOpenWarning =
- SaveKeyValues.getValue(LocaleConstant.SINGLE_OPEN_WARNING, false) as Boolean
- private val isAutoRecord =
- SaveKeyValues.getValue(LocaleConstant.SINGLE_AUTO_RECORD, false) as Boolean
private lateinit var homeView: View
private lateinit var vibrator: Vibrator
private lateinit var aMap: AMap
@@ -80,14 +73,14 @@
homeView = inflater.inflate(R.layout.single_fragment_map_inspect, container, false)
//根据不同设备状态栏高度设置statusBarView高度
- val statusBarHeight = QMUIDisplayHelper.getStatusBarHeight(requireContext())
+ val statusBarHeight = requireContext().getStatusBarHeight()
val params = homeView.statusBarView.layoutParams as LinearLayout.LayoutParams
params.height = statusBarHeight
homeView.statusBarView.setBackgroundColor(Color.parseColor("#D6EEFE"))
homeView.statusBarView.requestLayout()
vibrator = requireContext().getSystemService(Context.VIBRATOR_SERVICE) as Vibrator
- weakReferenceHandler = WeakReferenceHandler(callback)
+ weakReferenceHandler = WeakReferenceHandler(this)
if (BLEManager.initBLE(requireContext())) {
if (!BLEManager.isBluetoothEnable()) {
@@ -104,12 +97,10 @@
uiSettings.isRotateGesturesEnabled = false//不许地图随手势旋转角度
//显示定位小蓝点
locationStyle = MyLocationStyle()
- locationStyle
locationStyle.showMyLocation(true)//设置是否显示定位小蓝点
- locationStyle.interval(10 * 1000)////设置连续定位模式下的定位间隔,只在连续定位模式下生效。单位为毫秒
aMap.myLocationStyle = locationStyle
aMap.isMyLocationEnabled = true
- aMap.moveCamera(CameraUpdateFactory.zoomTo(14.toFloat()))
+ aMap.moveCamera(CameraUpdateFactory.zoomTo(16.toFloat()))
initEvent()
@@ -157,15 +148,14 @@
.setOnActionSheetListener(object : BottomActionSheet.OnActionSheetListener {
override fun onActionItemClick(position: Int) {
//获取当前定位
- val currentLng = SaveKeyValues.getValue(
+ val lng = SaveKeyValues.getValue(
LocaleConstant.CURRENT_LONGITUDE, "0.0"
) as String
- val currentLat =
- SaveKeyValues.getValue(LocaleConstant.CURRENT_LATITUDE, "0.0") as String
+ val lat = SaveKeyValues.getValue(
+ LocaleConstant.CURRENT_LATITUDE, "0.0"
+ ) as String
requireContext().navigatePageTo(
- addAll(
- position.toString(), model.id, model.name, currentLng, currentLat
- )
+ addAll(position.toString(), model.id, model.name, lng, lat)
)
}
}).build().show()
@@ -281,7 +271,7 @@
}
}
- private val callback = Handler.Callback { msg ->
+ override fun handleMessage(msg: Message): Boolean {
when (msg.what) {
LocaleConstant.BLUETOOTH_ON -> {
"蓝牙已开启".show(requireContext())
@@ -350,7 +340,7 @@
)
LocaleConstant.DISCONNECT_SUCCESS -> curConnectState = false
}
- true
+ return true
}
private fun startConnectDevice(device: BluetoothDevice) {
@@ -502,11 +492,15 @@
homeView.settingsValueView.text = dataModel.alarmValue.toString()
homeView.maxValueView.text = dataModel.maxPotency.toString()
//判断是否需要报警
+ val isOpenWarning =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_OPEN_WARNING, false) as Boolean
if (isOpenWarning) {
if (dataModel.potency >= dataModel.alarmValue) {
//当前值大于设置值,需要报警
SoundPoolHelper.playSound(requireContext(), R.raw.alarm)
vibrator.vibrate(1000)
+ val isAutoRecord =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_AUTO_RECORD, false) as Boolean
if (isAutoRecord) {
//如果连续超过10个报警,自动生成报警事件
alarmCount++
diff --git a/app/src/main/java/com/casic/birmm/inspect/single/fragment/QueryEventFragment.kt b/app/src/main/java/com/casic/birmm/inspect/single/fragment/QueryEventFragment.kt
index 96dba16..812d329 100644
--- a/app/src/main/java/com/casic/birmm/inspect/single/fragment/QueryEventFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/single/fragment/QueryEventFragment.kt
@@ -3,15 +3,14 @@
import androidx.lifecycle.lifecycleScope
import com.bumptech.glide.Glide
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.extensions.addAll
import com.casic.birmm.inspect.model.EventListModel
import com.casic.birmm.inspect.single.view.EventDetailActivity
import com.casic.birmm.inspect.utils.DataBaseManager
import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter
import com.pengxh.kt.lite.adapter.ViewHolder
import com.pengxh.kt.lite.base.KotlinBaseFragment
-import com.pengxh.kt.lite.extensions.filterSpaceOrEnter
import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.extensions.toJson
import kotlinx.android.synthetic.main.include_empty_view.*
import kotlinx.android.synthetic.main.single_fragment_query_event.*
import kotlinx.coroutines.Dispatchers
@@ -41,8 +40,7 @@
R.layout.item_event_rv_l, dataBeans
) {
override fun convertView(
- viewHolder: ViewHolder,
- position: Int,
+ viewHolder: ViewHolder, position: Int,
item: EventListModel.DataModel.RowsModel
) {
if (!item.images.isNullOrBlank()) {
@@ -61,22 +59,15 @@
}
viewHolder.setText(R.id.inspectMsgView, item.name)
- .setText(R.id.inspectMsgView, "类型:${item.type}")
- .setText(R.id.inspectMsgView, "上报时间:${item.createTime}")
+ .setText(R.id.inspectTypeView, "类型:${item.type}")
+ .setText(R.id.inspectDateView, "时间:${item.createTime}")
}
}
eventRecyclerView.adapter = eventListAdapter
eventListAdapter.setOnItemClickedListener(object :
NormalRecyclerAdapter.OnItemClickedListener {
override fun onItemClicked(position: Int, t: EventListModel.DataModel.RowsModel) {
- requireContext().navigatePageTo(
- addAll(
- t.createTime.toString(),
- t.description!!.filterSpaceOrEnter(),
- t.data.toString(),
- t.images.toString()
- )
- )
+ requireContext().navigatePageTo(t.toJson())
}
})
}
diff --git a/app/src/main/java/com/casic/birmm/inspect/single/view/EventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/single/view/EventDetailActivity.kt
index f00bbae..b7d59e8 100644
--- a/app/src/main/java/com/casic/birmm/inspect/single/view/EventDetailActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/single/view/EventDetailActivity.kt
@@ -2,7 +2,10 @@
import androidx.core.content.ContextCompat
import com.casic.birmm.inspect.R
+import com.casic.birmm.inspect.model.EventListModel
import com.casic.birmm.inspect.view.BigImageActivity
+import com.google.gson.Gson
+import com.google.gson.reflect.TypeToken
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter
import com.pengxh.kt.lite.base.KotlinBaseActivity
@@ -15,12 +18,17 @@
class EventDetailActivity : KotlinBaseActivity() {
- override fun initData() {
- val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!!
+ private val gson by lazy { Gson() }
- createTimeView.text = args[0]
- descriptionView.text = args[1]
- val data = args[2]
+ override fun initData() {
+ val args = intent.getStringExtra(Constant.INTENT_PARAM)!!
+ val model = gson.fromJson(
+ args, object : TypeToken() {}.type
+ )
+
+ createTimeView.text = model.createTime
+ descriptionView.text = model.description
+ val data = model.data
val value = if (data.isNullOrBlank()) {
"0.0"
} else {
@@ -28,7 +36,7 @@
}
dataView.text = value
- val images = args[3]
+ val images = model.images
/**
* images: 2020-12/6528aeb21cff426c91c43a7f8b716d1e.jpg
diff --git a/app/src/main/java/com/casic/birmm/inspect/single/view/NewEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/single/view/NewEventActivity.kt
index b77a8f2..7e4f7e7 100644
--- a/app/src/main/java/com/casic/birmm/inspect/single/view/NewEventActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/single/view/NewEventActivity.kt
@@ -39,7 +39,7 @@
private var isWarning: Boolean = true
private var longitude: Double = 0.0
private var latitude: Double = 0.0
- private var data = -1.0//泄露默认值
+ private var data = 0.0//泄露默认值
override fun initData() {
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
index 1281613..cfd24bd 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
@@ -16,7 +16,7 @@
*/
@FormUrlEncoded
@POST("/user/appLogin")
- suspend fun getLoginResult(
+ suspend fun login(
@Field("username") account: String,
@Field("password") secretKey: String
): String
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 4c1f278..324cf23 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
@@ -28,8 +28,8 @@
/**
* 登录并获取Token
*/
- suspend fun getLoginResult(account: String, secretKey: String): String {
- return api.getLoginResult(account, secretKey)
+ suspend fun login(account: String, secretKey: String): String {
+ return api.login(account, secretKey)
}
/**
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt
index 6f3d166..5dd7f86 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt
@@ -3,6 +3,9 @@
import androidx.core.content.ContextCompat
import com.casic.birmm.inspect.R
import com.casic.birmm.inspect.extensions.combineImagePath
+import com.casic.birmm.inspect.model.EventListModel
+import com.google.gson.Gson
+import com.google.gson.reflect.TypeToken
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter
import com.pengxh.kt.lite.base.KotlinBaseActivity
@@ -16,6 +19,8 @@
class EventDetailActivity : KotlinBaseActivity() {
+ private val gson by lazy { Gson() }
+
override fun initLayoutView(): Int = R.layout.activity_event_detail
override fun setupTopBarLayout() {
@@ -29,11 +34,14 @@
}
override fun initData() {
- val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!!
+ val args = intent.getStringExtra(Constant.INTENT_PARAM)!!
+ val model = gson.fromJson(
+ args, object : TypeToken() {}.type
+ )
- createTimeView.text = args[0]
- descriptionView.text = args[1]
- val data = args[2]
+ createTimeView.text = model.createTime
+ descriptionView.text = model.description
+ val data = model.data
val value = if (data.isNullOrBlank()) {
"0.0"
} else {
@@ -41,7 +49,7 @@
}
dataView.text = value
- val images = args[3]
+ val images = model.images
/**
* images: 2020-12/6528aeb21cff426c91c43a7f8b716d1e.jpg
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt
index b34abf4..cac1d23 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt
@@ -83,7 +83,7 @@
SaveKeyValues.putValue(LocaleConstant.ACCOUNT, account)
SaveKeyValues.putValue(LocaleConstant.PASSWORD, userPassword)
- authenticateViewModel.obtainPublicKey()
+ authenticateViewModel.getPublicKey()
authenticateViewModel.keyModel.observe(this) {
if (it.code == 200) {//用code判断,别的判断可能有坑
val keyString = it.data!!.publicKey!!
@@ -93,11 +93,12 @@
AuthenticationHelper.savePublicKey(keyString)
val publicKey = RSAUtils.keyStrToPublicKey(keyString)
- val dataByPublicKey =
- RSAUtils.encryptDataByPublicKey(userPassword.toByteArray(), publicKey!!)
+ val dataByPublicKey = RSAUtils.encryptDataByPublicKey(
+ userPassword.toByteArray(), publicKey!!
+ )
//登录并获取Token,POST请求
- userViewModel.getLoginResult(account = account, secretKey = dataByPublicKey)
+ userViewModel.login(account, dataByPublicKey)
userViewModel.loginResult.observe(this) { loginResult ->
if (loginResult.code == 200) {
AuthenticationHelper.saveToken(loginResult.data!!.token!!)
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt
index 8ea8a75..2593394 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt
@@ -57,7 +57,7 @@
private lateinit var inspectionName: String
private var longitude: Double = 0.0
private var latitude: Double = 0.0
- private var data = -1.0//泄露默认值
+ private var data = 0.0//泄露默认值
private lateinit var type: String
private lateinit var userModel: UserInfoModel
diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt
index 572caee..3a9ae79 100644
--- a/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt
@@ -8,6 +8,7 @@
import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager
import com.google.gson.Gson
import com.google.gson.reflect.TypeToken
+import com.pengxh.kt.lite.extensions.isNetworkConnected
import com.pengxh.kt.lite.extensions.launch
import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.vm.BaseViewModel
@@ -20,7 +21,7 @@
private val gson by lazy { Gson() }
val keyModel = MutableLiveData()
- fun obtainPublicKey() = launch({
+ fun getPublicKey() = launch({
val response = RetrofitServiceManager.getPublicKey()
val responseCode = response.separateResponseCode()
if (responseCode == 200) {
@@ -31,6 +32,10 @@
response.toErrorMessage().show(BaseApplication.get())
}
}, {
- it.cause.toString().show(BaseApplication.get())
+ if (BaseApplication.get().isNetworkConnected()) {
+ "连接服务器失败,IP或端口错误".show(BaseApplication.get())
+ } else {
+ "网络连接失败".show(BaseApplication.get())
+ }
})
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/UserViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/UserViewModel.kt
index a6ae8ab..3b4d099 100644
--- a/app/src/main/java/com/casic/birmm/inspect/vm/UserViewModel.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/vm/UserViewModel.kt
@@ -10,6 +10,7 @@
import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager
import com.google.gson.Gson
import com.google.gson.reflect.TypeToken
+import com.pengxh.kt.lite.extensions.isNetworkConnected
import com.pengxh.kt.lite.extensions.launch
import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.vm.BaseViewModel
@@ -27,9 +28,9 @@
val outResultModel = MutableLiveData()
val updateResult = MutableLiveData()
- fun getLoginResult(account: String, secretKey: String) = launch({
+ fun login(account: String, secretKey: String) = launch({
loadState.value = LoadState.Loading
- val response = RetrofitServiceManager.getLoginResult(account, secretKey)
+ val response = RetrofitServiceManager.login(account, secretKey)
val responseCode = response.separateResponseCode()
if (responseCode == 200) {
loadState.value = LoadState.Success
@@ -42,7 +43,11 @@
}
}, {
loadState.value = LoadState.Fail
- it.cause.toString().show(BaseApplication.get())
+ if (BaseApplication.get().isNetworkConnected()) {
+ "连接服务器失败,IP或端口错误".show(BaseApplication.get())
+ } else {
+ "网络连接失败".show(BaseApplication.get())
+ }
})
fun getUserInfo() = launch({
diff --git a/app/src/main/res/drawable/button_main_selector.xml b/app/src/main/res/drawable/button_main_selector.xml
index 5cbaea0..e636381 100644
--- a/app/src/main/res/drawable/button_main_selector.xml
+++ b/app/src/main/res/drawable/button_main_selector.xml
@@ -11,8 +11,8 @@
-
-
-
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_map_inspect.xml b/app/src/main/res/layout/fragment_map_inspect.xml
index ce2b604..b48c80a 100644
--- a/app/src/main/res/layout/fragment_map_inspect.xml
+++ b/app/src/main/res/layout/fragment_map_inspect.xml
@@ -47,7 +47,7 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="5dp"
- android:hint="巡检记录"
+ android:hint="未开始巡检"
android:paddingVertical="3dp"
android:singleLine="true"
android:textColor="@color/black"
@@ -62,7 +62,6 @@
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:paddingVertical="3dp"
- android:hint="yyyy-MM-dd HH:mm:ss"
android:textColor="@color/black"
android:textSize="@dimen/sp_14"
app:layout_constraintEnd_toEndOf="parent"
diff --git a/app/src/main/res/layout/item_event_rv_l.xml b/app/src/main/res/layout/item_event_rv_l.xml
index f22d137..e7d44d7 100644
--- a/app/src/main/res/layout/item_event_rv_l.xml
+++ b/app/src/main/res/layout/item_event_rv_l.xml
@@ -38,6 +38,7 @@
android:id="@+id/inspectTypeView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
+ android:layout_marginVertical="@dimen/dp_3"
android:singleLine="true"
android:text="类型:报警事件"
android:textColor="@color/gray"
@@ -50,7 +51,7 @@
android:layout_weight="1"
android:gravity="bottom"
android:singleLine="true"
- android:text="上报时间:2021年07月09日"
+ android:text="时间:2021年07月09日"
android:textColor="@color/gray"
android:textSize="@dimen/sp_12" />
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 139dc2a..e7cbf98 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -11,6 +11,7 @@
+
diff --git a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt
index 91cd394..a757dfb 100644
--- a/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/fragment/HomePageFragment.kt
@@ -8,6 +8,7 @@
import android.graphics.Color
import android.os.Bundle
import android.os.Handler
+import android.os.Message
import android.os.Vibrator
import android.util.Log
import android.view.LayoutInflater
@@ -37,10 +38,7 @@
import com.casic.birmm.inspect.vm.EventViewModel
import com.casic.birmm.inspect.vm.InspectionViewModel
import com.google.gson.Gson
-import com.pengxh.kt.lite.extensions.navigatePageTo
-import com.pengxh.kt.lite.extensions.show
-import com.pengxh.kt.lite.extensions.timestampToCompleteDate
-import com.pengxh.kt.lite.extensions.timestampToDate
+import com.pengxh.kt.lite.extensions.*
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.utils.ble.BLEManager
@@ -51,20 +49,15 @@
import com.pengxh.kt.lite.widget.dialog.AlertControlDialog
import com.pengxh.kt.lite.widget.dialog.AlertInputDialog
import com.pengxh.kt.lite.widget.dialog.BottomActionSheet
-import com.qmuiteam.qmui.util.QMUIDisplayHelper
import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet
import kotlinx.android.synthetic.main.fragment_map_inspect.view.*
import java.util.*
@SuppressLint("MissingPermission")
-class HomePageFragment : Fragment() {
+class HomePageFragment : Fragment(), Handler.Callback {
private val kTag = "HomePageFragment"
private val gson by lazy { Gson() }
- private val isOpenWarning =
- SaveKeyValues.getValue(LocaleConstant.OPEN_WARNING, false) as Boolean
- private val isAutoRecord =
- SaveKeyValues.getValue(LocaleConstant.AUTO_RECORD, false) as Boolean
private lateinit var homeView: View
private lateinit var userData: UserInfoModel.DataModel
private lateinit var vibrator: Vibrator
@@ -88,7 +81,7 @@
homeView = inflater.inflate(R.layout.fragment_map_inspect, container, false)
//根据不同设备状态栏高度设置statusBarView高度
- val statusBarHeight = QMUIDisplayHelper.getStatusBarHeight(requireContext())
+ val statusBarHeight = requireContext().getStatusBarHeight()
val params = homeView.statusBarView.layoutParams as LinearLayout.LayoutParams
params.height = statusBarHeight
homeView.statusBarView.setBackgroundColor(Color.parseColor("#D6EEFE"))
@@ -109,7 +102,7 @@
val userModelJson = SaveKeyValues.getValue(LocaleConstant.USER_OBJECT, "") as String
userData = gson.fromJson(userModelJson, UserInfoModel::class.java).data!!
- weakReferenceHandler = WeakReferenceHandler(callback)
+ weakReferenceHandler = WeakReferenceHandler(this)
if (BLEManager.initBLE(requireContext())) {
if (!BLEManager.isBluetoothEnable()) {
@@ -126,12 +119,10 @@
uiSettings.isRotateGesturesEnabled = false//不许地图随手势旋转角度
//显示定位小蓝点
locationStyle = MyLocationStyle()
- locationStyle
locationStyle.showMyLocation(true)//设置是否显示定位小蓝点
- locationStyle.interval(10 * 1000)////设置连续定位模式下的定位间隔,只在连续定位模式下生效。单位为毫秒
aMap.myLocationStyle = locationStyle
aMap.isMyLocationEnabled = true
- aMap.moveCamera(CameraUpdateFactory.zoomTo(14.toFloat()))
+ aMap.moveCamera(CameraUpdateFactory.zoomTo(16.toFloat()))
initEvent()
@@ -179,15 +170,14 @@
.setOnActionSheetListener(object : BottomActionSheet.OnActionSheetListener {
override fun onActionItemClick(position: Int) {
//获取当前定位
- val currentLng = SaveKeyValues.getValue(
+ val lng = SaveKeyValues.getValue(
LocaleConstant.CURRENT_LONGITUDE, "0.0"
) as String
- val currentLat =
- SaveKeyValues.getValue(LocaleConstant.CURRENT_LATITUDE, "0.0") as String
+ val lat = SaveKeyValues.getValue(
+ LocaleConstant.CURRENT_LATITUDE, "0.0"
+ ) as String
requireContext().navigatePageTo(
- addAll(
- position.toString(), model.id, model.name, currentLng, currentLat
- )
+ addAll(position.toString(), model.id, model.name, lng, lat)
)
}
}).build().show()
@@ -303,7 +293,7 @@
}
}
- private val callback = Handler.Callback { msg ->
+ override fun handleMessage(msg: Message): Boolean {
when (msg.what) {
LocaleConstant.BLUETOOTH_ON -> {
"蓝牙已开启".show(requireContext())
@@ -372,7 +362,7 @@
)
LocaleConstant.DISCONNECT_SUCCESS -> curConnectState = false
}
- true
+ return true
}
private fun startConnectDevice(device: BluetoothDevice) {
@@ -529,11 +519,15 @@
homeView.settingsValueView.text = dataModel.alarmValue.toString()
homeView.maxValueView.text = dataModel.maxPotency.toString()
//判断是否需要报警
+ val isOpenWarning =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_OPEN_WARNING, false) as Boolean
if (isOpenWarning) {
if (dataModel.potency >= dataModel.alarmValue) {
//当前值大于设置值,需要报警
SoundPoolHelper.playSound(requireContext(), R.raw.alarm)
vibrator.vibrate(1000)
+ val isAutoRecord =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_AUTO_RECORD, false) as Boolean
if (isAutoRecord) {
//如果连续超过10个报警,自动生成报警事件
alarmCount++
diff --git a/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt b/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt
index 82a23c9..d134e0b 100644
--- a/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/fragment/QueryEventFragment.kt
@@ -3,7 +3,6 @@
import android.os.Handler
import androidx.lifecycle.ViewModelProvider
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.extensions.addAll
import com.casic.birmm.inspect.extensions.combineImagePath
import com.casic.birmm.inspect.model.EventListModel
import com.casic.birmm.inspect.view.EventDetailActivity
@@ -11,9 +10,9 @@
import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter
import com.pengxh.kt.lite.adapter.ViewHolder
import com.pengxh.kt.lite.base.KotlinBaseFragment
-import com.pengxh.kt.lite.extensions.filterSpaceOrEnter
import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.show
+import com.pengxh.kt.lite.extensions.toJson
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import kotlinx.android.synthetic.main.fragment_query_event.*
import kotlinx.android.synthetic.main.include_empty_view.*
@@ -83,7 +82,6 @@
override fun onResume() {
super.onResume()
- pageIndex = 1
getEventList()
}
@@ -119,7 +117,7 @@
viewHolder.setText(R.id.inspectMsgView, item.name)
.setText(R.id.inspectTypeView, "类型:${item.type}")
- .setText(R.id.inspectDateView, "上报时间:${item.createTime}")
+ .setText(R.id.inspectDateView, "时间:${item.createTime}")
}
}
eventRecyclerView.adapter = eventListAdapter
@@ -128,11 +126,7 @@
override fun onItemClicked(
position: Int, t: EventListModel.DataModel.RowsModel
) {
- requireContext().navigatePageTo(
- addAll(
- t.createTime, t.description!!.filterSpaceOrEnter(), t.data, t.images
- )
- )
+ requireContext().navigatePageTo(t.toJson())
}
})
}
diff --git a/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt b/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt
index 81ffffd..4a898ce 100644
--- a/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/single/fragment/HomePageFragment.kt
@@ -8,6 +8,7 @@
import android.graphics.Color
import android.os.Bundle
import android.os.Handler
+import android.os.Message
import android.os.Vibrator
import android.util.Log
import android.view.LayoutInflater
@@ -33,10 +34,7 @@
import com.casic.birmm.inspect.utils.LocaleConstant
import com.casic.birmm.inspect.utils.SoundPoolHelper
import com.google.gson.Gson
-import com.pengxh.kt.lite.extensions.navigatePageTo
-import com.pengxh.kt.lite.extensions.show
-import com.pengxh.kt.lite.extensions.timestampToCompleteDate
-import com.pengxh.kt.lite.extensions.timestampToDate
+import com.pengxh.kt.lite.extensions.*
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.utils.ble.BLEManager
@@ -46,20 +44,15 @@
import com.pengxh.kt.lite.widget.dialog.AlertControlDialog
import com.pengxh.kt.lite.widget.dialog.AlertInputDialog
import com.pengxh.kt.lite.widget.dialog.BottomActionSheet
-import com.qmuiteam.qmui.util.QMUIDisplayHelper
import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet
import kotlinx.android.synthetic.main.single_fragment_map_inspect.view.*
import java.util.*
@SuppressLint("MissingPermission")
-class HomePageFragment : Fragment() {
+class HomePageFragment : Fragment(), Handler.Callback {
private val kTag = "HomePageFragment"
private val gson by lazy { Gson() }
- private val isOpenWarning =
- SaveKeyValues.getValue(LocaleConstant.SINGLE_OPEN_WARNING, false) as Boolean
- private val isAutoRecord =
- SaveKeyValues.getValue(LocaleConstant.SINGLE_AUTO_RECORD, false) as Boolean
private lateinit var homeView: View
private lateinit var vibrator: Vibrator
private lateinit var aMap: AMap
@@ -80,14 +73,14 @@
homeView = inflater.inflate(R.layout.single_fragment_map_inspect, container, false)
//根据不同设备状态栏高度设置statusBarView高度
- val statusBarHeight = QMUIDisplayHelper.getStatusBarHeight(requireContext())
+ val statusBarHeight = requireContext().getStatusBarHeight()
val params = homeView.statusBarView.layoutParams as LinearLayout.LayoutParams
params.height = statusBarHeight
homeView.statusBarView.setBackgroundColor(Color.parseColor("#D6EEFE"))
homeView.statusBarView.requestLayout()
vibrator = requireContext().getSystemService(Context.VIBRATOR_SERVICE) as Vibrator
- weakReferenceHandler = WeakReferenceHandler(callback)
+ weakReferenceHandler = WeakReferenceHandler(this)
if (BLEManager.initBLE(requireContext())) {
if (!BLEManager.isBluetoothEnable()) {
@@ -104,12 +97,10 @@
uiSettings.isRotateGesturesEnabled = false//不许地图随手势旋转角度
//显示定位小蓝点
locationStyle = MyLocationStyle()
- locationStyle
locationStyle.showMyLocation(true)//设置是否显示定位小蓝点
- locationStyle.interval(10 * 1000)////设置连续定位模式下的定位间隔,只在连续定位模式下生效。单位为毫秒
aMap.myLocationStyle = locationStyle
aMap.isMyLocationEnabled = true
- aMap.moveCamera(CameraUpdateFactory.zoomTo(14.toFloat()))
+ aMap.moveCamera(CameraUpdateFactory.zoomTo(16.toFloat()))
initEvent()
@@ -157,15 +148,14 @@
.setOnActionSheetListener(object : BottomActionSheet.OnActionSheetListener {
override fun onActionItemClick(position: Int) {
//获取当前定位
- val currentLng = SaveKeyValues.getValue(
+ val lng = SaveKeyValues.getValue(
LocaleConstant.CURRENT_LONGITUDE, "0.0"
) as String
- val currentLat =
- SaveKeyValues.getValue(LocaleConstant.CURRENT_LATITUDE, "0.0") as String
+ val lat = SaveKeyValues.getValue(
+ LocaleConstant.CURRENT_LATITUDE, "0.0"
+ ) as String
requireContext().navigatePageTo(
- addAll(
- position.toString(), model.id, model.name, currentLng, currentLat
- )
+ addAll(position.toString(), model.id, model.name, lng, lat)
)
}
}).build().show()
@@ -281,7 +271,7 @@
}
}
- private val callback = Handler.Callback { msg ->
+ override fun handleMessage(msg: Message): Boolean {
when (msg.what) {
LocaleConstant.BLUETOOTH_ON -> {
"蓝牙已开启".show(requireContext())
@@ -350,7 +340,7 @@
)
LocaleConstant.DISCONNECT_SUCCESS -> curConnectState = false
}
- true
+ return true
}
private fun startConnectDevice(device: BluetoothDevice) {
@@ -502,11 +492,15 @@
homeView.settingsValueView.text = dataModel.alarmValue.toString()
homeView.maxValueView.text = dataModel.maxPotency.toString()
//判断是否需要报警
+ val isOpenWarning =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_OPEN_WARNING, false) as Boolean
if (isOpenWarning) {
if (dataModel.potency >= dataModel.alarmValue) {
//当前值大于设置值,需要报警
SoundPoolHelper.playSound(requireContext(), R.raw.alarm)
vibrator.vibrate(1000)
+ val isAutoRecord =
+ SaveKeyValues.getValue(LocaleConstant.SINGLE_AUTO_RECORD, false) as Boolean
if (isAutoRecord) {
//如果连续超过10个报警,自动生成报警事件
alarmCount++
diff --git a/app/src/main/java/com/casic/birmm/inspect/single/fragment/QueryEventFragment.kt b/app/src/main/java/com/casic/birmm/inspect/single/fragment/QueryEventFragment.kt
index 96dba16..812d329 100644
--- a/app/src/main/java/com/casic/birmm/inspect/single/fragment/QueryEventFragment.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/single/fragment/QueryEventFragment.kt
@@ -3,15 +3,14 @@
import androidx.lifecycle.lifecycleScope
import com.bumptech.glide.Glide
import com.casic.birmm.inspect.R
-import com.casic.birmm.inspect.extensions.addAll
import com.casic.birmm.inspect.model.EventListModel
import com.casic.birmm.inspect.single.view.EventDetailActivity
import com.casic.birmm.inspect.utils.DataBaseManager
import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter
import com.pengxh.kt.lite.adapter.ViewHolder
import com.pengxh.kt.lite.base.KotlinBaseFragment
-import com.pengxh.kt.lite.extensions.filterSpaceOrEnter
import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.extensions.toJson
import kotlinx.android.synthetic.main.include_empty_view.*
import kotlinx.android.synthetic.main.single_fragment_query_event.*
import kotlinx.coroutines.Dispatchers
@@ -41,8 +40,7 @@
R.layout.item_event_rv_l, dataBeans
) {
override fun convertView(
- viewHolder: ViewHolder,
- position: Int,
+ viewHolder: ViewHolder, position: Int,
item: EventListModel.DataModel.RowsModel
) {
if (!item.images.isNullOrBlank()) {
@@ -61,22 +59,15 @@
}
viewHolder.setText(R.id.inspectMsgView, item.name)
- .setText(R.id.inspectMsgView, "类型:${item.type}")
- .setText(R.id.inspectMsgView, "上报时间:${item.createTime}")
+ .setText(R.id.inspectTypeView, "类型:${item.type}")
+ .setText(R.id.inspectDateView, "时间:${item.createTime}")
}
}
eventRecyclerView.adapter = eventListAdapter
eventListAdapter.setOnItemClickedListener(object :
NormalRecyclerAdapter.OnItemClickedListener {
override fun onItemClicked(position: Int, t: EventListModel.DataModel.RowsModel) {
- requireContext().navigatePageTo(
- addAll(
- t.createTime.toString(),
- t.description!!.filterSpaceOrEnter(),
- t.data.toString(),
- t.images.toString()
- )
- )
+ requireContext().navigatePageTo(t.toJson())
}
})
}
diff --git a/app/src/main/java/com/casic/birmm/inspect/single/view/EventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/single/view/EventDetailActivity.kt
index f00bbae..b7d59e8 100644
--- a/app/src/main/java/com/casic/birmm/inspect/single/view/EventDetailActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/single/view/EventDetailActivity.kt
@@ -2,7 +2,10 @@
import androidx.core.content.ContextCompat
import com.casic.birmm.inspect.R
+import com.casic.birmm.inspect.model.EventListModel
import com.casic.birmm.inspect.view.BigImageActivity
+import com.google.gson.Gson
+import com.google.gson.reflect.TypeToken
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter
import com.pengxh.kt.lite.base.KotlinBaseActivity
@@ -15,12 +18,17 @@
class EventDetailActivity : KotlinBaseActivity() {
- override fun initData() {
- val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!!
+ private val gson by lazy { Gson() }
- createTimeView.text = args[0]
- descriptionView.text = args[1]
- val data = args[2]
+ override fun initData() {
+ val args = intent.getStringExtra(Constant.INTENT_PARAM)!!
+ val model = gson.fromJson(
+ args, object : TypeToken() {}.type
+ )
+
+ createTimeView.text = model.createTime
+ descriptionView.text = model.description
+ val data = model.data
val value = if (data.isNullOrBlank()) {
"0.0"
} else {
@@ -28,7 +36,7 @@
}
dataView.text = value
- val images = args[3]
+ val images = model.images
/**
* images: 2020-12/6528aeb21cff426c91c43a7f8b716d1e.jpg
diff --git a/app/src/main/java/com/casic/birmm/inspect/single/view/NewEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/single/view/NewEventActivity.kt
index b77a8f2..7e4f7e7 100644
--- a/app/src/main/java/com/casic/birmm/inspect/single/view/NewEventActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/single/view/NewEventActivity.kt
@@ -39,7 +39,7 @@
private var isWarning: Boolean = true
private var longitude: Double = 0.0
private var latitude: Double = 0.0
- private var data = -1.0//泄露默认值
+ private var data = 0.0//泄露默认值
override fun initData() {
diff --git a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
index 1281613..cfd24bd 100644
--- a/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/utils/retrofit/RetrofitService.kt
@@ -16,7 +16,7 @@
*/
@FormUrlEncoded
@POST("/user/appLogin")
- suspend fun getLoginResult(
+ suspend fun login(
@Field("username") account: String,
@Field("password") secretKey: String
): String
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 4c1f278..324cf23 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
@@ -28,8 +28,8 @@
/**
* 登录并获取Token
*/
- suspend fun getLoginResult(account: String, secretKey: String): String {
- return api.getLoginResult(account, secretKey)
+ suspend fun login(account: String, secretKey: String): String {
+ return api.login(account, secretKey)
}
/**
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt
index 6f3d166..5dd7f86 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/EventDetailActivity.kt
@@ -3,6 +3,9 @@
import androidx.core.content.ContextCompat
import com.casic.birmm.inspect.R
import com.casic.birmm.inspect.extensions.combineImagePath
+import com.casic.birmm.inspect.model.EventListModel
+import com.google.gson.Gson
+import com.google.gson.reflect.TypeToken
import com.gyf.immersionbar.ImmersionBar
import com.pengxh.kt.lite.adapter.ReadOnlyImageAdapter
import com.pengxh.kt.lite.base.KotlinBaseActivity
@@ -16,6 +19,8 @@
class EventDetailActivity : KotlinBaseActivity() {
+ private val gson by lazy { Gson() }
+
override fun initLayoutView(): Int = R.layout.activity_event_detail
override fun setupTopBarLayout() {
@@ -29,11 +34,14 @@
}
override fun initData() {
- val args = intent.getStringArrayListExtra(Constant.INTENT_PARAM)!!
+ val args = intent.getStringExtra(Constant.INTENT_PARAM)!!
+ val model = gson.fromJson(
+ args, object : TypeToken() {}.type
+ )
- createTimeView.text = args[0]
- descriptionView.text = args[1]
- val data = args[2]
+ createTimeView.text = model.createTime
+ descriptionView.text = model.description
+ val data = model.data
val value = if (data.isNullOrBlank()) {
"0.0"
} else {
@@ -41,7 +49,7 @@
}
dataView.text = value
- val images = args[3]
+ val images = model.images
/**
* images: 2020-12/6528aeb21cff426c91c43a7f8b716d1e.jpg
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt
index b34abf4..cac1d23 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/LoginActivity.kt
@@ -83,7 +83,7 @@
SaveKeyValues.putValue(LocaleConstant.ACCOUNT, account)
SaveKeyValues.putValue(LocaleConstant.PASSWORD, userPassword)
- authenticateViewModel.obtainPublicKey()
+ authenticateViewModel.getPublicKey()
authenticateViewModel.keyModel.observe(this) {
if (it.code == 200) {//用code判断,别的判断可能有坑
val keyString = it.data!!.publicKey!!
@@ -93,11 +93,12 @@
AuthenticationHelper.savePublicKey(keyString)
val publicKey = RSAUtils.keyStrToPublicKey(keyString)
- val dataByPublicKey =
- RSAUtils.encryptDataByPublicKey(userPassword.toByteArray(), publicKey!!)
+ val dataByPublicKey = RSAUtils.encryptDataByPublicKey(
+ userPassword.toByteArray(), publicKey!!
+ )
//登录并获取Token,POST请求
- userViewModel.getLoginResult(account = account, secretKey = dataByPublicKey)
+ userViewModel.login(account, dataByPublicKey)
userViewModel.loginResult.observe(this) { loginResult ->
if (loginResult.code == 200) {
AuthenticationHelper.saveToken(loginResult.data!!.token!!)
diff --git a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt
index 8ea8a75..2593394 100644
--- a/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/view/NewEventActivity.kt
@@ -57,7 +57,7 @@
private lateinit var inspectionName: String
private var longitude: Double = 0.0
private var latitude: Double = 0.0
- private var data = -1.0//泄露默认值
+ private var data = 0.0//泄露默认值
private lateinit var type: String
private lateinit var userModel: UserInfoModel
diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt
index 572caee..3a9ae79 100644
--- a/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/vm/AuthenticateViewModel.kt
@@ -8,6 +8,7 @@
import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager
import com.google.gson.Gson
import com.google.gson.reflect.TypeToken
+import com.pengxh.kt.lite.extensions.isNetworkConnected
import com.pengxh.kt.lite.extensions.launch
import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.vm.BaseViewModel
@@ -20,7 +21,7 @@
private val gson by lazy { Gson() }
val keyModel = MutableLiveData()
- fun obtainPublicKey() = launch({
+ fun getPublicKey() = launch({
val response = RetrofitServiceManager.getPublicKey()
val responseCode = response.separateResponseCode()
if (responseCode == 200) {
@@ -31,6 +32,10 @@
response.toErrorMessage().show(BaseApplication.get())
}
}, {
- it.cause.toString().show(BaseApplication.get())
+ if (BaseApplication.get().isNetworkConnected()) {
+ "连接服务器失败,IP或端口错误".show(BaseApplication.get())
+ } else {
+ "网络连接失败".show(BaseApplication.get())
+ }
})
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/birmm/inspect/vm/UserViewModel.kt b/app/src/main/java/com/casic/birmm/inspect/vm/UserViewModel.kt
index a6ae8ab..3b4d099 100644
--- a/app/src/main/java/com/casic/birmm/inspect/vm/UserViewModel.kt
+++ b/app/src/main/java/com/casic/birmm/inspect/vm/UserViewModel.kt
@@ -10,6 +10,7 @@
import com.casic.birmm.inspect.utils.retrofit.RetrofitServiceManager
import com.google.gson.Gson
import com.google.gson.reflect.TypeToken
+import com.pengxh.kt.lite.extensions.isNetworkConnected
import com.pengxh.kt.lite.extensions.launch
import com.pengxh.kt.lite.extensions.show
import com.pengxh.kt.lite.vm.BaseViewModel
@@ -27,9 +28,9 @@
val outResultModel = MutableLiveData()
val updateResult = MutableLiveData()
- fun getLoginResult(account: String, secretKey: String) = launch({
+ fun login(account: String, secretKey: String) = launch({
loadState.value = LoadState.Loading
- val response = RetrofitServiceManager.getLoginResult(account, secretKey)
+ val response = RetrofitServiceManager.login(account, secretKey)
val responseCode = response.separateResponseCode()
if (responseCode == 200) {
loadState.value = LoadState.Success
@@ -42,7 +43,11 @@
}
}, {
loadState.value = LoadState.Fail
- it.cause.toString().show(BaseApplication.get())
+ if (BaseApplication.get().isNetworkConnected()) {
+ "连接服务器失败,IP或端口错误".show(BaseApplication.get())
+ } else {
+ "网络连接失败".show(BaseApplication.get())
+ }
})
fun getUserInfo() = launch({
diff --git a/app/src/main/res/drawable/button_main_selector.xml b/app/src/main/res/drawable/button_main_selector.xml
index 5cbaea0..e636381 100644
--- a/app/src/main/res/drawable/button_main_selector.xml
+++ b/app/src/main/res/drawable/button_main_selector.xml
@@ -11,8 +11,8 @@
-
-
-
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_map_inspect.xml b/app/src/main/res/layout/fragment_map_inspect.xml
index ce2b604..b48c80a 100644
--- a/app/src/main/res/layout/fragment_map_inspect.xml
+++ b/app/src/main/res/layout/fragment_map_inspect.xml
@@ -47,7 +47,7 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="5dp"
- android:hint="巡检记录"
+ android:hint="未开始巡检"
android:paddingVertical="3dp"
android:singleLine="true"
android:textColor="@color/black"
@@ -62,7 +62,6 @@
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:paddingVertical="3dp"
- android:hint="yyyy-MM-dd HH:mm:ss"
android:textColor="@color/black"
android:textSize="@dimen/sp_14"
app:layout_constraintEnd_toEndOf="parent"
diff --git a/app/src/main/res/layout/item_event_rv_l.xml b/app/src/main/res/layout/item_event_rv_l.xml
index f22d137..e7d44d7 100644
--- a/app/src/main/res/layout/item_event_rv_l.xml
+++ b/app/src/main/res/layout/item_event_rv_l.xml
@@ -38,6 +38,7 @@
android:id="@+id/inspectTypeView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
+ android:layout_marginVertical="@dimen/dp_3"
android:singleLine="true"
android:text="类型:报警事件"
android:textColor="@color/gray"
@@ -50,7 +51,7 @@
android:layout_weight="1"
android:gravity="bottom"
android:singleLine="true"
- android:text="上报时间:2021年07月09日"
+ android:text="时间:2021年07月09日"
android:textColor="@color/gray"
android:textSize="@dimen/sp_12" />
diff --git a/app/src/main/res/layout/single_fragment_map_inspect.xml b/app/src/main/res/layout/single_fragment_map_inspect.xml
index ce2b604..b48c80a 100644
--- a/app/src/main/res/layout/single_fragment_map_inspect.xml
+++ b/app/src/main/res/layout/single_fragment_map_inspect.xml
@@ -47,7 +47,7 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="5dp"
- android:hint="巡检记录"
+ android:hint="未开始巡检"
android:paddingVertical="3dp"
android:singleLine="true"
android:textColor="@color/black"
@@ -62,7 +62,6 @@
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:paddingVertical="3dp"
- android:hint="yyyy-MM-dd HH:mm:ss"
android:textColor="@color/black"
android:textSize="@dimen/sp_14"
app:layout_constraintEnd_toEndOf="parent"