diff --git a/app/src/main/java/com/casic/br/ktd/view/AlarmDetailActivity.kt b/app/src/main/java/com/casic/br/ktd/view/AlarmDetailActivity.kt index 82e7be5..0634e67 100644 --- a/app/src/main/java/com/casic/br/ktd/view/AlarmDetailActivity.kt +++ b/app/src/main/java/com/casic/br/ktd/view/AlarmDetailActivity.kt @@ -58,19 +58,21 @@ binding.caseThresholdView.text = "${model.alarmThresh}ppm·m" val longitude = model.alarmLongitude val latitude = model.alarmLatitude - binding.latLngView.text = "$longitude,$latitude" - if (CoordinateConverter.isAMapDataAvailable( - latitude.toDouble(), longitude.toDouble() - ) - ) { - LatLng(latitude.toDouble(), longitude.toDouble()).toChineseAddress(object : - OnGeocodeSearchListener { - override fun onRegionCodeSearched(address: String) { - binding.locationView.text = address - } - }) - } else { - binding.locationView.text = "未知" + if (!longitude.isNullOrBlank() && !latitude.isNullOrBlank()) { + binding.latLngView.text = "$longitude,$latitude" + if (CoordinateConverter.isAMapDataAvailable( + latitude.toDouble(), longitude.toDouble() + ) + ) { + LatLng(latitude.toDouble(), longitude.toDouble()).toChineseAddress(object : + OnGeocodeSearchListener { + override fun onRegionCodeSearched(address: String) { + binding.locationView.text = address + } + }) + } else { + binding.locationView.text = "未知" + } } binding.taskCodeView.text = model.taskCode binding.taskNameView.text = model.taskName diff --git a/app/src/main/java/com/casic/br/ktd/view/AlarmDetailActivity.kt b/app/src/main/java/com/casic/br/ktd/view/AlarmDetailActivity.kt index 82e7be5..0634e67 100644 --- a/app/src/main/java/com/casic/br/ktd/view/AlarmDetailActivity.kt +++ b/app/src/main/java/com/casic/br/ktd/view/AlarmDetailActivity.kt @@ -58,19 +58,21 @@ binding.caseThresholdView.text = "${model.alarmThresh}ppm·m" val longitude = model.alarmLongitude val latitude = model.alarmLatitude - binding.latLngView.text = "$longitude,$latitude" - if (CoordinateConverter.isAMapDataAvailable( - latitude.toDouble(), longitude.toDouble() - ) - ) { - LatLng(latitude.toDouble(), longitude.toDouble()).toChineseAddress(object : - OnGeocodeSearchListener { - override fun onRegionCodeSearched(address: String) { - binding.locationView.text = address - } - }) - } else { - binding.locationView.text = "未知" + if (!longitude.isNullOrBlank() && !latitude.isNullOrBlank()) { + binding.latLngView.text = "$longitude,$latitude" + if (CoordinateConverter.isAMapDataAvailable( + latitude.toDouble(), longitude.toDouble() + ) + ) { + LatLng(latitude.toDouble(), longitude.toDouble()).toChineseAddress(object : + OnGeocodeSearchListener { + override fun onRegionCodeSearched(address: String) { + binding.locationView.text = address + } + }) + } else { + binding.locationView.text = "未知" + } } binding.taskCodeView.text = model.taskCode binding.taskNameView.text = model.taskName diff --git a/app/src/main/java/com/casic/br/ktd/vm/AlarmViewModel.kt b/app/src/main/java/com/casic/br/ktd/vm/AlarmViewModel.kt index 55f387b..757ef79 100644 --- a/app/src/main/java/com/casic/br/ktd/vm/AlarmViewModel.kt +++ b/app/src/main/java/com/casic/br/ktd/vm/AlarmViewModel.kt @@ -9,12 +9,15 @@ import com.casic.br.ktd.model.AlarmListModel import com.casic.br.ktd.model.AlarmRuleListModel import com.casic.br.ktd.retrofit.RetrofitServiceManager +import com.casic.br.ktd.utils.LocaleConstant import com.google.gson.Gson import com.google.gson.reflect.TypeToken import com.pengxh.kt.lite.extensions.launch import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.SaveKeyValues import com.pengxh.kt.lite.vm.BaseViewModel import com.pengxh.kt.lite.vm.LoadState +import org.json.JSONObject /** * 报警相关 VM @@ -116,9 +119,25 @@ val responseCode = response.separateResponseCode() if (responseCode == 200) { loadState.value = LoadState.Success - alarmDetail.value = gson.fromJson( - response, object : TypeToken() {}.type - ) + var detailModel = AlarmDetailModel() + val dataObject = JSONObject(response).get("data") + if (dataObject is String) { + detailModel.code = 200 + detailModel.message = "请求成功" + val dataModel = AlarmDetailModel.DataModel() + dataModel.alarmPicture = "" + dataModel.alarmThresh = SaveKeyValues.getValue( + LocaleConstant.ALARM_RULE, 1000 + ) as Int + dataModel.alarmValue = 0 + dataModel.alarmVideo = "" + detailModel.data = dataModel + } else { + detailModel = gson.fromJson( + response, object : TypeToken() {}.type + ) + } + alarmDetail.value = detailModel } else { loadState.value = LoadState.Fail response.toErrorMessage().show(BaseApplication.get())