Conflicts:
	app/src/main/java/com/navinfo/omqs/Constant.kt
	app/src/main/java/com/navinfo/omqs/ui/fragment/tasklist/TaskListAdapter.kt
This commit is contained in:
qiji4215
2023-04-24 16:26:40 +08:00
27 changed files with 794 additions and 581 deletions

View File

@@ -212,7 +212,7 @@ class EvaluationResultViewModel @Inject constructor(
it.copyToRealmOrUpdate(liveDataQsRecordBean.value)
}
// realm.close()
mapController.layerManagerHandler.addOrUpdateQsRecordMark(liveDataQsRecordBean.value!!)
mapController.markerHandle.addOrUpdateQsRecordMark(liveDataQsRecordBean.value!!)
liveDataFinish.postValue(true)
}
}
@@ -228,7 +228,7 @@ class EvaluationResultViewModel @Inject constructor(
objects?.deleteFromRealm()
}
// realm.close()
mapController.layerManagerHandler.removeQsRecordMark(liveDataQsRecordBean.value!!)
mapController.markerHandle.removeQsRecordMark(liveDataQsRecordBean.value!!)
liveDataFinish.postValue(true)
}
}

View File

@@ -77,15 +77,14 @@ class PersonalCenterFragment : BaseFragment(), FSAFActivityCallbacks {
val file = UriUtils.uri2File(uri)
// 开始导入数据
// 656e6372797000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
val job = CoroutineUtils.launchWithLoading(
CoroutineUtils.launchWithLoading(
requireContext(),
loadingMessage = "生成数据..."
) {
val importOMDBHelper: ImportOMDBHelper =
importOMDBHiltFactory.obtainImportOMDBHelper(
requireContext(),
file,
File(file.parentFile, "config.json")
file
)
viewModel.obtainOMDBZipData(importOMDBHelper)
}
@@ -99,19 +98,19 @@ class PersonalCenterFragment : BaseFragment(), FSAFActivityCallbacks {
override fun onResult(uri: Uri) {
val file = UriUtils.uri2File(uri)
// 开始导入数据
CoroutineUtils.launchWithLoading(
requireContext(),
loadingMessage = "导入数据..."
) {
val importOMDBHelper: ImportOMDBHelper =
importOMDBHiltFactory.obtainImportOMDBHelper(
requireContext(),
file,
File(file.parentFile, "config.json")
)
val importOMDBHelper: ImportOMDBHelper =
importOMDBHiltFactory.obtainImportOMDBHelper(
requireContext(),
file
)
viewModel.importOMDBData(importOMDBHelper)
}
// // 开始导入数据
// CoroutineUtils.launchWithLoading(
// requireContext(),
// loadingMessage = "导入数据..."
// ) {
//
// }
}
})
}

View File

