修改bug
This commit is contained in:
parent
13c2d55159
commit
5b2fcbddd9
@ -63,9 +63,12 @@ class RealmOperateHelper() {
|
||||
// 查询realm中对应tile号的数据
|
||||
val realm = getRealmDefaultInstance()
|
||||
val realmList =
|
||||
getRealmTools(RenderEntity::class.java,false).and().equalTo("table", "OMDB_RD_LINK")
|
||||
.and()
|
||||
.rawPredicate("tileX>=$xStart and tileX<=$xEnd and tileY>=$yStart and tileY<=$yEnd")
|
||||
getRealmTools(RenderEntity::class.java, false)
|
||||
.equalTo("table", "OMDB_RD_LINK")
|
||||
.greaterThanOrEqualTo("tileX", xStart)
|
||||
.lessThanOrEqualTo("tileX", xEnd)
|
||||
.greaterThanOrEqualTo("tileY", yStart)
|
||||
.lessThanOrEqualTo("tileY", yEnd)
|
||||
.findAll()
|
||||
// 将获取到的数据和查询的polygon做相交,只返回相交的数据
|
||||
val dataList = realm.copyFromRealm(realmList)
|
||||
@ -125,10 +128,12 @@ class RealmOperateHelper() {
|
||||
val yEnd = tileYSet.stream().max(Comparator.naturalOrder()).orElse(null)
|
||||
// 查询realm中对应tile号的数据
|
||||
val realm = getRealmDefaultInstance()
|
||||
val realmList = getRealmTools(RenderEntity::class.java, true).and()
|
||||
val realmList = getRealmTools(RenderEntity::class.java, true)
|
||||
.equalTo("table", table)
|
||||
.and()
|
||||
.rawPredicate("tileX>=$xStart and tileX<=$xEnd and tileY>=$yStart and tileY<=$yEnd")
|
||||
.greaterThanOrEqualTo("tileX", xStart)
|
||||
.lessThanOrEqualTo("tileX", xEnd)
|
||||
.greaterThanOrEqualTo("tileY", yStart)
|
||||
.lessThanOrEqualTo("tileY", yEnd)
|
||||
.findAll()
|
||||
// 将获取到的数据和查询的polygon做相交,只返回相交的数据
|
||||
val dataList = realm.copyFromRealm(realmList)
|
||||
@ -187,8 +192,8 @@ class RealmOperateHelper() {
|
||||
var link: RenderEntity? = null
|
||||
val realm = getRealmDefaultInstance()
|
||||
val realmR =
|
||||
getRealmTools(RenderEntity::class.java, true).and().equalTo("table", "OMDB_RD_LINK")
|
||||
.and().equalTo("properties['${LinkTable.linkPid}']", linkPid).findFirst()
|
||||
getRealmTools(RenderEntity::class.java, true).equalTo("table", "OMDB_RD_LINK")
|
||||
.equalTo("properties['${LinkTable.linkPid}']", linkPid).findFirst()
|
||||
if (realmR != null) {
|
||||
link = realm.copyFromRealm(realmR)
|
||||
}
|
||||
@ -202,8 +207,8 @@ class RealmOperateHelper() {
|
||||
suspend fun queryQcRecordBean(markId: String): QsRecordBean? {
|
||||
var qsRecordBean: QsRecordBean? = null
|
||||
val realm = getRealmDefaultInstance()
|
||||
val realmR = getRealmTools(QsRecordBean::class.java, false).and()
|
||||
.equalTo("table", "QsRecordBean").and().equalTo("id", markId).findFirst()
|
||||
val realmR = getRealmTools(QsRecordBean::class.java, false)
|
||||
.equalTo("table", "QsRecordBean").equalTo("id", markId).findFirst()
|
||||
if (realmR != null) {
|
||||
qsRecordBean = realm.copyFromRealm(realmR)
|
||||
}
|
||||
@ -215,7 +220,7 @@ class RealmOperateHelper() {
|
||||
|
||||
val realm = getRealmDefaultInstance()
|
||||
|
||||
val realmR = getRealmTools(RenderEntity::class.java, true).and()
|
||||
val realmR = getRealmTools(RenderEntity::class.java, true)
|
||||
.equalTo("properties['${LinkTable.linkPid}']", linkPid).findAll()
|
||||
|
||||
val dataList = realm.copyFromRealm(realmR)
|
||||
@ -257,10 +262,12 @@ class RealmOperateHelper() {
|
||||
val yEnd = tileYSet.stream().max(Comparator.naturalOrder()).orElse(null)
|
||||
val realm = getRealmDefaultInstance()
|
||||
// 查询realm中对应tile号的数据
|
||||
val realmList = getRealmTools(RenderEntity::class.java, false).and()
|
||||
val realmList = getRealmTools(RenderEntity::class.java, false)
|
||||
.notEqualTo("table", DataCodeEnum.OMDB_RD_LINK.name)
|
||||
.and()
|
||||
.rawPredicate("tileX>=$xStart and tileX<=$xEnd and tileY>=$yStart and tileY<=$yEnd")
|
||||
.greaterThanOrEqualTo("tileX", xStart)
|
||||
.lessThanOrEqualTo("tileX", xEnd)
|
||||
.greaterThanOrEqualTo("tileY", yStart)
|
||||
.lessThanOrEqualTo("tileY", yEnd)
|
||||
.findAll()
|
||||
// 将获取到的数据和查询的polygon做相交,只返回相交的数据
|
||||
val queryResult = realmList?.stream()?.filter {
|
||||
@ -287,10 +294,9 @@ class RealmOperateHelper() {
|
||||
suspend fun queryLinkByLinkPid(linkPid: String): MutableList<RenderEntity> {
|
||||
val result = mutableListOf<RenderEntity>()
|
||||
val realm = getRealmDefaultInstance()
|
||||
val realmList = getRealmTools(RenderEntity::class.java, false).and()
|
||||
val realmList = getRealmTools(RenderEntity::class.java, false)
|
||||
.notEqualTo("table", DataCodeEnum.OMDB_RD_LINK.name)
|
||||
.and()
|
||||
.equalTo("properties['${LinkTable.linkPid}']", linkPid).and()
|
||||
.equalTo("properties['${LinkTable.linkPid}']", linkPid)
|
||||
.findAll()
|
||||
result.addAll(realm.copyFromRealm(realmList))
|
||||
return result
|
||||
@ -383,14 +389,15 @@ class RealmOperateHelper() {
|
||||
}
|
||||
|
||||
fun getRealmDefaultInstance(): Realm {
|
||||
if(isUpdate){
|
||||
if (isUpdate) {
|
||||
Log.e("jingo", "数据库更新")
|
||||
Realm.getDefaultInstance().refresh()
|
||||
isUpdate = false;
|
||||
}
|
||||
return Realm.getDefaultInstance()
|
||||
}
|
||||
|
||||
fun updateRealmDefaultInstance(){
|
||||
fun updateRealmDefaultInstance() {
|
||||
isUpdate = true
|
||||
}
|
||||
}
|
||||
|
@ -533,6 +533,7 @@ class MainActivity : BaseActivity() {
|
||||
mapController.measureLayerHandler.measureValueLiveData.observe(this) {
|
||||
valueView.text = it.valueString
|
||||
unitView.text = it.unit
|
||||
ClipboardUtils.copyText("${it.valueString}${it.unit}")
|
||||
}
|
||||
mapController.measureLayerHandler.tempMeasureValueLiveData.observe(this)
|
||||
{
|
||||
|
@ -13,6 +13,7 @@ import com.navinfo.omqs.ui.other.BaseViewHolder
|
||||
interface TaskAdapterCallback {
|
||||
fun itemOnClick(bean: HadLinkDvoBean)
|
||||
fun editOnClick(position: Int, bean: HadLinkDvoBean)
|
||||
fun scrollPosition(position: Int)
|
||||
}
|
||||
|
||||
/**
|
||||
@ -38,10 +39,12 @@ class TaskAdapter(
|
||||
val binding: AdapterTaskBinding =
|
||||
holder.viewBinding as AdapterTaskBinding
|
||||
val bean = data[position]
|
||||
if(bean.linkStatus==1){
|
||||
binding.taskHead.background = binding.root.context.getDrawable(R.drawable.selector_task_head)
|
||||
}else{
|
||||
binding.taskHead.background = binding.root.context.getDrawable(R.drawable.selector_task_head_add_link)
|
||||
if (bean.linkStatus == 1) {
|
||||
binding.taskHead.background =
|
||||
binding.root.context.getDrawable(R.drawable.selector_task_head)
|
||||
} else {
|
||||
binding.taskHead.background =
|
||||
binding.root.context.getDrawable(R.drawable.selector_task_head_add_link)
|
||||
}
|
||||
binding.taskLinkPid.text = "PID:${bean.linkPid}"
|
||||
binding.taskMesh.text = "mesh:${bean.mesh}"
|
||||
@ -58,6 +61,11 @@ class TaskAdapter(
|
||||
callback.itemOnClick(bean)
|
||||
}
|
||||
}
|
||||
if (bean.reason != "") {
|
||||
binding.taskEdit.setImageDrawable(binding.root.context.getDrawable(R.drawable.baseline_edit_note_48_select_red))
|
||||
} else {
|
||||
binding.taskEdit.setImageDrawable(binding.root.context.getDrawable(R.drawable.selector_task_link_edit_icon))
|
||||
}
|
||||
binding.taskEdit.isSelected = bean.reason != ""
|
||||
binding.taskEdit.setOnClickListener {
|
||||
callback.editOnClick(position, bean)
|
||||
@ -68,6 +76,21 @@ class TaskAdapter(
|
||||
fun resetSelect() {
|
||||
selectPosition = -1
|
||||
}
|
||||
|
||||
fun setSelectTag(tag: String) {
|
||||
for (i in data.indices) {
|
||||
if (data[i].linkPid == tag) {
|
||||
if (selectPosition > -1)
|
||||
notifyItemChanged(selectPosition)
|
||||
selectPosition = i
|
||||
notifyItemChanged(i)
|
||||
if(callback != null){
|
||||
callback.scrollPosition(i)
|
||||
}
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -48,6 +48,10 @@ class TaskFragment : BaseFragment() {
|
||||
override fun editOnClick(position: Int, bean: HadLinkDvoBean) {
|
||||
showLinkEditDialog(position, bean)
|
||||
}
|
||||
|
||||
override fun scrollPosition(position: Int) {
|
||||
binding.taskRecyclerview.scrollToPosition(position)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
@ -120,6 +124,9 @@ class TaskFragment : BaseFragment() {
|
||||
}
|
||||
|
||||
})
|
||||
viewModel.liveDataSelectLink.observe(viewLifecycleOwner){
|
||||
adapter.setSelectTag(it)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -5,6 +5,7 @@ import android.content.SharedPreferences
|
||||
import android.content.SharedPreferences.OnSharedPreferenceChangeListener
|
||||
import android.os.Build
|
||||
import android.view.View
|
||||
import androidx.annotation.RequiresApi
|
||||
import androidx.lifecycle.MutableLiveData
|
||||
import androidx.lifecycle.ViewModel
|
||||
import androidx.lifecycle.viewModelScope
|
||||
@ -66,6 +67,11 @@ class TaskViewModel @Inject constructor(
|
||||
*/
|
||||
val liveDataToastMessage = MutableLiveData<String>()
|
||||
|
||||
/**
|
||||
* 点击地图选中的link
|
||||
*/
|
||||
val liveDataSelectLink = MutableLiveData<String>()
|
||||
|
||||
/**
|
||||
* 当前选中的任务
|
||||
*/
|
||||
@ -85,6 +91,79 @@ class TaskViewModel @Inject constructor(
|
||||
|
||||
init {
|
||||
sharedPreferences.registerOnSharedPreferenceChangeListener(this)
|
||||
mapController.mMapView.addOnNIMapClickListener(TAG, object : OnGeoPointClickListener {
|
||||
@RequiresApi(Build.VERSION_CODES.N)
|
||||
override fun onMapClick(tag: String, point: GeoPoint) {
|
||||
if (tag == TAG) {
|
||||
if (liveDataSelectNewLink.value == true) {
|
||||
viewModelScope.launch(Dispatchers.Default) {
|
||||
if (currentSelectTaskBean == null) {
|
||||
liveDataToastMessage.postValue("还没有开启任何任务")
|
||||
} else {
|
||||
val links = realmOperateHelper.queryLink(
|
||||
point = point,
|
||||
)
|
||||
if (links.isNotEmpty()) {
|
||||
val l = links[0]
|
||||
for (link in currentSelectTaskBean!!.hadLinkDvoList) {
|
||||
if (link.linkPid == l.properties["linkPid"]) {
|
||||
return@launch
|
||||
}
|
||||
}
|
||||
val hadLinkDvoBean = HadLinkDvoBean(
|
||||
taskId = currentSelectTaskBean!!.id,
|
||||
linkPid = l.properties["linkPid"]!!,
|
||||
geometry = l.geometry,
|
||||
linkStatus = 2
|
||||
)
|
||||
currentSelectTaskBean!!.hadLinkDvoList.add(
|
||||
hadLinkDvoBean
|
||||
)
|
||||
val realm = Realm.getDefaultInstance()
|
||||
realm.executeTransaction { r ->
|
||||
r.copyToRealmOrUpdate(hadLinkDvoBean)
|
||||
r.copyToRealmOrUpdate(currentSelectTaskBean!!)
|
||||
}
|
||||
//根据Link数据查询对应数据上要素,对要素进行显示重置
|
||||
l.properties["linkPid"]?.let {
|
||||
realmOperateHelper.queryLinkToMutableRenderEntityList(it)
|
||||
?.forEach { renderEntity ->
|
||||
if (renderEntity.enable != 1) {
|
||||
renderEntity.enable = 1
|
||||
realm.executeTransaction { r ->
|
||||
r.copyToRealmOrUpdate(renderEntity)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
liveDataTaskLinks.postValue(currentSelectTaskBean!!.hadLinkDvoList)
|
||||
mapController.lineHandler.addTaskLink(hadLinkDvoBean)
|
||||
mapController.layerManagerHandler.updateOMDBVectorTileLayer()
|
||||
mapController.mMapView.vtmMap.updateMap(true)
|
||||
}
|
||||
}
|
||||
}
|
||||
}else {
|
||||
viewModelScope.launch(Dispatchers.IO) {
|
||||
val links = realmOperateHelper.queryLink(
|
||||
point = point,
|
||||
)
|
||||
if (links.isNotEmpty()) {
|
||||
val l = links[0]
|
||||
for (link in currentSelectTaskBean!!.hadLinkDvoList) {
|
||||
if (link.linkPid == l.properties["linkPid"]) {
|
||||
liveDataSelectLink.postValue(link.linkPid)
|
||||
mapController.lineHandler.showLine(link.geometry)
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@ -106,10 +185,9 @@ class TaskViewModel @Inject constructor(
|
||||
val nowTime: Long = DateTimeUtil.getNowDate().time
|
||||
val beginNowTime: Long = nowTime - 90 * 3600 * 24 * 1000L
|
||||
val syncUpload: Int = FileManager.Companion.FileUploadStatus.DONE
|
||||
val objects =
|
||||
realm.where(TaskBean::class.java).notEqualTo("syncStatus", syncUpload).or()
|
||||
.between("operationTime", beginNowTime, nowTime)
|
||||
.equalTo("syncStatus", syncUpload).findAll().sort("id")
|
||||
val objects = realm.where(TaskBean::class.java).notEqualTo("syncStatus", syncUpload).or()
|
||||
.between("operationTime", beginNowTime, nowTime).equalTo("syncStatus", syncUpload)
|
||||
.findAll().sort("id")
|
||||
val taskList = realm.copyFromRealm(objects)
|
||||
for (item in taskList) {
|
||||
FileManager.checkOMDBFileInfo(item)
|
||||
@ -187,8 +265,7 @@ class TaskViewModel @Inject constructor(
|
||||
//重新加载轨迹
|
||||
viewModelScope.launch(Dispatchers.IO) {
|
||||
val list: List<NiLocation>? = TraceDataBase.getDatabase(
|
||||
mapController.mMapView.context,
|
||||
Constant.USER_DATA_PATH
|
||||
mapController.mMapView.context, Constant.USER_DATA_PATH
|
||||
).niLocationDao.findToTaskIdAll(taskBean.id.toString())
|
||||
list!!.forEach {
|
||||
mapController.markerHandle.addNiLocationMarkerItem(it)
|
||||
@ -216,6 +293,7 @@ class TaskViewModel @Inject constructor(
|
||||
}
|
||||
|
||||
override fun onCleared() {
|
||||
mapController.mMapView.removeOnNIMapClickListener(TAG)
|
||||
mapController.lineHandler.removeLine()
|
||||
sharedPreferences.unregisterOnSharedPreferenceChangeListener(this)
|
||||
super.onCleared()
|
||||
@ -245,18 +323,12 @@ class TaskViewModel @Inject constructor(
|
||||
* 筛选任务列表
|
||||
*/
|
||||
fun filterTaskList(key: String) {
|
||||
if (filterTaskListJob != null)
|
||||
filterTaskListJob!!.cancel()
|
||||
if (filterTaskListJob != null) filterTaskListJob!!.cancel()
|
||||
filterTaskListJob = viewModelScope.launch(Dispatchers.IO) {
|
||||
delay(500)
|
||||
val realm = Realm.getDefaultInstance()
|
||||
val list = realm.where(TaskBean::class.java)
|
||||
.contains("evaluationTaskName", key)
|
||||
.or()
|
||||
.contains("dataVersion", key)
|
||||
.or()
|
||||
.contains("cityName", key)
|
||||
.findAll()
|
||||
val list = realm.where(TaskBean::class.java).contains("evaluationTaskName", key).or()
|
||||
.contains("dataVersion", key).or().contains("cityName", key).findAll()
|
||||
liveDataTaskList.postValue(realm.copyFromRealm(list))
|
||||
}
|
||||
}
|
||||
@ -265,17 +337,14 @@ class TaskViewModel @Inject constructor(
|
||||
* 筛选link
|
||||
*/
|
||||
fun filterTask(pidKey: String) {
|
||||
if (currentSelectTaskBean == null)
|
||||
return
|
||||
if (currentSelectTaskBean == null) return
|
||||
|
||||
if (filterTaskJob != null)
|
||||
filterTaskJob!!.cancel()
|
||||
if (filterTaskJob != null) filterTaskJob!!.cancel()
|
||||
filterTaskJob = viewModelScope.launch(Dispatchers.Default) {
|
||||
delay(500)
|
||||
val list = mutableListOf<HadLinkDvoBean>()
|
||||
for (item in currentSelectTaskBean!!.hadLinkDvoList) {
|
||||
if (item.linkPid.contains(pidKey))
|
||||
list.add(item)
|
||||
if (item.linkPid.contains(pidKey)) list.add(item)
|
||||
}
|
||||
liveDataTaskLinks.postValue(list)
|
||||
}
|
||||
@ -295,8 +364,8 @@ class TaskViewModel @Inject constructor(
|
||||
viewModelScope.launch(Dispatchers.IO) {
|
||||
val realm = Realm.getDefaultInstance()
|
||||
realm.executeTransaction {
|
||||
val objects = it.where(TaskBean::class.java)
|
||||
.equalTo("id", taskBean.id).findFirst()
|
||||
val objects =
|
||||
it.where(TaskBean::class.java).equalTo("id", taskBean.id).findFirst()
|
||||
objects?.deleteFromRealm()
|
||||
}
|
||||
//遍历删除对应的数据
|
||||
@ -317,10 +386,10 @@ class TaskViewModel @Inject constructor(
|
||||
val nowTime: Long = DateTimeUtil.getNowDate().time
|
||||
val beginNowTime: Long = nowTime - 90 * 3600 * 24 * 1000L
|
||||
val syncUpload: Int = FileManager.Companion.FileUploadStatus.DONE
|
||||
val objects = realm.where(TaskBean::class.java)
|
||||
.notEqualTo("syncStatus", syncUpload).or()
|
||||
.between("operationTime", beginNowTime, nowTime)
|
||||
.equalTo("syncStatus", syncUpload).findAll()
|
||||
val objects =
|
||||
realm.where(TaskBean::class.java).notEqualTo("syncStatus", syncUpload).or()
|
||||
.between("operationTime", beginNowTime, nowTime)
|
||||
.equalTo("syncStatus", syncUpload).findAll()
|
||||
val taskList = realm.copyFromRealm(objects)
|
||||
for (item in taskList) {
|
||||
FileManager.checkOMDBFileInfo(item)
|
||||
@ -342,9 +411,9 @@ class TaskViewModel @Inject constructor(
|
||||
viewModelScope.launch(Dispatchers.IO) {
|
||||
val realm = Realm.getDefaultInstance()
|
||||
taskBean.hadLinkDvoList.forEach { hadLinkDvoBean ->
|
||||
val objects = realm.where(QsRecordBean::class.java)
|
||||
.equalTo("linkId", hadLinkDvoBean.linkPid).and()
|
||||
.equalTo("taskId", hadLinkDvoBean.taskId).findAll()
|
||||
val objects =
|
||||
realm.where(QsRecordBean::class.java).equalTo("linkId", hadLinkDvoBean.linkPid)
|
||||
.and().equalTo("taskId", hadLinkDvoBean.taskId).findAll()
|
||||
val map: MutableMap<TaskBean, Boolean> = HashMap<TaskBean, Boolean>()
|
||||
if (objects.isEmpty() && hadLinkDvoBean.reason.isEmpty()) {
|
||||
withContext(Dispatchers.Main) {
|
||||
@ -388,68 +457,67 @@ class TaskViewModel @Inject constructor(
|
||||
*/
|
||||
fun setSelectLink(selected: Boolean) {
|
||||
liveDataSelectNewLink.value = selected
|
||||
//开始捕捉
|
||||
if (selected) {
|
||||
mapController.mMapView.addOnNIMapClickListener(TAG, object : OnGeoPointClickListener {
|
||||
override fun onMapClick(tag: String, point: GeoPoint) {
|
||||
if (tag == TAG) {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
|
||||
viewModelScope.launch(Dispatchers.Default) {
|
||||
if (currentSelectTaskBean == null) {
|
||||
liveDataToastMessage.postValue("还没有开启任何任务")
|
||||
} else {
|
||||
val links = realmOperateHelper.queryLink(
|
||||
point = point,
|
||||
)
|
||||
if (links.isNotEmpty()) {
|
||||
val l = links[0]
|
||||
for (link in currentSelectTaskBean!!.hadLinkDvoList) {
|
||||
if (link.linkPid == l.properties["linkPid"]) {
|
||||
return@launch
|
||||
}
|
||||
}
|
||||
val hadLinkDvoBean = HadLinkDvoBean(
|
||||
taskId = currentSelectTaskBean!!.id,
|
||||
linkPid = l.properties["linkPid"]!!,
|
||||
geometry = l.geometry,
|
||||
linkStatus = 2
|
||||
)
|
||||
currentSelectTaskBean!!.hadLinkDvoList.add(
|
||||
hadLinkDvoBean
|
||||
)
|
||||
val realm = Realm.getDefaultInstance()
|
||||
realm.executeTransaction { r ->
|
||||
r.copyToRealmOrUpdate(hadLinkDvoBean)
|
||||
r.copyToRealmOrUpdate(currentSelectTaskBean!!)
|
||||
}
|
||||
//根据Link数据查询对应数据上要素,对要素进行显示重置
|
||||
l.properties["linkPid"]?.let {
|
||||
realmOperateHelper.queryLinkToMutableRenderEntityList(it)
|
||||
?.forEach { renderEntity ->
|
||||
if(renderEntity.enable!=1){
|
||||
renderEntity.enable = 1
|
||||
realm.executeTransaction { r ->
|
||||
r.copyToRealmOrUpdate(renderEntity)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
liveDataTaskLinks.postValue(currentSelectTaskBean!!.hadLinkDvoList)
|
||||
mapController.lineHandler.addTaskLink(hadLinkDvoBean)
|
||||
mapController.layerManagerHandler.updateOMDBVectorTileLayer()
|
||||
mapController.mMapView.vtmMap.updateMap(true)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
})
|
||||
} else {
|
||||
mapController.mMapView.removeOnNIMapClickListener(TAG)
|
||||
mapController.lineHandler.removeLine()
|
||||
}
|
||||
// //开始捕捉
|
||||
// if (selected) {
|
||||
// mapController.mMapView.addOnNIMapClickListener(TAG, object : OnGeoPointClickListener {
|
||||
// override fun onMapClick(tag: String, point: GeoPoint) {
|
||||
// if (tag == TAG) {
|
||||
// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
|
||||
// viewModelScope.launch(Dispatchers.Default) {
|
||||
// if (currentSelectTaskBean == null) {
|
||||
// liveDataToastMessage.postValue("还没有开启任何任务")
|
||||
// } else {
|
||||
// val links = realmOperateHelper.queryLink(
|
||||
// point = point,
|
||||
// )
|
||||
// if (links.isNotEmpty()) {
|
||||
// val l = links[0]
|
||||
// for (link in currentSelectTaskBean!!.hadLinkDvoList) {
|
||||
// if (link.linkPid == l.properties["linkPid"]) {
|
||||
// return@launch
|
||||
// }
|
||||
// }
|
||||
// val hadLinkDvoBean = HadLinkDvoBean(
|
||||
// taskId = currentSelectTaskBean!!.id,
|
||||
// linkPid = l.properties["linkPid"]!!,
|
||||
// geometry = l.geometry,
|
||||
// linkStatus = 2
|
||||
// )
|
||||
// currentSelectTaskBean!!.hadLinkDvoList.add(
|
||||
// hadLinkDvoBean
|
||||
// )
|
||||
// val realm = Realm.getDefaultInstance()
|
||||
// realm.executeTransaction { r ->
|
||||
// r.copyToRealmOrUpdate(hadLinkDvoBean)
|
||||
// r.copyToRealmOrUpdate(currentSelectTaskBean!!)
|
||||
// }
|
||||
// //根据Link数据查询对应数据上要素,对要素进行显示重置
|
||||
// l.properties["linkPid"]?.let {
|
||||
// realmOperateHelper.queryLinkToMutableRenderEntityList(it)
|
||||
// ?.forEach { renderEntity ->
|
||||
// if (renderEntity.enable != 1) {
|
||||
// renderEntity.enable = 1
|
||||
// realm.executeTransaction { r ->
|
||||
// r.copyToRealmOrUpdate(renderEntity)
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// liveDataTaskLinks.postValue(currentSelectTaskBean!!.hadLinkDvoList)
|
||||
// mapController.lineHandler.addTaskLink(hadLinkDvoBean)
|
||||
// mapController.layerManagerHandler.updateOMDBVectorTileLayer()
|
||||
// mapController.mMapView.vtmMap.updateMap(true)
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// })
|
||||
// } else {
|
||||
// mapController.mMapView.removeOnNIMapClickListener(TAG)
|
||||
// mapController.lineHandler.removeLine()
|
||||
// }
|
||||
}
|
||||
|
||||
/**
|
||||
@ -480,10 +548,10 @@ class TaskViewModel @Inject constructor(
|
||||
val realm = Realm.getDefaultInstance()
|
||||
|
||||
//重置数据为隐藏
|
||||
if(hadLinkDvoBean.linkStatus==2){
|
||||
if (hadLinkDvoBean.linkStatus == 2) {
|
||||
realmOperateHelper.queryLinkToMutableRenderEntityList(hadLinkDvoBean.linkPid)
|
||||
?.forEach { renderEntity ->
|
||||
if(renderEntity.enable==1){
|
||||
if (renderEntity.enable == 1) {
|
||||
renderEntity.enable = 0
|
||||
realm.executeTransaction { r ->
|
||||
r.copyToRealmOrUpdate(renderEntity)
|
||||
@ -505,9 +573,8 @@ class TaskViewModel @Inject constructor(
|
||||
.equalTo("linkPid", hadLinkDvoBean.linkPid).findFirst()
|
||||
?.deleteFromRealm()
|
||||
val markers = realm.where(QsRecordBean::class.java)
|
||||
.equalTo("linkId", hadLinkDvoBean.linkPid)
|
||||
.and().equalTo("taskId", hadLinkDvoBean.taskId)
|
||||
.findAll()
|
||||
.equalTo("linkId", hadLinkDvoBean.linkPid).and()
|
||||
.equalTo("taskId", hadLinkDvoBean.taskId).findAll()
|
||||
if (markers != null) {
|
||||
for (marker in markers) {
|
||||
mapController.markerHandle.removeQsRecordMark(marker)
|
||||
|
@ -832,11 +832,43 @@ class SignUtil {
|
||||
*/
|
||||
fun getElectronicEyeMoreInfo(renderEntity: RenderEntity): List<TwoItemAdapterItem> {
|
||||
val list = mutableListOf<TwoItemAdapterItem>()
|
||||
|
||||
|
||||
val dir = when (renderEntity.properties["direct"]) {
|
||||
"2" -> "顺方向"
|
||||
"3" -> "逆方向"
|
||||
else -> ""
|
||||
}
|
||||
if (dir != "") {
|
||||
list.add(
|
||||
TwoItemAdapterItem(
|
||||
title = "作用方向",
|
||||
text = dir
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
val kindUp = when (renderEntity.properties["kindUp"]) {
|
||||
"0" -> "未调查"
|
||||
"1" -> "限速电子眼"
|
||||
"4" -> "区间测速电子眼"
|
||||
"5" -> "交通信号灯电子眼"
|
||||
"6" -> "专用车道电子眼"
|
||||
"7" -> "违章电子眼"
|
||||
"11" -> "路况监控电子眼"
|
||||
"19" -> "交通标线电子眼"
|
||||
"20" -> "专用功能电子眼"
|
||||
else -> ""
|
||||
}
|
||||
|
||||
list.add(TwoItemAdapterItem(title = "电子眼类型大分类", text = kindUp))
|
||||
|
||||
val kindCode = renderEntity.properties["kind"]!!.toInt()
|
||||
val kind = TwoItemAdapterItem(
|
||||
title = "电子眼类型", text = getElectronicEyeKindType(kindCode)
|
||||
list.add(
|
||||
TwoItemAdapterItem(
|
||||
title = "电子眼类型", text = getElectronicEyeKindType(kindCode)
|
||||
)
|
||||
)
|
||||
list.add(kind)
|
||||
when (kindCode) {
|
||||
1, 2, 3, 4, 5, 6, 20, 21 -> {
|
||||
list.add(
|
||||
@ -870,6 +902,9 @@ class SignUtil {
|
||||
)
|
||||
)
|
||||
}
|
||||
list.add( TwoItemAdapterItem(
|
||||
title = "照射角度", text = "${renderEntity.properties["angle"]}"
|
||||
))
|
||||
return list
|
||||
}
|
||||
|
||||
@ -1125,12 +1160,11 @@ class SignUtil {
|
||||
)
|
||||
}
|
||||
DataCodeEnum.OMDB_LINK_SPEEDLIMIT.code -> {
|
||||
val direction = data.properties["direction"]
|
||||
var dir = ""
|
||||
if (direction == "2") {
|
||||
dir = "顺方向"
|
||||
} else if (direction == "3") {
|
||||
dir = "逆方向"
|
||||
|
||||
val dir = when (data.properties["direction"]) {
|
||||
"2" -> "顺方向"
|
||||
"3" -> "逆方向"
|
||||
else -> ""
|
||||
}
|
||||
if (dir != "") {
|
||||
list.add(
|
||||
|
@ -55,20 +55,22 @@ class SpeakMode(private val context: Context) : TextToSpeech.OnInitListener {
|
||||
fun setData(json: String?) {}
|
||||
override fun onInit(status: Int) {
|
||||
this.status = status
|
||||
val result = mTextToSpeech.setLanguage(Locale.CHINESE)
|
||||
if (result == TextToSpeech.LANG_MISSING_DATA
|
||||
|| result == TextToSpeech.LANG_NOT_SUPPORTED
|
||||
) {
|
||||
if (context != null) {
|
||||
val firstDialog = FirstDialog(context)
|
||||
firstDialog.setTitle("提示")
|
||||
firstDialog.setMessage("设备不支持语音播报,请先下载语音助手。")
|
||||
firstDialog.setConfirmListener { dialog, _ -> dialog.dismiss() }
|
||||
firstDialog.setNegativeView(View.GONE)
|
||||
firstDialog.show()
|
||||
if(mTextToSpeech != null) {
|
||||
val result = mTextToSpeech.setLanguage(Locale.CHINESE)
|
||||
if (result == TextToSpeech.LANG_MISSING_DATA
|
||||
|| result == TextToSpeech.LANG_NOT_SUPPORTED
|
||||
) {
|
||||
if (context != null) {
|
||||
val firstDialog = FirstDialog(context)
|
||||
firstDialog.setTitle("提示")
|
||||
firstDialog.setMessage("设备不支持语音播报,请先下载语音助手。")
|
||||
firstDialog.setConfirmListener { dialog, _ -> dialog.dismiss() }
|
||||
firstDialog.setNegativeView(View.GONE)
|
||||
firstDialog.show()
|
||||
}
|
||||
}
|
||||
Log.i("TextToSpeechDemo", status.toString())
|
||||
}
|
||||
Log.i("TextToSpeechDemo", status.toString())
|
||||
}
|
||||
|
||||
//读语音处理
|
||||
|
@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:state_selected="true" android:color="@color/default_blue_text_color" />
|
||||
<item android:color="@color/black" />
|
||||
<item android:color="#15141F" />
|
||||
</selector>
|
5
app/src/main/res/color/selector_gray_blue_color.xml
Normal file
5
app/src/main/res/color/selector_gray_blue_color.xml
Normal file
@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:state_selected="true" android:color="#2E38D2" />
|
||||
<item android:color="@color/gray_121" />
|
||||
</selector>
|
@ -0,0 +1,5 @@
|
||||
<vector android:height="24dp" android:tint="#E91E63"
|
||||
android:viewportHeight="24" android:viewportWidth="24"
|
||||
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<path android:fillColor="@android:color/white" android:pathData="M3,10h11v2H3V10zM3,8h11V6H3V8zM3,16h7v-2H3V16zM18.01,12.87l0.71,-0.71c0.39,-0.39 1.02,-0.39 1.41,0l0.71,0.71c0.39,0.39 0.39,1.02 0,1.41l-0.71,0.71L18.01,12.87zM17.3,13.58l-5.3,5.3V21h2.12l5.3,-5.3L17.3,13.58z"/>
|
||||
</vector>
|
@ -27,7 +27,7 @@
|
||||
android:layout_marginRight="30dp"
|
||||
android:layout_toRightOf="@id/task_head"
|
||||
android:text="linkPID"
|
||||
android:textColor="#15141F"
|
||||
android:textColor="@color/selector_black_blue_color"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<TextView
|
||||
@ -39,7 +39,7 @@
|
||||
android:layout_alignLeft="@id/task_link_pid"
|
||||
android:layout_marginTop="5dp"
|
||||
android:text="mesh"
|
||||
android:textColor="@color/gray_121"
|
||||
android:textColor="@color/selector_gray_blue_color"
|
||||
android:textSize="13sp" />
|
||||
|
||||
<ImageView
|
||||
|
@ -33,7 +33,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_toRightOf="@id/task_list_head"
|
||||
android:text="任务名称"
|
||||
android:textColor="#15141F"
|
||||
android:textColor="@color/selector_black_blue_color"
|
||||
android:textSize="14sp" />
|
||||
|
||||
|
||||
@ -47,7 +47,7 @@
|
||||
android:layout_marginTop="5dp"
|
||||
android:layout_marginBottom="5dp"
|
||||
android:text="版本号"
|
||||
android:textColor="@color/gray_121"
|
||||
android:textColor="@color/selector_gray_blue_color"
|
||||
android:textSize="13sp" />
|
||||
|
||||
<TextView
|
||||
@ -58,7 +58,7 @@
|
||||
android:layout_below="@id/task_data_version"
|
||||
android:layout_alignLeft="@id/task_name"
|
||||
android:text="省市名称"
|
||||
android:textColor="@color/gray_121"
|
||||
android:textColor="@color/selector_gray_blue_color"
|
||||
android:textSize="13sp" />
|
||||
|
||||
<com.navinfo.omqs.ui.widget.TextProgressButtonBar
|
||||
|
2
vtm
2
vtm
@ -1 +1 @@
|
||||
Subproject commit bd83adb7df464686b3f19e8a08aeef2cb49f5c17
|
||||
Subproject commit a35893dcb6f2ac2c38eb2cc11643725e2e91f1ff
|
Loading…
x
Reference in New Issue
Block a user