修改bug

This commit is contained in:
squallzhjch 2023-08-25 09:28:04 +08:00
parent 5b2fcbddd9
commit f4495ea202
15 changed files with 115 additions and 49 deletions

View File

@ -524,7 +524,7 @@ class MainActivity : BaseActivity() {
/** /**
* 开始测量 * 开始测量
*/ */
private fun measuringToolOn() { fun measuringToolOn() {
val root = binding.mainActivityMeasuringTool.root val root = binding.mainActivityMeasuringTool.root
val valueView = root.findViewById<TextView>(R.id.measuring_tool_value) val valueView = root.findViewById<TextView>(R.id.measuring_tool_value)
val unitView = root.findViewById<TextView>(R.id.measuring_tool_value_unit) val unitView = root.findViewById<TextView>(R.id.measuring_tool_value_unit)
@ -673,12 +673,6 @@ class MainActivity : BaseActivity() {
viewModel.onClickMenu() viewModel.onClickMenu()
} }
/**
* 点击测速
*/
fun onClickCalcDistance() {
measuringToolOn()
}
/** /**
* 点击轨迹 * 点击轨迹

View File

@ -8,7 +8,6 @@ import android.graphics.drawable.AnimationDrawable
import android.graphics.drawable.BitmapDrawable import android.graphics.drawable.BitmapDrawable
import android.os.Build import android.os.Build
import android.os.Bundle import android.os.Bundle
import android.provider.ContactsContract.Data
import android.text.TextUtils import android.text.TextUtils
import android.util.Log import android.util.Log
import android.view.Gravity import android.view.Gravity
@ -53,11 +52,11 @@ import com.navinfo.omqs.util.SpeakMode
import dagger.hilt.android.lifecycle.HiltViewModel import dagger.hilt.android.lifecycle.HiltViewModel
import io.realm.Realm import io.realm.Realm
import io.realm.RealmSet import io.realm.RealmSet
import io.realm.kotlin.where
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.flow.collectLatest import kotlinx.coroutines.flow.collectLatest
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext import kotlinx.coroutines.withContext
import org.locationtech.jts.geom.Geometry
import org.oscim.core.GeoPoint import org.oscim.core.GeoPoint
import org.oscim.core.MapPosition import org.oscim.core.MapPosition
import org.oscim.map.Map import org.oscim.map.Map
@ -905,6 +904,19 @@ class MainViewModel @Inject constructor(
fun showSignMoreInfo(data: RenderEntity) { fun showSignMoreInfo(data: RenderEntity) {
liveDataSignMoreInfo.value = data liveDataSignMoreInfo.value = data
if (data.wkt != null) {
mapController.markerHandle.removeMarker("moreInfo")
mapController.lineHandler.removeLine()
when (data.wkt!!.geometryType) {
Geometry.TYPENAME_POINT -> {
val geoPoint = GeometryTools.createGeoPoint(data.wkt!!.toText())
mapController.markerHandle.addMarker(geoPoint, "moreInfo")
}
Geometry.TYPENAME_LINESTRING -> {
mapController.lineHandler.showLine(data.wkt!!.toText())
}
}
}
} }
fun sendServerCommand( fun sendServerCommand(

View File

@ -22,6 +22,7 @@ import com.navinfo.omqs.Constant
import com.navinfo.omqs.R import com.navinfo.omqs.R
import com.navinfo.omqs.bean.SignBean import com.navinfo.omqs.bean.SignBean
import com.navinfo.omqs.databinding.FragmentEvaluationResultBinding import com.navinfo.omqs.databinding.FragmentEvaluationResultBinding
import com.navinfo.omqs.ui.activity.map.MainActivity
import com.navinfo.omqs.ui.dialog.FirstDialog import com.navinfo.omqs.ui.dialog.FirstDialog
import com.navinfo.omqs.ui.fragment.BaseFragment import com.navinfo.omqs.ui.fragment.BaseFragment
import com.navinfo.omqs.ui.other.shareViewModels import com.navinfo.omqs.ui.other.shareViewModels
@ -101,6 +102,10 @@ class EvaluationResultFragment : BaseFragment(), View.OnClickListener {
mDialog.show() mDialog.show()
} }
//测距按钮
binding.evaluationBarMeasuring.setOnClickListener {
(activity as MainActivity).measuringToolOn()
}
//保存事件 //保存事件
binding.evaluationBarSave.setOnClickListener { binding.evaluationBarSave.setOnClickListener {
viewModel.saveData() viewModel.saveData()
@ -194,12 +199,16 @@ class EvaluationResultFragment : BaseFragment(), View.OnClickListener {
viewModel.liveDataToastMessage.observe(viewLifecycleOwner) { viewModel.liveDataToastMessage.observe(viewLifecycleOwner) {
Toast.makeText(requireContext(), it, Toast.LENGTH_SHORT).show() Toast.makeText(requireContext(), it, Toast.LENGTH_SHORT).show()
} }
viewModel.liveDataQsRecordBean.observe(viewLifecycleOwner){
binding.evaluationId.text = it.id
}
} }
override fun onDestroyView() { override fun onDestroyView() {
activity?.run { activity?.run {
findNavController(R.id.main_activity_middle_fragment).navigateUp() findNavController(R.id.main_activity_middle_fragment).navigateUp()
(this as MainActivity).measuringToolOff()
} }
super.onDestroyView() super.onDestroyView()
} }
@ -304,6 +313,7 @@ class EvaluationResultFragment : BaseFragment(), View.OnClickListener {
return true return true
} }
private fun takePhoto() { private fun takePhoto() {
try { try {
val takePictureIntent = Intent(MediaStore.ACTION_IMAGE_CAPTURE) val takePictureIntent = Intent(MediaStore.ACTION_IMAGE_CAPTURE)

View File

@ -398,6 +398,9 @@ class EvaluationResultViewModel @Inject constructor(
} else if (taskBean.cause.isEmpty()) { } else if (taskBean.cause.isEmpty()) {
liveDataToastMessage.postValue("请选择初步分析原因!") liveDataToastMessage.postValue("请选择初步分析原因!")
return@launch return@launch
} else if (taskBean.linkId.isEmpty()) {
liveDataToastMessage.postValue("没有绑定到任何link请选择")
return@launch
} }
val realm = Realm.getDefaultInstance() val realm = Realm.getDefaultInstance()

View File

@ -10,6 +10,9 @@ import com.navinfo.omqs.ui.other.BaseViewHolder
class ItemAdapter(private var itemListener: ((Int, RenderEntity) -> Unit?)? = null) : class ItemAdapter(private var itemListener: ((Int, RenderEntity) -> Unit?)? = null) :
BaseRecyclerViewAdapter<RenderEntity>() { BaseRecyclerViewAdapter<RenderEntity>() {
var selectPosition = -1
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): BaseViewHolder { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): BaseViewHolder {
val viewBinding = val viewBinding =
AdapterItemBinding.inflate(LayoutInflater.from(parent.context), parent, false) AdapterItemBinding.inflate(LayoutInflater.from(parent.context), parent, false)
@ -19,9 +22,15 @@ class ItemAdapter(private var itemListener: ((Int, RenderEntity) -> Unit?)? = nu
override fun onBindViewHolder(holder: BaseViewHolder, position: Int) { override fun onBindViewHolder(holder: BaseViewHolder, position: Int) {
val binding = holder.viewBinding as AdapterItemBinding val binding = holder.viewBinding as AdapterItemBinding
var renderEntity = data[position] var renderEntity = data[position]
binding.root.isSelected = selectPosition == position
binding.name.text = DataCodeEnum.findTableNameByCode(renderEntity.code) binding.name.text = DataCodeEnum.findTableNameByCode(renderEntity.code)
binding.root.setOnClickListener { binding.root.setOnClickListener {
if (selectPosition != position) {
notifyItemChanged(selectPosition)
selectPosition = position
notifyItemChanged(position)
}
if (itemListener != null) { if (itemListener != null) {
itemListener!!.invoke(position, renderEntity) itemListener!!.invoke(position, renderEntity)
} }

View File

@ -38,15 +38,22 @@ class SignMoreInfoFragment : BaseFragment() {
binding.signInfoRecyclerview.layoutManager = layoutManager binding.signInfoRecyclerview.layoutManager = layoutManager
viewModel.liveDataSignMoreInfo.observe(viewLifecycleOwner) { viewModel.liveDataSignMoreInfo.observe(viewLifecycleOwner) {
binding.signInfoTitle.text = it.name binding.signInfoTitle.text = it.name
val drawable = resources.getDrawable(R.drawable.icon_main_moreinfo_text_left, null); val drawableLeft = resources.getDrawable(R.drawable.icon_main_moreinfo_text_left, null);
drawable.setBounds( val drawableRight = resources.getDrawable(R.drawable.baseline_edit_note_48, null);
drawableLeft.setBounds(
0, 0,
0, 0,
drawable.minimumWidth, drawableLeft.minimumWidth,
drawable.minimumHeight drawableLeft.minimumHeight
);//必须设置图片大小,否则不显示 )//必须设置图片大小,否则不显示
drawableRight.setBounds(
0,
0,
drawableRight.minimumWidth,
drawableRight.minimumHeight
)
binding.signInfoTitle.setCompoundDrawables( binding.signInfoTitle.setCompoundDrawables(
drawable, null, null, null drawableLeft, null, drawableRight, null
) )
when (it.code) { when (it.code) {
@ -62,7 +69,7 @@ class SignMoreInfoFragment : BaseFragment() {
binding.signInfoRecyclerview.adapter = adapter binding.signInfoRecyclerview.adapter = adapter
adapter.refreshData(SignUtil.getLaneBoundaryTypeInfo(it)) adapter.refreshData(SignUtil.getLaneBoundaryTypeInfo(it))
} }
DataCodeEnum.OMDB_INTERSECTION.code->{ DataCodeEnum.OMDB_INTERSECTION.code -> {
val adapter = LaneBoundaryAdapter() val adapter = LaneBoundaryAdapter()
binding.signInfoRecyclerview.adapter = adapter binding.signInfoRecyclerview.adapter = adapter
adapter.refreshData(SignUtil.getIntersectionInfo(it)) adapter.refreshData(SignUtil.getIntersectionInfo(it))
@ -77,7 +84,7 @@ class SignMoreInfoFragment : BaseFragment() {
drawable.minimumHeight drawable.minimumHeight
);//必须设置图片大小,否则不显示 );//必须设置图片大小,否则不显示
binding.signInfoTitle.setCompoundDrawables( binding.signInfoTitle.setCompoundDrawables(
drawable, null, null, null drawable, null, drawableRight, null
) )
val adapter = TwoItemAdapter() val adapter = TwoItemAdapter()
binding.signInfoRecyclerview.adapter = adapter binding.signInfoRecyclerview.adapter = adapter

View File

@ -2,6 +2,7 @@ package com.navinfo.omqs.ui.fragment.tasklist
import android.util.Log import android.util.Log
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import com.navinfo.collect.library.data.entity.HadLinkDvoBean import com.navinfo.collect.library.data.entity.HadLinkDvoBean
import com.navinfo.omqs.R import com.navinfo.omqs.R
@ -61,12 +62,11 @@ class TaskAdapter(
callback.itemOnClick(bean) callback.itemOnClick(bean)
} }
} }
if (bean.reason != "") { if (bean.reason == "") {
binding.taskEdit.setImageDrawable(binding.root.context.getDrawable(R.drawable.baseline_edit_note_48_select_red)) binding.taskBadge.visibility = View.GONE
} else { } else {
binding.taskEdit.setImageDrawable(binding.root.context.getDrawable(R.drawable.selector_task_link_edit_icon)) binding.taskBadge.visibility = View.VISIBLE
} }
binding.taskEdit.isSelected = bean.reason != ""
binding.taskEdit.setOnClickListener { binding.taskEdit.setOnClickListener {
callback.editOnClick(position, bean) callback.editOnClick(position, bean)
} }
@ -84,7 +84,7 @@ class TaskAdapter(
notifyItemChanged(selectPosition) notifyItemChanged(selectPosition)
selectPosition = i selectPosition = i
notifyItemChanged(i) notifyItemChanged(i)
if(callback != null){ if (callback != null) {
callback.scrollPosition(i) callback.scrollPosition(i)
} }
break break

View File

@ -1,5 +0,0 @@
<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>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="@color/red" />
</shape>

View File

@ -141,7 +141,7 @@
<ImageButton <ImageButton
android:id="@+id/main_activity_calc_distance" android:id="@+id/main_activity_calc_distance"
style="@style/top_right_drawer_btns_style" style="@style/top_right_drawer_btns_style"
android:onClick="@{()->mainActivity.onClickCalcDistance()}" android:onClick="@{()->mainActivity.measuringToolOn()}"
android:src="@drawable/icon_calc_disance" /> android:src="@drawable/icon_calc_disance" />
<ImageButton <ImageButton

View File

@ -3,6 +3,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center" android:layout_gravity="center"
android:background="@drawable/selector_adapter_item_select_bg"
android:padding="5dp"> android:padding="5dp">
<TextView <TextView
@ -10,6 +11,6 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="name" android:text="name"
android:textColor="@color/black" android:textColor="@color/selector_black_blue_color"
android:textSize="16sp" /> android:textSize="16sp" />
</FrameLayout> </FrameLayout>

View File

@ -49,4 +49,15 @@
android:layout_alignParentRight="true" android:layout_alignParentRight="true"
android:layout_centerVertical="true" android:layout_centerVertical="true"
android:src="@drawable/selector_task_link_edit_icon" /> android:src="@drawable/selector_task_link_edit_icon" />
<ImageView
android:id="@+id/task_badge"
android:layout_width="8dp"
android:layout_height="8dp"
android:layout_marginTop="10dp"
android:layout_marginRight="4dp"
android:visibility="gone"
android:layout_alignTop="@id/task_edit"
android:layout_alignRight="@id/task_edit"
android:background="@drawable/shape_oval_red_bg" />
</RelativeLayout> </RelativeLayout>

View File

@ -44,29 +44,27 @@
app:layout_constraintRight_toRightOf="parent" app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />
<ImageButton
android:id="@+id/evaluation_bar_cancel"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_marginRight="10dp"
android:background="@color/transparent"
android:src="@drawable/icon_fragment_close"
android:visibility="gone"
app:layout_constraintRight_toLeftOf="@id/evaluation_bar_save"
app:layout_constraintTop_toTopOf="@id/evaluation_bar_save" />
<ImageButton <ImageButton
android:id="@+id/evaluation_bar_delete" android:id="@+id/evaluation_bar_delete"
android:layout_width="40dp" android:layout_width="40dp"
android:layout_height="40dp" android:layout_height="40dp"
android:layout_centerInParent="true"
android:layout_marginRight="5dp" android:layout_marginRight="5dp"
android:background="@color/transparent" android:background="@color/transparent"
android:src="@drawable/icon_delete" android:src="@drawable/icon_delete"
app:layout_constraintRight_toLeftOf="@id/evaluation_bar_cancel" app:layout_constraintRight_toLeftOf="@id/evaluation_bar_save"
app:layout_constraintTop_toTopOf="@id/evaluation_bar_save" /> app:layout_constraintTop_toTopOf="@id/evaluation_bar_save"
app:layout_constraintBottom_toBottomOf="@id/evaluation_bar_save" />
<ImageButton
android:id="@+id/evaluation_bar_measuring"
android:layout_width="40dp"
android:layout_height="40dp"
android:background="@color/transparent"
android:src="@drawable/measuring_tool_distance"
app:layout_constraintRight_toLeftOf="@id/evaluation_bar_delete"
app:layout_constraintTop_toTopOf="@id/evaluation_bar_save"
app:layout_constraintBottom_toBottomOf="@id/evaluation_bar_save"/>
<androidx.core.widget.NestedScrollView <androidx.core.widget.NestedScrollView
android:layout_width="0dp" android:layout_width="0dp"
@ -86,6 +84,23 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_marginBottom="7dp" android:layout_marginBottom="7dp"
android:orientation="vertical"> android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="7dp"
android:orientation="horizontal">
<TextView
style="@style/evaluation_fragment_title_text_style"
android:text="ID" />
<TextView
android:id="@+id/evaluation_id"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"

View File

@ -10,10 +10,12 @@
<TextView <TextView
android:id="@+id/sign_info_title" android:id="@+id/sign_info_title"
android:layout_width="wrap_content" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:drawableLeft="@drawable/icon_main_moreinfo_text_left" android:layout_toLeftOf="@id/sign_info_cancel"
android:drawablePadding="4dp" android:drawablePadding="4dp"
android:gravity="center_vertical"
android:layout_marginRight="5dp"
android:text="电子眼" android:text="电子眼"
android:textColor="@color/orange" /> android:textColor="@color/orange" />

View File

@ -67,7 +67,7 @@ class MarkHandler(context: AppCompatActivity, mapView: NIMapView) :
//新增marker图标样式 //新增marker图标样式
val mDefaultBitmap = val mDefaultBitmap =
AndroidBitmap(BitmapFactory.decodeResource(context.resources, R.mipmap.marker)) AndroidBitmap(BitmapFactory.decodeResource(context.resources, R.mipmap.marker))
mDefaultBitmap.scaleTo(150, 150)
val markerSymbol = MarkerSymbol( val markerSymbol = MarkerSymbol(
mDefaultBitmap, mDefaultBitmap,
MarkerSymbol.HotspotPlace.CENTER MarkerSymbol.HotspotPlace.CENTER