@@ -136,39 +136,15 @@ class PersonalCenterViewModel @Inject constructor(
/**
* 导入OMDB数据
* */
suspend fun importOMDBData(importOMDBHelper: ImportOMDBHelper) {
Log.d("OMQSApplication", "开始导入数据")
// Realm.getDefaultInstance().beginTransaction()
importOMDBHelper.importOmdbZipFile(importOMDBHelper.omdbFile).collect {
Realm.getDefaultInstance().beginTransaction()
for (map in it) { // 每一个map就是Realm的一条数据
val renderEntity = RenderEntity()
renderEntity.code = map["QIcode"].toString().toInt()
renderEntity.name = map["QIname"].toString()
renderEntity.table = map["QItable"].toString()
// 其他数据插入到Properties中
renderEntity.geometry = map["GEOMETRY"].toString()
for (entry in map) {
renderEntity.properties[entry.key] = entry.value.toString()
}
Realm.getDefaultInstance().insert(renderEntity)
fun importOMDBData(importOMDBHelper: ImportOMDBHelper) {
viewModelScope.launch(Dispatchers.IO) {
Log.d("OMQSApplication", "开始导入数据")
importOMDBHelper.importOmdbZipFile(importOMDBHelper.omdbFile).collect {
Log.d("importOMDBData", it)
}
Realm.getDefaultInstance().commitTransaction()
Log.d("OMQSApplication", "导入数据完成")
}
// Realm.getDefaultInstance().commitTransaction()
// val gson = Gson()
// // 数据导入结束后开始生成渲染表所需的json文件并生成压缩包
// for (table in importOMDBHelper.openConfigFile().tables/*listOf<String>("HAD_LINK")*/) {
// val omdbList = Realm.getDefaultInstance().where(OMDBEntity::class.java).equalTo("table", table.table).findAll()
// val outputFile = File(importOMDBHelper.omdbFile, "${table.table}.txt")
// // 将读取到的数据转换为json数据文件
// for (omdb in omdbList) {
// FileIOUtils.writeFileFromString(outputFile, gson.toJson(omdb))
// }
// }
Log.d("OMQSApplication", "导入数据完成")
}
fun importScProblemData(uri: Uri) {

View File

@@ -10,7 +10,7 @@ import com.navinfo.omqs.R
import com.navinfo.omqs.bean.TaskBean
import com.navinfo.omqs.databinding.AdapterTaskListBinding
import com.navinfo.omqs.http.taskdownload.TaskDownloadManager
import com.navinfo.omqs.tools.FileManager
import com.navinfo.omqs.tools.FileManager.Companion.FileDownloadStatus
import com.navinfo.omqs.ui.other.BaseRecyclerViewAdapter
import com.navinfo.omqs.ui.other.BaseViewHolder
@@ -23,7 +23,7 @@ import com.navinfo.omqs.ui.other.BaseViewHolder
*使用 LifecycleRegistry 给 ViewHolder 分发生命周期(这里使用了这个)
*/
class TaskListAdapter(
private val downloadManager: TaskDownloadManager, private val context: Context
private val downloadManager: TaskDownloadManager
) : BaseRecyclerViewAdapter<TaskBean>() {
@@ -31,11 +31,11 @@ class TaskListAdapter(
if (it.tag != null) {
val taskBean = data[it.tag as Int]
when (taskBean.status) {
FileManager.Companion.FileDownloadStatus.NONE, FileManager.Companion.FileDownloadStatus.UPDATE, FileManager.Companion.FileDownloadStatus.PAUSE, FileManager.Companion.FileDownloadStatus.ERROR -> {
FileDownloadStatus.NONE, FileDownloadStatus.UPDATE, FileDownloadStatus.PAUSE, FileDownloadStatus.ERROR -> {
Log.e("jingo", "开始下载 ${taskBean.status}")
downloadManager.start(taskBean.id)
}
FileManager.Companion.FileDownloadStatus.LOADING, FileManager.Companion.FileDownloadStatus.WAITING -> {
FileDownloadStatus.LOADING, FileDownloadStatus.WAITING -> {
Log.e("jingo", "暂停 ${taskBean.status}")
downloadManager.pause(taskBean.id)
}
@@ -70,6 +70,8 @@ class TaskListAdapter(
binding.taskDownloadBtn.tag = position
binding.taskDownloadBtn.setOnClickListener(downloadBtnClick)
binding.taskName.text = taskBean.evaluationTaskName
binding.taskCityName.text = taskBean.cityName
binding.taskDataVersion.text = "版本号:${taskBean.dataVersion}"
// binding.offlineMapCitySize.text = cityBean.getFileSizeText()
}
@@ -82,41 +84,43 @@ class TaskListAdapter(
}
private fun changeViews(binding: AdapterTaskListBinding, cityBean: TaskBean) {
binding.taskProgress.progress =
(cityBean.currentSize * 100 / cityBean.fileSize).toInt()
when (cityBean.status) {
FileManager.Companion.FileDownloadStatus.NONE -> {
private fun changeViews(binding: AdapterTaskListBinding, taskBean: TaskBean) {
if (taskBean.fileSize > 0L) {
binding.taskProgress.progress =
(taskBean.currentSize * 100 / taskBean.fileSize).toInt()
}
when (taskBean.status) {
FileDownloadStatus.NONE -> {
if (binding.taskProgress.visibility == View.VISIBLE) binding.taskProgress.visibility =
View.INVISIBLE
binding.taskDownloadBtn.text = "下载"
}
FileManager.Companion.FileDownloadStatus.WAITING -> {
FileDownloadStatus.WAITING -> {
if (binding.taskProgress.visibility != View.VISIBLE) binding.taskProgress.visibility =
View.VISIBLE
binding.taskDownloadBtn.text = "等待中"
}
FileManager.Companion.FileDownloadStatus.LOADING -> {
FileDownloadStatus.LOADING -> {
if (binding.taskProgress.visibility != View.VISIBLE) binding.taskProgress.visibility =
View.VISIBLE
binding.taskDownloadBtn.text = "暂停"
}
FileManager.Companion.FileDownloadStatus.PAUSE -> {
FileDownloadStatus.PAUSE -> {
if (binding.taskProgress.visibility != View.VISIBLE) binding.taskProgress.visibility =
View.VISIBLE
binding.taskDownloadBtn.text = "继续"
}
FileManager.Companion.FileDownloadStatus.ERROR -> {
FileDownloadStatus.ERROR -> {
if (binding.taskProgress.visibility != View.VISIBLE) binding.taskProgress.visibility =
View.VISIBLE
binding.taskDownloadBtn.text = "重试"
}
FileManager.Companion.FileDownloadStatus.DONE -> {
FileDownloadStatus.DONE -> {
if (binding.taskProgress.visibility == View.VISIBLE) binding.taskProgress.visibility =
View.INVISIBLE
binding.taskDownloadBtn.text = "已完成"
}
FileManager.Companion.FileDownloadStatus.UPDATE -> {
FileDownloadStatus.UPDATE -> {
if (binding.taskProgress.visibility == View.VISIBLE) binding.taskProgress.visibility =
View.INVISIBLE
binding.taskDownloadBtn.text = "更新"

View File

@@ -5,6 +5,7 @@ import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.viewModels
import androidx.navigation.fragment.findNavController
import androidx.recyclerview.widget.LinearLayoutManager
import com.navinfo.omqs.databinding.FragmentTaskListBinding
import com.navinfo.omqs.http.taskdownload.TaskDownloadManager
@@ -22,7 +23,6 @@ class TaskListFragment : BaseFragment(){
private val adapter: TaskListAdapter by lazy {
TaskListAdapter(
downloadManager,
requireContext()
)
}
@@ -46,6 +46,9 @@ class TaskListFragment : BaseFragment(){
adapter.refreshData(it)
}
viewModel.getTaskList(requireContext())
binding.taskBack.setOnClickListener{
findNavController().navigateUp()
}
}
override fun onDestroyView() {

View File

@@ -52,8 +52,11 @@ class TaskListViewModel @Inject constructor(
else -> {}
}
val objects = realm.where(TaskBean::class.java).findAll()
liveDataTaskList.postValue(realm.copyFromRealm(objects))
// realm.close()
val taskList = realm.copyFromRealm(objects)
for(item in taskList){
FileManager.checkOMDBFileInfo(item)
}
liveDataTaskList.postValue(taskList)
}
}