Merge branch 'master' of https://gitlab.navinfo.com/CollectVehicle/OneMapQS
Conflicts: collect-library/src/main/java/com/navinfo/collect/library/map/source/OMDBTileDataSource.java
This commit is contained in:
@@ -0,0 +1,103 @@
|
||||
package com.navinfo.omqs.ui.fragment.signMoreInfo
|
||||
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.widget.TextView
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import androidx.recyclerview.widget.RecyclerView.ViewHolder
|
||||
import com.navinfo.omqs.R
|
||||
import com.navinfo.omqs.databinding.AdapterLaneBoundaryBinding
|
||||
import com.navinfo.omqs.databinding.AdapterTwoItemBinding
|
||||
import com.navinfo.omqs.ui.other.BaseViewHolder
|
||||
import com.navinfo.omqs.ui.other.anim.ExpandableViewHoldersUtil
|
||||
import com.navinfo.omqs.ui.other.anim.ExpandableViewHoldersUtil.Expandable
|
||||
|
||||
|
||||
data class LaneBoundaryItem(
|
||||
val title: String, val text: String?, val itemList: MutableList<TwoItemAdapterItem>?
|
||||
)
|
||||
|
||||
class LaneBoundaryAdapter : RecyclerView.Adapter<ViewHolder>() {
|
||||
private val keepOne: ExpandableViewHoldersUtil.KeepOneH<ExpandViewHolder> =
|
||||
ExpandableViewHoldersUtil.KeepOneH()
|
||||
|
||||
private var dataList = mutableListOf<LaneBoundaryItem>()
|
||||
|
||||
class ExpandViewHolder(
|
||||
val viewBinding: AdapterLaneBoundaryBinding,
|
||||
private val keepOne: ExpandableViewHoldersUtil.KeepOneH<ExpandViewHolder>
|
||||
) : ViewHolder(viewBinding.root),
|
||||
View.OnClickListener, Expandable {
|
||||
|
||||
init {
|
||||
viewBinding.root.setOnClickListener(this)
|
||||
}
|
||||
|
||||
fun bind(pos: Int, laneBoundaryItem: LaneBoundaryItem) {
|
||||
viewBinding.contactName.text = laneBoundaryItem.title
|
||||
if (laneBoundaryItem.itemList != null) {
|
||||
for (item in laneBoundaryItem.itemList) {
|
||||
var view = LayoutInflater.from(viewBinding.root.context)
|
||||
.inflate(R.layout.adapter_two_item, null, false)
|
||||
view.findViewById<TextView>(R.id.title).text = item.title
|
||||
view.findViewById<TextView>(R.id.text).text = item.text
|
||||
viewBinding.infos.addView(view)
|
||||
}
|
||||
}
|
||||
keepOne.bind(this, pos)
|
||||
}
|
||||
|
||||
override fun onClick(v: View) {
|
||||
keepOne.toggle(this,viewBinding.expandIcon)
|
||||
}
|
||||
|
||||
override val expandView: View
|
||||
get() = viewBinding.infos
|
||||
|
||||
}
|
||||
|
||||
override
|
||||
|
||||
fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
|
||||
return if (viewType == 1) {
|
||||
val viewBinding = AdapterLaneBoundaryBinding.inflate(
|
||||
LayoutInflater.from(parent.context), parent, false
|
||||
)
|
||||
ExpandViewHolder(viewBinding, keepOne)
|
||||
} else {
|
||||
val viewBinding =
|
||||
AdapterTwoItemBinding.inflate(LayoutInflater.from(parent.context), parent, false)
|
||||
BaseViewHolder(viewBinding)
|
||||
}
|
||||
}
|
||||
|
||||
override fun getItemCount(): Int {
|
||||
return dataList.size
|
||||
}
|
||||
|
||||
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
|
||||
if (holder is ExpandViewHolder) {
|
||||
holder.bind(position, dataList[position])
|
||||
} else if (holder is BaseViewHolder) {
|
||||
val binding: AdapterTwoItemBinding = holder.viewBinding as AdapterTwoItemBinding
|
||||
val item = dataList[position]
|
||||
binding.title.text = item.title
|
||||
binding.text.text = item.text
|
||||
}
|
||||
}
|
||||
|
||||
override fun getItemViewType(position: Int): Int {
|
||||
return if (dataList[position].itemList != null) 1
|
||||
else 0
|
||||
}
|
||||
|
||||
fun refreshData(list: List<LaneBoundaryItem>) {
|
||||
dataList.clear()
|
||||
dataList.addAll(list)
|
||||
notifyDataSetChanged()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -55,15 +55,27 @@ class SignMoreInfoFragment : BaseFragment() {
|
||||
binding.signInfoRecyclerview.adapter = adapter
|
||||
adapter.refreshData(SignUtil.getRoadNameList(it))
|
||||
}
|
||||
//车道边界类型
|
||||
2013 -> {
|
||||
val adapter = LaneBoundaryAdapter()
|
||||
binding.signInfoRecyclerview.adapter = adapter
|
||||
adapter.refreshData(SignUtil.getLaneBoundaryTypeInfo(it))
|
||||
}
|
||||
//可变点限速
|
||||
2021 -> {
|
||||
val adapter = TwoItemAdapter()
|
||||
binding.signInfoRecyclerview.adapter = adapter
|
||||
adapter.refreshData(SignUtil.getChangeLimitSpeedInfo(it))
|
||||
}
|
||||
//常规点限速
|
||||
4002 -> {
|
||||
val adapter = ElectronicEyeInfoAdapter()
|
||||
val adapter = TwoItemAdapter()
|
||||
binding.signInfoRecyclerview.adapter = adapter
|
||||
adapter.refreshData(SignUtil.getSpeedLimitMoreInfoText(it))
|
||||
}
|
||||
//条件点限速
|
||||
4003 -> {
|
||||
val adapter = ElectronicEyeInfoAdapter()
|
||||
val adapter = TwoItemAdapter()
|
||||
binding.signInfoRecyclerview.adapter = adapter
|
||||
adapter.refreshData(SignUtil.getConditionLimitMoreInfoText(it))
|
||||
}
|
||||
@@ -80,11 +92,14 @@ class SignMoreInfoFragment : BaseFragment() {
|
||||
binding.signInfoTitle.setCompoundDrawables(
|
||||
drawable, null, null, null
|
||||
)
|
||||
val adapter = ElectronicEyeInfoAdapter()
|
||||
val adapter = TwoItemAdapter()
|
||||
binding.signInfoRecyclerview.adapter = adapter
|
||||
adapter.refreshData(SignUtil.getElectronicEyeMoreInfo(it))
|
||||
}
|
||||
|
||||
else -> {
|
||||
val adapter = TwoItemAdapter()
|
||||
binding.signInfoRecyclerview.adapter = adapter
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -2,27 +2,26 @@ package com.navinfo.omqs.ui.fragment.signMoreInfo
|
||||
|
||||
import android.view.LayoutInflater
|
||||
import android.view.ViewGroup
|
||||
import com.navinfo.omqs.R
|
||||
import com.navinfo.omqs.databinding.AdapterElectronicEyeBinding
|
||||
import com.navinfo.omqs.databinding.AdapterTwoItemBinding
|
||||
import com.navinfo.omqs.ui.other.BaseRecyclerViewAdapter
|
||||
import com.navinfo.omqs.ui.other.BaseViewHolder
|
||||
|
||||
data class ElectronicEyeMoreInfoAdapterItem(
|
||||
data class TwoItemAdapterItem(
|
||||
val title: String,
|
||||
val text: String
|
||||
)
|
||||
|
||||
class ElectronicEyeInfoAdapter : BaseRecyclerViewAdapter<ElectronicEyeMoreInfoAdapterItem>() {
|
||||
class TwoItemAdapter : BaseRecyclerViewAdapter<TwoItemAdapterItem>() {
|
||||
|
||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): BaseViewHolder {
|
||||
val viewBinding =
|
||||
AdapterElectronicEyeBinding.inflate(LayoutInflater.from(parent.context), parent, false)
|
||||
AdapterTwoItemBinding.inflate(LayoutInflater.from(parent.context), parent, false)
|
||||
return BaseViewHolder(viewBinding)
|
||||
}
|
||||
|
||||
override fun onBindViewHolder(holder: BaseViewHolder, position: Int) {
|
||||
val binding: AdapterElectronicEyeBinding =
|
||||
holder.viewBinding as AdapterElectronicEyeBinding
|
||||
val binding: AdapterTwoItemBinding =
|
||||
holder.viewBinding as AdapterTwoItemBinding
|
||||
val item = data[position]
|
||||
binding.title.text = item.title
|
||||
binding.text.text = item.text
|
||||
@@ -1,11 +1,8 @@
|
||||
package com.navinfo.omqs.ui.fragment.tasklink
|
||||
|
||||
import android.os.Build
|
||||
import android.view.LayoutInflater
|
||||
import android.view.ViewGroup
|
||||
import androidx.annotation.RequiresApi
|
||||
import com.navinfo.omqs.R
|
||||
import com.navinfo.omqs.databinding.AdapterElectronicEyeBinding
|
||||
import com.navinfo.omqs.databinding.AdapterTaskLinkInfoBinding
|
||||
import com.navinfo.omqs.ui.other.BaseRecyclerViewAdapter
|
||||
import com.navinfo.omqs.ui.other.BaseViewHolder
|
||||
|
||||
@@ -180,10 +180,10 @@ class TaskListAdapter(
|
||||
binding.taskUploadBtn.visibility = View.INVISIBLE
|
||||
}
|
||||
if (taskBean.syncStatus == FileUploadStatus.DONE) {
|
||||
binding.taskUploadBtn.setProgress(0)
|
||||
// binding.taskUploadBtn.setProgress(0)
|
||||
binding.taskUploadBtn.setBackgroundColor(binding.root.resources.getColor(R.color.ripple_end_color))
|
||||
} else {
|
||||
binding.taskUploadBtn.setProgress(100)
|
||||
// binding.taskUploadBtn.setProgress(100)
|
||||
binding.taskUploadBtn.setBackgroundColor(Color.parseColor("#888FB3"))
|
||||
}
|
||||
binding.taskDownloadBtn.tag = position
|
||||
@@ -301,7 +301,7 @@ class TaskListAdapter(
|
||||
binding.taskDownloadBtn.setTextColor(Color.WHITE)
|
||||
}
|
||||
|
||||
if (taskBean.fileSize > 0L) {
|
||||
if (taskBean.fileSize > 0L && taskBean.status != FileDownloadStatus.DONE) {
|
||||
val progress = (taskBean.currentSize * 100 / taskBean.fileSize).toInt()
|
||||
binding.taskProgressText.text =
|
||||
"$progress%"
|
||||
|
||||
@@ -5,7 +5,6 @@ import android.content.SharedPreferences
|
||||
import android.content.SharedPreferences.OnSharedPreferenceChangeListener
|
||||
import android.os.Build
|
||||
import android.view.View
|
||||
import android.widget.Toast
|
||||
import androidx.lifecycle.MutableLiveData
|
||||
import androidx.lifecycle.ViewModel
|
||||
import androidx.lifecycle.viewModelScope
|
||||
@@ -19,7 +18,6 @@ import com.navinfo.collect.library.map.OnGeoPointClickListener
|
||||
import com.navinfo.collect.library.utils.GeometryTools
|
||||
import com.navinfo.omqs.Constant
|
||||
import com.navinfo.omqs.db.RealmOperateHelper
|
||||
import com.navinfo.omqs.http.NetResult
|
||||
import com.navinfo.omqs.http.NetworkService
|
||||
import com.navinfo.omqs.tools.FileManager
|
||||
import com.navinfo.omqs.ui.dialog.FirstDialog
|
||||
@@ -27,7 +25,6 @@ import com.navinfo.omqs.util.DateTimeUtil
|
||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||
import io.realm.Realm
|
||||
import kotlinx.coroutines.*
|
||||
import kotlinx.coroutines.flow.collectLatest
|
||||
import org.oscim.core.GeoPoint
|
||||
import javax.inject.Inject
|
||||
|
||||
@@ -144,6 +141,10 @@ class TaskViewModel @Inject constructor(
|
||||
|
||||
liveDataTaskLinks.value = taskBean.hadLinkDvoList
|
||||
showTaskLinks(taskBean)
|
||||
com.navinfo.collect.library.system.Constant.TASK_ID = taskBean.id
|
||||
mapController.layerManagerHandler.omdbLayersClear()
|
||||
mapController.mMapView.updateMap(true)
|
||||
|
||||
}
|
||||
|
||||
private fun showTaskLinks(taskBean: TaskBean) {
|
||||
@@ -475,8 +476,8 @@ class TaskViewModel @Inject constructor(
|
||||
.equalTo("linkId", hadLinkDvoBean.linkPid)
|
||||
.and().equalTo("taskId", hadLinkDvoBean.taskId)
|
||||
.findAll()
|
||||
if(markers != null){
|
||||
for(marker in markers){
|
||||
if (markers != null) {
|
||||
for (marker in markers) {
|
||||
mapController.markerHandle.removeQsRecordMark(marker)
|
||||
}
|
||||
markers.deleteAllFromRealm()
|
||||
|
||||
Reference in New Issue
Block a user