From 17eb1d06e104bc1cd93498fe3a3eaecf14c9d734 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期四, 12 十一月 2020 13:57:35 +0800
Subject: [PATCH] 1. 修复现场整改时,问题状态是‘问题审核通过’而不是“整改未审核”的问题; 2. 修改任意拍照界面的多图片展示方式为Glide,减少内存溢出的可能性; 3. 新增图片类型枚举类,罗列原有的图片类型,并新增“铭牌”和“监测设备”; 4. 修复导航功能可能导致空指针的问题; 5. 任意拍界面新增按分类拍摄功能; 6. 修复现场整改界面打开崩溃问题;
---
app/src/main/java/cn/flightfeather/thirdapp/module/inspection/InspectionDetailActivity.kt | 78 ++++++++++++++++++++++++--------------
1 files changed, 49 insertions(+), 29 deletions(-)
diff --git a/app/src/main/java/cn/flightfeather/thirdapp/module/inspection/InspectionDetailActivity.kt b/app/src/main/java/cn/flightfeather/thirdapp/module/inspection/InspectionDetailActivity.kt
index 8eeb114..f50135a 100644
--- a/app/src/main/java/cn/flightfeather/thirdapp/module/inspection/InspectionDetailActivity.kt
+++ b/app/src/main/java/cn/flightfeather/thirdapp/module/inspection/InspectionDetailActivity.kt
@@ -13,6 +13,7 @@
import android.view.View
import android.view.animation.AnimationUtils
import android.widget.LinearLayout
+import cn.flightfeather.thirdapp.CommonApplication
import cn.flightfeather.thirdapp.R
import cn.flightfeather.thirdapp.activity.GradeActivity
import cn.flightfeather.thirdapp.activity.MapActivity
@@ -140,25 +141,6 @@
viewModel.inspection.observe(this, Observer {
it?.apply {
- if (extension1 != null) {
- val list = extension1.split(";").map{str ->
- str.split(",").map {str2 ->
- str2.toDoubleOrNull() ?: 0.0
- }.takeIf { l-> l.size == 2 }.let {latLng->
- LatLng(latLng?.get(1) ?: 0.0, latLng?.get(0) ?: 0.0)
- }
- }
- drawPolyline(list)
- list.firstOrNull()?.let {p->
- myLatLngList.add(
- MyLatLng(
- p,
- drawableId = R.drawable.icon_mark_start_blue,
- selected = true
- )
- )
- }
- }
onDataLoaded(0)
}
})
@@ -331,6 +313,34 @@
if (result) {
showMenu()
refreshMenuStatus(taskStatus)
+
+ viewModel.inspection.value?.extension1?.let{
+ val list = it.split(";").map{str ->
+ str.split(",").map {str2 ->
+ str2.toDoubleOrNull() ?: 0.0
+ }.takeIf { l-> l.size == 2 }.let {latLng->
+ LatLng(latLng?.get(1) ?: 0.0, latLng?.get(0) ?: 0.0)
+ }
+ }
+ //閬撹矾鐩戞祴鐐瑰拰閬撹矾绫诲瀷鐨勫満鏅紝鐩存帴灞曠ず杞ㄨ抗锛涘叾浣欏満鏅彧鏈夌鐞嗗憳鍜屾斂搴滈儴闂ㄥ彲浠ユ煡鐪�
+ if (
+ (viewModel.scene.value?.typeid?.toString() == Constant.SCENE_TYPE9 || viewModel.scene.value?.typeid?.toString() == Constant.SCENE_TYPE10)
+ || (CommonApplication.getInstance().currentUser.usertypeid == 0.toByte() || CommonApplication.getInstance().currentUser.usertypeid == 2.toByte())
+ ) {
+ drawPolyline(list)
+ }
+
+ list.firstOrNull()?.let {p->
+ myLatLngList.add(
+ MyLatLng(
+ p,
+ drawableId = R.drawable.icon_mark_start_blue,
+ selected = true
+ )
+ )
+ }
+ }
+
} else {
toast("璇风瓑寰呮暟鎹姞杞藉畬鎴�")
}
@@ -573,14 +583,12 @@
private fun startTracking() {
if (
-// viewModel.scene.value?.typeid?.toString() != Constant.SCENE_TYPE9 ||
+ viewModel.subTask.value == null ||
viewModel.subTask.value?.status != Domain.TASK_STATUS_RUNNING
) return
//褰撶户缁墽琛屾鍦ㄨ繘琛屼腑鐨勪换鍔℃椂锛屾牴鎹槸鍚︽湁鍘嗗彶杞ㄨ抗璁板綍鏉ュ垽鏂槸鍚﹀紑鍚�
- if (viewModel.inspection.value?.extension1 != null) {
- needTracking = true
- }
+ needTracking = true
if (!needTracking || timerTaskRunning) return
@@ -618,7 +626,13 @@
val distance = AMapUtils.calculateLineDistance(l1, l2)
if (distance >= 5) {
extension1 = "${extension1};${lng},${lat}"
- drawPolyline(LatLng(lat, lng))
+ //閬撹矾鐩戞祴鐐瑰拰閬撹矾绫诲瀷鐨勫満鏅紝鐩存帴灞曠ず杞ㄨ抗锛涘叾浣欏満鏅彧鏈夌鐞嗗憳鍜屾斂搴滈儴闂ㄥ彲浠ユ煡鐪�
+ if (
+ (viewModel.scene.value?.typeid?.toString() == Constant.SCENE_TYPE9 || viewModel.scene.value?.typeid?.toString() == Constant.SCENE_TYPE10)
+ || (CommonApplication.getInstance().currentUser.usertypeid == 0.toByte() || CommonApplication.getInstance().currentUser.usertypeid == 2.toByte())
+ ) {
+ drawPolyline(LatLng(lat, lng))
+ }
}
}
}
@@ -628,7 +642,7 @@
}
private fun trackingDone() {
- if (!needTracking || !timerTaskRunning) return
+ if (!timerTaskRunning) return
aMap.moveCamera(CameraUpdateFactory.zoomTo(zoomLevel))
@@ -670,10 +684,16 @@
//寮�濮嬪鑸�
private fun startNavi() {
- val sourceLatLng = LatLng(viewModel.scene.value?.getLatitude()!!, viewModel.scene.value?.getLongitude()!!)
-
- val amapNavi = AmapNavi(this)
- amapNavi.startNavi(sourceLatLng.latitude, sourceLatLng.longitude)
+ if (viewModel.scene.value != null) {
+ val sourceLatLng = LatLng(
+ viewModel.scene.value!!.latitude,
+ viewModel.scene.value!!.longitude
+ )
+ val amapNavi = AmapNavi(this)
+ amapNavi.startNavi(sourceLatLng.latitude, sourceLatLng.longitude)
+ } else {
+ toast("瀵艰埅鐩墠涓嶅彲鐢紝璇风◢鍚庡啀璇�")
+ }
}
override fun onClick(v: View?) {
--
Gitblit v1.9.3