From e3864138492d1d3280710a1ba7162d9dd7542404 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期五, 28 八月 2020 18:22:16 +0800
Subject: [PATCH] 1. 新增问题和删除修改功能(调试中) 2. 轨迹记录功能开放为所有类型的场景都记录
---
app/src/main/java/cn/flightfeather/thirdapp/module/inspection/MenuEvidenceActivity.kt | 116 ++++++++++++++++++++++++++++++++++------------------------
1 files changed, 68 insertions(+), 48 deletions(-)
diff --git a/app/src/main/java/cn/flightfeather/thirdapp/module/inspection/MenuEvidenceActivity.kt b/app/src/main/java/cn/flightfeather/thirdapp/module/inspection/MenuEvidenceActivity.kt
index d1fbf75..147f1b7 100644
--- a/app/src/main/java/cn/flightfeather/thirdapp/module/inspection/MenuEvidenceActivity.kt
+++ b/app/src/main/java/cn/flightfeather/thirdapp/module/inspection/MenuEvidenceActivity.kt
@@ -27,12 +27,11 @@
import java.io.IOException
import java.util.*
-class MenuEvidenceActivity : BaseTakePicActivity() {
+open class MenuEvidenceActivity : BaseTakePicActivity() {
override fun getLayoutId(): Int = R.layout.dialog_take_evidence
- override fun getImageViews(): MutableList<ImageView>
- = mutableListOf(iv_take_evidence_add_photo1, iv_take_evidence_add_photo2, iv_take_evidence_add_photo3)
+ override fun getImageViews(): MutableList<ImageView> = mutableListOf(iv_take_evidence_add_photo1, iv_take_evidence_add_photo2, iv_take_evidence_add_photo3)
override val picDeletable: Boolean = true
@@ -44,6 +43,7 @@
var lat = 0.0
var lng = 0.0
+ protected var submitTime = 0L//鎻愪氦鏃堕棿锛岄槻姝㈣繛缁彁浜わ紝澶氭璁板綍
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
@@ -53,46 +53,25 @@
viewModel = ViewModelProviders.of(this).get(MenuEvidenceViewModel::class.java)
+ getExtra()
+ initUI()
+ initObserver()
+
+ viewModel.getLocationList()
+ subTask?.let { t ->
+ scene?.let { s ->
+ viewModel.getProblemType(t.typeno, t.citycode, t.districtcode, s.typeid)
+ }
+ }
+
+ }
+
+ open fun getExtra() {
subTask = intent.getSerializableExtra("subTask") as Subtask?
inspection = intent.getSerializableExtra("inspection") as Inspection?
scene = intent.getSerializableExtra("scene") as Scense?
lat = intent.getDoubleExtra("lat", 0.0)
lng = intent.getDoubleExtra("lng", 0.0)
-
-
- initUI()
-
- viewModel.locationList.observe(this, Observer {
- it?.let {
- sp_take_evidence_select_location.adapter = DomainItemListAdapter(it, this)
- }
- })
-
- viewModel.problemFatherType.observe(this, Observer {
- it?.let {
- sp_take_evidence_select_problem_type.adapter = ArrayAdapter(this, R.layout.item_spinner_drop_down, it)
- }
- })
-
- viewModel.problemType.observe(this, Observer {
- it?.let {
- sp_take_evidence_select_problem.adapter = ProblemTypeListAdapter(it, this)
- }
- })
-
- viewModel.suggestionList.observe(this, Observer {
- it.let {
- sp_take_evidence_select_suggestion.adapter = ArrayAdapter(this, R.layout.item_spinner_drop_down, it)
- }
- })
-
- viewModel.getLocationList()
- subTask?.let {t ->
- scene?.let {s ->
- viewModel.getProblemType(t.typeno, t.citycode, t.districtcode, s.typeid)
- }
- }
-
}
private fun initUI() {
@@ -122,8 +101,11 @@
}
fab_take_evidence_ok.setOnClickListener {
- it.isClickable = false
- putProblem()
+ val now = Date()
+ if (now.time - submitTime >= 1000) {
+ submitTime = now.time
+ putProblem()
+ }
}
fab_take_evidence_close.setOnClickListener {
@@ -131,7 +113,33 @@
}
}
- private fun updateUIByProblemType(visible: Int) {
+ open fun initObserver() {
+ viewModel.locationList.observe(this, Observer {
+ it?.let {
+ sp_take_evidence_select_location.adapter = DomainItemListAdapter(it, this)
+ }
+ })
+
+ viewModel.problemFatherType.observe(this, Observer {
+ it?.let {
+ sp_take_evidence_select_problem_type.adapter = ArrayAdapter(this, R.layout.item_spinner_drop_down, it)
+ }
+ })
+
+ viewModel.problemType.observe(this, Observer {
+ it?.let {
+ sp_take_evidence_select_problem.adapter = ProblemTypeListAdapter(it, this)
+ }
+ })
+
+ viewModel.suggestionList.observe(this, Observer {
+ it.let {
+ sp_take_evidence_select_suggestion.adapter = ArrayAdapter(this, R.layout.item_spinner_drop_down, it)
+ }
+ })
+ }
+
+ protected fun updateUIByProblemType(visible: Int) {
sp_take_evidence_select_location.visibility = visible
et_take_evidence_location.visibility = visible
iv_take_evidence_add_photo1.visibility = visible
@@ -141,6 +149,10 @@
}
private fun putProblem() {
+ if (inspection == null || subTask == null || scene == null) {
+ toast("褰撳墠宸℃煡鐘舵�侀敊璇紝鏃犳硶涓婁紶闂锛岃灏濊瘯閲嶆柊鍚姩")
+ }
+
val problemType = sp_take_evidence_select_problem_type.selectedItem.toString()
val pro = Problemlist().apply {
@@ -150,6 +162,7 @@
sguid = scene?.guid
sensename = scene?.name
senseaddress = "${scene?.cityname ?: ""}${scene?.districtname ?: ""}${scene?.townname ?: ""}${scene?.location ?: ""}"
+
val p = sp_take_evidence_select_problem.selectedItem
if (p is Problemtype) {
ptguid = p.guid
@@ -191,7 +204,7 @@
if (problemType != "鎬佸害" && pathTempList.isNotEmpty()) {
viewModel.putProblem(pro)
putMediaFile(pro)
- }else if (problemType == "鎬佸害") {
+ } else if (problemType == "鎬佸害") {
viewModel.putProblem(pro)
} else {
application.toast("鑷冲皯鎷嶄竴寮犵収鐗�")
@@ -199,7 +212,7 @@
}
}
- private fun putMediaFile(problem: Problemlist) {
+ protected fun putMediaFile(problem: Problemlist) {
//淇濆瓨鐓х墖鍒板搴旀枃浠跺す
val savePathList = ArrayList<File>()
val calendar = java.util.Calendar.getInstance()
@@ -223,7 +236,11 @@
fileNameList.add(fileName3)
for (i in pathTempList.indices) {
- val oldFile = pathTempList[i]
+ //杩囨护涓嶉渶瑕佷笂浼犵殑鍥剧墖
+ if (!pathTempList[i].second) {
+ continue
+ }
+ val oldFile = pathTempList[i].first
val newFile = savePathList[i]
//淇濆瓨鍒癿ediaFile鏁版嵁搴�
val mediaFile = Mediafile()
@@ -261,11 +278,14 @@
}
//娓呴櫎鎷嶇収鍙栬瘉鐨勭紦瀛�
- fun clearTemp() {
+ private fun clearTemp() {
for (i in pathTempList.indices) {
- val file = pathTempList[i]
- if (file.exists()) {
- file.delete()
+ //闇�瑕佷笂浼犵殑鍥剧墖鎵嶆槸鍦ㄦ湰鍦版媿鎽勭殑锛屽甫鏈夌紦瀛�
+ if (pathTempList[i].second) {
+ val file = pathTempList[i].first
+ if (file.exists()) {
+ file.delete()
+ }
}
}
}
--
Gitblit v1.9.3