From 979d9cff22806f213b420452ab4a68fcbaf021b6 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期一, 31 五月 2021 17:43:49 +0800
Subject: [PATCH] 1. 修复多项可能引起空指针崩溃的bug; 2. 新建子任务时默认执行人员从全体人员改为当前用户; 3. 新建子任务时默认执行时间强制固定为总任务对应的时段内,确保子任务执行时间不会超出总任务范围。
---
app/src/main/java/cn/flightfeather/thirdapp/module/inspection/BaseProblemListActivity.kt | 38 ++++++++++++++++++++++++++++++--------
1 files changed, 30 insertions(+), 8 deletions(-)
diff --git a/app/src/main/java/cn/flightfeather/thirdapp/module/inspection/BaseProblemListActivity.kt b/app/src/main/java/cn/flightfeather/thirdapp/module/inspection/BaseProblemListActivity.kt
index 4400f98..7ab53f7 100644
--- a/app/src/main/java/cn/flightfeather/thirdapp/module/inspection/BaseProblemListActivity.kt
+++ b/app/src/main/java/cn/flightfeather/thirdapp/module/inspection/BaseProblemListActivity.kt
@@ -9,10 +9,14 @@
import cn.flightfeather.thirdapp.activity.ProblemDetailActivity
import cn.flightfeather.thirdapp.adapter.ProblemListAdapter
import cn.flightfeather.thirdapp.adapter.RecyclerItemClickListener
-import cn.flightfeather.thirdapp.bean.Inspection
-import cn.flightfeather.thirdapp.bean.Subtask
+import cn.flightfeather.thirdapp.bean.entity.Inspection
+import cn.flightfeather.thirdapp.bean.entity.Scense
+import cn.flightfeather.thirdapp.bean.entity.Subtask
+import cn.flightfeather.thirdapp.model.event.ProblemEvent
import cn.flightfeather.thirdapp.module.base.BaseActivity
import kotlinx.android.synthetic.main.dialog_problem_list.*
+import org.greenrobot.eventbus.EventBus
+import org.greenrobot.eventbus.Subscribe
/**
* @author riku
@@ -33,17 +37,21 @@
*/
abstract var type: Int
- var subTaskSelected: Subtask? = null
- var inspection: Inspection? = null
- var lat: Double = 0.0
- var lng: Double = 0.0
+ protected var subTaskSelected: Subtask? = null
+ protected var inspection: Inspection? = null
+ protected var scene: Scense? = null
+ protected var lat: Double = 0.0
+ protected var lng: Double = 0.0
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
+ EventBus.getDefault().register(this)
+
viewModel = ViewModelProviders.of(this).get(BaseProblemListViewModel::class.java)
subTaskSelected = 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)
@@ -56,6 +64,10 @@
adapter = ProblemListAdapter(this@BaseProblemListActivity, viewModel.problemList.value, viewHolderType)
addOnItemTouchListener(RecyclerItemClickListener(this@BaseProblemListActivity, this, object : RecyclerItemClickListener.OnItemClickListener {
override fun onItemClick(view: View?, position: Int) {
+ val size = viewModel.problemList.value?.size ?: 0
+ if (position >= size) {
+ return
+ }
val intent = Intent(this@BaseProblemListActivity, ProblemDetailActivity::class.java)
intent.putExtra("problemlistVo", viewModel.problemList.value?.get(position))
intent.putExtra("subTaskSelected", subTaskSelected)
@@ -67,6 +79,7 @@
}
override fun onItemLongClick(view: View?, position: Int) {
+ onItemViewLongClick(view, position)
}
}))
@@ -74,10 +87,10 @@
tv_title.text = when (type) {
InspectionDetailActivity.PROBLEM_LIST -> "闂娓呭崟"
- InspectionDetailActivity.PROBLEM_CHECK -> "闂瀹℃牳"
- InspectionDetailActivity.CHANGE_CHECK -> "鏁存敼瀹℃牳"
InspectionDetailActivity.PROBLEM_CHANGE -> "鐜板満鏁存敼"
InspectionDetailActivity.PROBLEM_RECHECK -> "闂澶嶆牳"
+ InspectionDetailActivity.PROBLEM_CHECK -> "闂瀹℃牳"
+ InspectionDetailActivity.CHANGE_CHECK -> "鏁存敼瀹℃牳"
else -> ""
}
@@ -85,4 +98,13 @@
finish()
}
}
+
+ open fun onItemViewLongClick(view: View?, position: Int) {
+
+ }
+
+ @Subscribe
+ fun onPutProblem(problemEvent: ProblemEvent) {
+ viewModel.getProblems(inspection?.guid)
+ }
}
\ No newline at end of file
--
Gitblit v1.9.3