From 083a6fd57a6593b7c6068754afe691adfecf1217 Mon Sep 17 00:00:00 2001 From: squallzhjch Date: Fri, 16 Jun 2023 15:16:10 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E7=A6=BB=E7=BA=BF=E5=9C=B0?= =?UTF-8?q?=E5=9B=BEUI=EF=BC=8C=E4=BB=BB=E5=8A=A1=E5=88=97=E8=A1=A8UI?= =?UTF-8?q?=EF=BC=8C=E4=B8=AA=E4=BA=BA=E4=B8=AD=E5=BF=83UI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../OfflineMapDownloadScope.kt | 2 - .../http/taskdownload/TaskDownloadScope.kt | 1 - .../omqs/ui/activity/map/MainActivity.kt | 66 ++++-- .../omqs/ui/activity/map/MainViewModel.kt | 9 +- .../omqs/ui/activity/map/SignAdapter.kt | 47 +++- .../ui/fragment/console/ConsoleFragment.kt | 3 - .../EvaluationResultFragment.kt | 3 - .../EvaluationResultViewModel.kt | 11 - .../evaluationresult/PhenomenonFragment.kt | 1 - .../offlinemap/OfflineMapCityListAdapter.kt | 5 - .../personalcenter/PersonalCenterFragment.kt | 18 +- .../qsrecordlist/QsRecordListViewModel.kt | 1 - .../ui/fragment/tasklist/TaskListAdapter.kt | 4 - .../com/navinfo/omqs/ui/widget/SignUtil.kt | 24 +- .../icon_main_moreinfo_text_left.png | Bin 0 -> 498 bytes .../main_sign_moreinfo_bg.9.png | Bin 0 -> 5240 bytes .../res/drawable/shape_rect_black_8dp_bg.xml | 8 +- app/src/main/res/layout/activity_main.xml | 62 +++++- app/src/main/res/layout/adapter_sign.xml | 2 +- app/src/main/res/layout/adapter_task_list.xml | 1 - app/src/main/res/layout/console_off.xml | 1 - .../main/res/layout/fragment_offline_map.xml | 4 +- .../main/res/layout/fragment_task_manager.xml | 4 +- .../main/res/menu/personal_center_menu.xml | 24 +- app/src/main/res/values/colors.xml | 2 +- .../src/main/assets/editormarker.xml | 206 +++++++++--------- .../src/main/assets/omdb/icon_4006_0.svg | 2 +- .../src/main/assets/omdb/icon_4022_0.svg | 163 +------------- .../src/main/assets/omdb/icon_arrow_right.svg | 41 +--- .../library/map/handler/MarkHandler.kt | 1 - .../library/map/layers/MyItemizedLayer.java | 1 - 31 files changed, 312 insertions(+), 405 deletions(-) create mode 100644 app/src/main/res/drawable-xxhdpi/icon_main_moreinfo_text_left.png create mode 100644 app/src/main/res/drawable-xxhdpi/main_sign_moreinfo_bg.9.png diff --git a/app/src/main/java/com/navinfo/omqs/http/offlinemapdownload/OfflineMapDownloadScope.kt b/app/src/main/java/com/navinfo/omqs/http/offlinemapdownload/OfflineMapDownloadScope.kt index 03e5ed74..5a251f8c 100644 --- a/app/src/main/java/com/navinfo/omqs/http/offlinemapdownload/OfflineMapDownloadScope.kt +++ b/app/src/main/java/com/navinfo/omqs/http/offlinemapdownload/OfflineMapDownloadScope.kt @@ -149,11 +149,9 @@ class OfflineMapDownloadScope( } } - Log.e("jingo", "文件下载完成 ${cityBean.currentSize} == ${cityBean.fileSize}") if (cityBean.currentSize == cityBean.fileSize) { val res = fileTemp.renameTo(File("${Constant.OFFLINE_MAP_PATH}${cityBean.fileName}")) - Log.e("jingo", "文件下载完成 修改文件 $res") change(FileDownloadStatus.DONE) withContext(Dispatchers.Main) { downloadManager.mapController.layerManagerHandler.loadBaseMap() diff --git a/app/src/main/java/com/navinfo/omqs/http/taskdownload/TaskDownloadScope.kt b/app/src/main/java/com/navinfo/omqs/http/taskdownload/TaskDownloadScope.kt index caa5ecd2..e373cea0 100644 --- a/app/src/main/java/com/navinfo/omqs/http/taskdownload/TaskDownloadScope.kt +++ b/app/src/main/java/com/navinfo/omqs/http/taskdownload/TaskDownloadScope.kt @@ -188,7 +188,6 @@ class TaskDownloadScope( responseBody ?: throw IOException("jingo ResponseBody is null") if (startPosition == 0L) { taskBean.fileSize = responseBody.contentLength() - Log.e("jingo", "当前文件大小 ${taskBean.fileSize}") } change(FileDownloadStatus.LOADING) //写入文件 diff --git a/app/src/main/java/com/navinfo/omqs/ui/activity/map/MainActivity.kt b/app/src/main/java/com/navinfo/omqs/ui/activity/map/MainActivity.kt index 286bf347..12464cbf 100644 --- a/app/src/main/java/com/navinfo/omqs/ui/activity/map/MainActivity.kt +++ b/app/src/main/java/com/navinfo/omqs/ui/activity/map/MainActivity.kt @@ -23,6 +23,7 @@ import com.navinfo.collect.library.map.NIMapController import com.navinfo.omqs.Constant import com.navinfo.omqs.R import com.navinfo.omqs.bean.ImportConfig +import com.navinfo.omqs.bean.SignBean import com.navinfo.omqs.databinding.ActivityMainBinding import com.navinfo.omqs.http.offlinemapdownload.OfflineMapDownloadManager import com.navinfo.omqs.tools.LayerConfigUtils @@ -67,9 +68,7 @@ class MainActivity : BaseActivity() { registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result -> if (result.resultCode == Activity.RESULT_OK) { val data: Intent? = result.data - Log.e("jingo", "MainActivity someActivityResultLauncher RESULT_OK") } else { - Log.e("jingo", "MainActivity someActivityResultLauncher ${result.resultCode}") } } @@ -88,16 +87,44 @@ class MainActivity : BaseActivity() { * 提前显示要素看板 */ private val signAdapter by lazy { - SignAdapter { _, autoSave, signBean -> - rightController.currentDestination?.let { - if (it.id == R.id.RightEmptyFragment) { - val bundle = Bundle() - bundle.putParcelable("SignBean", signBean) - bundle.putBoolean("AutoSave", autoSave) - rightController.navigate(R.id.EvaluationResultFragment, bundle) + SignAdapter(object : OnSignAdapterClickListener { + override fun onItemClick(signBean: SignBean) { + rightController.currentDestination?.let { + if (it.id == R.id.RightEmptyFragment) { + val bundle = Bundle() + bundle.putParcelable("SignBean", signBean) + bundle.putBoolean("AutoSave", false) + rightController.navigate(R.id.EvaluationResultFragment, bundle) + } } } - } + + override fun onMoreInfoClick(selectTag: String, tag: String, signBean: SignBean) { + if (binding.mainActivitySignMoreInfoGroup.visibility != View.VISIBLE || selectTag != tag) { + binding.mainActivitySignMoreInfoGroup.visibility = View.VISIBLE + binding.mainActivitySignMoreInfoTitle.text = signBean.name + binding.mainActivitySignMoreInfoText1.text = signBean.bottomRightText + binding.mainActivitySignMoreInfoText2.text = signBean.moreText + } else { + binding.mainActivitySignMoreInfoGroup.visibility = View.GONE + } + } + + override fun onErrorClick(signBean: SignBean) { + rightController.currentDestination?.let { + if (it.id == R.id.RightEmptyFragment) { + val bundle = Bundle() + bundle.putParcelable("SignBean", signBean) + bundle.putBoolean("AutoSave", true) + rightController.navigate(R.id.EvaluationResultFragment, bundle) + } + } + } + + override fun onHideMoreInfoView() { + binding.mainActivitySignMoreInfoGroup.visibility = View.GONE + } + }) } /** @@ -150,11 +177,9 @@ class MainActivity : BaseActivity() { when (event?.action) { MotionEvent.ACTION_DOWN -> { voiceOnTouchStart()//Do Something - Log.e("qj", "voiceOnTouchStart") } MotionEvent.ACTION_UP -> { voiceOnTouchStop()//Do Something - Log.e("qj", "voiceOnTouchStop") } } v?.onTouchEvent(event) ?: true @@ -205,9 +230,9 @@ class MainActivity : BaseActivity() { } //监听地图中点变化 viewModel.liveDataCenterPoint.observe(this) { - Log.e("qj","${it.longitude}") - try{ - if(it!=null&&it.longitude!=null&&it.latitude!=null){ + Log.e("qj", "${it.longitude}") + try { + if (it != null && it.longitude != null && it.latitude != null) { binding.mainActivityGeometry.text = "经纬度:${ BigDecimal(it.longitude).setScale( 7, @@ -215,8 +240,8 @@ class MainActivity : BaseActivity() { ) },${BigDecimal(it.latitude).setScale(7, RoundingMode.HALF_UP)}" } - }catch (e:Exception){ - Log.e("qj","异常") + } catch (e: Exception) { + Log.e("qj", "异常 $e") } } @@ -248,7 +273,7 @@ class MainActivity : BaseActivity() { val view = this.layoutInflater.inflate(R.layout.dialog_view_edittext, null) val inputDialog = MaterialAlertDialogBuilder( this - ).setTitle("标记原因").setView(view) + ).setTitle("坐标定位").setView(view) var editText = view.findViewById(R.id.dialog_edittext) editText.hint = "请输入经纬度例如:\n116.1234567,39.1234567\n116.1234567 39.1234567" inputDialog.setNegativeButton("取消") { dialog, _ -> @@ -260,7 +285,7 @@ class MainActivity : BaseActivity() { val parts = editText.text.toString().split("[,,\\s]".toRegex()) if (parts.size == 2) { val x = parts[0].toDouble() - val y = parts[0].toDouble() + val y = parts[1].toDouble() mapController.animationHandler.animationByLatLon(y, x) } else { Toast.makeText(this, "输入格式不正确", Toast.LENGTH_SHORT).show() @@ -474,10 +499,11 @@ class MainActivity : BaseActivity() { .replace(R.id.main_activity_left_fragment, leftFragment!!).commit() } } + /** * 打开离线地图 */ - fun onClickOfflineMapFragment(){ + fun onClickOfflineMapFragment() { if (leftFragment !is OfflineMapFragment) { if (leftFragment == null) { binding.mainActivityBottomSheetGroup.visibility = View.VISIBLE diff --git a/app/src/main/java/com/navinfo/omqs/ui/activity/map/MainViewModel.kt b/app/src/main/java/com/navinfo/omqs/ui/activity/map/MainViewModel.kt index c8f575ca..78e29e3f 100644 --- a/app/src/main/java/com/navinfo/omqs/ui/activity/map/MainViewModel.kt +++ b/app/src/main/java/com/navinfo/omqs/ui/activity/map/MainViewModel.kt @@ -183,11 +183,10 @@ class MainViewModel @Inject constructor( location.tiley = y } } - Log.e("jingo", "定位点插入 ${location.longitude}") location.groupId = uuid try { location.timeStamp = DateTimeUtil.getTime(location.time).toString() - }catch (e: Exception){ + } catch (e: Exception) { } traceDataBase.niLocationDao.insert(location) @@ -244,7 +243,8 @@ class MainViewModel @Inject constructor( geometry = element.geometry, name = SignUtil.getSignNameText(element), bottomRightText = SignUtil.getSignBottomRightText(element), - elementCode = element.code + elementCode = element.code, + moreText = SignUtil.getMoreInfoText(element) ) when (element.code) { @@ -292,9 +292,8 @@ class MainViewModel @Inject constructor( speakMode?.speakText(speechText) } linkIdCache = linkId ?: "" - Log.e("jingo", "自动捕捉数据 共${signList.size}条") } - }else{ + } else { mapController.lineHandler.removeLine() linkIdCache = "" } diff --git a/app/src/main/java/com/navinfo/omqs/ui/activity/map/SignAdapter.kt b/app/src/main/java/com/navinfo/omqs/ui/activity/map/SignAdapter.kt index b5072080..3bb31f38 100644 --- a/app/src/main/java/com/navinfo/omqs/ui/activity/map/SignAdapter.kt +++ b/app/src/main/java/com/navinfo/omqs/ui/activity/map/SignAdapter.kt @@ -1,6 +1,7 @@ package com.navinfo.omqs.ui.activity.map import android.view.LayoutInflater +import android.view.View import android.view.ViewGroup import com.navinfo.omqs.R import com.navinfo.omqs.bean.SignBean @@ -8,8 +9,19 @@ import com.navinfo.omqs.databinding.AdapterSignBinding import com.navinfo.omqs.ui.other.BaseRecyclerViewAdapter import com.navinfo.omqs.ui.other.BaseViewHolder -class SignAdapter(private var itemListener: ((Int, Boolean, SignBean) -> Unit?)? = null) : +interface OnSignAdapterClickListener { + fun onItemClick(signBean: SignBean) + fun onMoreInfoClick(selectTag: String, tag: String, signBean: SignBean) + fun onErrorClick(signBean: SignBean) + fun onHideMoreInfoView() +} + +class SignAdapter(private var listener: OnSignAdapterClickListener?) : BaseRecyclerViewAdapter() { + /** + * 选中的详细信息按钮的tag标签 + */ + private var selectMoreInfoTag: String = "" override fun getItemViewRes(position: Int): Int { return R.layout.adapter_sign } @@ -22,17 +34,40 @@ class SignAdapter(private var itemListener: ((Int, Boolean, SignBean) -> Unit?)? override fun onBindViewHolder(holder: BaseViewHolder, position: Int) { val bd = holder.viewBinding as AdapterSignBinding + val item = data[position] - if (item.iconId != 0) - bd.signMainIconBg.setImageResource(item.iconId) + if (item.iconId != 0) bd.signMainIconBg.setImageResource(item.iconId) bd.signMainIcon.text = item.iconText bd.signBottomText.text = item.name - bd.signMainFastError.setOnClickListener{ - itemListener?.invoke(position, true,item) + holder.tag = item.name + position + //点击错误按钮 + bd.signMainFastError.setOnClickListener { + listener?.onErrorClick(item) } bd.signBottomRightText.text = item.bottomRightText + bd.root.setOnClickListener { - itemListener?.invoke(position, false,item) + listener?.onItemClick(item) } + if (item.moreText.isNotEmpty()) { + bd.signMainInfo.visibility = View.VISIBLE + //点击更多信息按钮 + bd.signMainInfo.setOnClickListener { + listener?.onMoreInfoClick(selectMoreInfoTag, holder.tag, item) + selectMoreInfoTag = holder.tag + } + } else bd.signMainInfo.visibility = View.GONE + } + + override fun refreshData(newData: List) { + super.refreshData(newData) + for (i in newData.indices) { + if (selectMoreInfoTag == newData[i].name + i) { + return + } + } + listener?.onHideMoreInfoView() + } + } \ No newline at end of file diff --git a/app/src/main/java/com/navinfo/omqs/ui/fragment/console/ConsoleFragment.kt b/app/src/main/java/com/navinfo/omqs/ui/fragment/console/ConsoleFragment.kt index c882bb55..966f5666 100644 --- a/app/src/main/java/com/navinfo/omqs/ui/fragment/console/ConsoleFragment.kt +++ b/app/src/main/java/com/navinfo/omqs/ui/fragment/console/ConsoleFragment.kt @@ -64,14 +64,12 @@ class ConsoleFragment : BaseFragment(), OnClickListener { override fun onTransitionStart(transition: androidx.transition.Transition) { sceneFlag = true if (mFragment != null) { - Log.e("jingo", "动画开始B mFragment 不为null") childFragmentManager.beginTransaction().remove(mFragment!!).commit() mFragment = null } } override fun onTransitionEnd(transition: androidx.transition.Transition) { - Log.e("jingo", "动画A结束") initOnClickListener() } @@ -89,7 +87,6 @@ class ConsoleFragment : BaseFragment(), OnClickListener { override fun onTransitionStart(transition: androidx.transition.Transition) { sceneFlag = false if (mFragment != null) { - Log.e("jingo", "动画开始A mFragment 不为null") childFragmentManager.beginTransaction().replace(fragmentId, mFragment!!) .commit() } diff --git a/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/EvaluationResultFragment.kt b/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/EvaluationResultFragment.kt index d2f0ccae..87cf037d 100644 --- a/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/EvaluationResultFragment.kt +++ b/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/EvaluationResultFragment.kt @@ -98,17 +98,14 @@ class EvaluationResultFragment : BaseFragment(), View.OnClickListener { when (event?.action) { MotionEvent.ACTION_DOWN -> { voiceOnTouchStart()//Do Something - Log.e("qj", "voiceOnTouchStart") } MotionEvent.ACTION_UP -> { voiceOnTouchStop()//Do Something - Log.e("qj", "ACTION_UP") } MotionEvent.ACTION_CANCEL -> { voiceOnTouchStop()//Do Something - Log.e("qj", "ACTION_CANCEL") } } true diff --git a/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/EvaluationResultViewModel.kt b/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/EvaluationResultViewModel.kt index 5684e00d..301254cb 100644 --- a/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/EvaluationResultViewModel.kt +++ b/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/EvaluationResultViewModel.kt @@ -97,7 +97,6 @@ class EvaluationResultViewModel @Inject constructor( init { liveDataQsRecordBean.value = QsRecordBean(id = UUID.randomUUID().toString()) - Log.e("jingo", "EvaluationResultViewModel 创建了 ${hashCode()}") viewModelScope.launch { mapController.onMapClickFlow.collect { liveDataQsRecordBean.value!!.geometry = GeometryTools.createGeometry(it).toText() @@ -111,7 +110,6 @@ class EvaluationResultViewModel @Inject constructor( override fun onCleared() { super.onCleared() - Log.e("jingo", "EvaluationResultViewModel 销毁了 ${hashCode()}") mapController.markerHandle.removeMarker(markerTitle) if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { mapController.lineHandler.removeLine() @@ -223,7 +221,6 @@ class EvaluationResultViewModel @Inject constructor( * 获取问题环节列表和初步问题 */ fun getProblemLinkList() { - Log.e("jingo", "getProblemLinkList S") viewModelScope.launch(Dispatchers.IO) { val list = roomAppDatabase.getScRootCauseAnalysisDao().findAllData() list?.let { tl -> @@ -242,11 +239,9 @@ class EvaluationResultViewModel @Inject constructor( } if (liveDataQsRecordBean.value!!.problemLink.isEmpty()) { liveDataQsRecordBean.value!!.problemLink = middleList[0] - Log.e("jingo", "getProblemLinkList ${middleList[0]}") } if (liveDataQsRecordBean.value!!.cause.isEmpty()) { liveDataQsRecordBean.value!!.cause = rightList[0].text - Log.e("jingo", "getProblemLinkList ${rightList[0].text}") } liveDataQsRecordBean.postValue(liveDataQsRecordBean.value) // liveDataMiddleTypeList.postValue(middleList) @@ -254,14 +249,12 @@ class EvaluationResultViewModel @Inject constructor( } } } - Log.e("jingo", "getProblemLinkList E") } /** * 获取问题类型列表和问题现象 */ private suspend fun getProblemList(classType: String) { - Log.e("jingo", "getProblemList S") val typeList = roomAppDatabase.getScProblemTypeDao().findProblemTypeList(classType) typeList?.let { tl -> if (tl.isNotEmpty()) { @@ -279,18 +272,15 @@ class EvaluationResultViewModel @Inject constructor( } if (liveDataQsRecordBean.value!!.problemType.isEmpty()) { liveDataQsRecordBean.value!!.problemType = typeTitleList[0] - Log.e("jingo", "getProblemList ${typeTitleList[0]}") } // liveDataMiddleTypeList.postValue(typeTitleList) if (liveDataQsRecordBean.value!!.phenomenon.isEmpty()) { liveDataQsRecordBean.value!!.phenomenon = phenomenonRightList[0].text - Log.e("jingo", "getProblemList ${phenomenonRightList[0].text}") } liveDataQsRecordBean.postValue(liveDataQsRecordBean.value) liveDataRightTypeList.postValue(phenomenonRightList) } } - Log.e("jingo", "getProblemList E") } /** @@ -341,7 +331,6 @@ class EvaluationResultViewModel @Inject constructor( mDialog.dismiss() viewModelScope.launch(Dispatchers.IO) { val realm = Realm.getDefaultInstance() - Log.e("jingo", "realm hashCOde ${realm.hashCode()}") realm.executeTransaction { val objects = it.where(QsRecordBean::class.java) .equalTo("id", liveDataQsRecordBean.value?.id).findFirst() diff --git a/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/PhenomenonFragment.kt b/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/PhenomenonFragment.kt index 0fea2c21..0442c928 100644 --- a/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/PhenomenonFragment.kt +++ b/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/PhenomenonFragment.kt @@ -34,7 +34,6 @@ class PhenomenonFragment : savedInstanceState: Bundle? ): View { _binding = FragmentPhenomenonBinding.inflate(inflater, container, false) - Log.e("jingo", "PhenomenonFragment onCreateView ${hashCode()}") return binding.root } diff --git a/app/src/main/java/com/navinfo/omqs/ui/fragment/offlinemap/OfflineMapCityListAdapter.kt b/app/src/main/java/com/navinfo/omqs/ui/fragment/offlinemap/OfflineMapCityListAdapter.kt index fdd31329..dede03ce 100644 --- a/app/src/main/java/com/navinfo/omqs/ui/fragment/offlinemap/OfflineMapCityListAdapter.kt +++ b/app/src/main/java/com/navinfo/omqs/ui/fragment/offlinemap/OfflineMapCityListAdapter.kt @@ -34,15 +34,12 @@ class OfflineMapCityListAdapter( val cityBean = data[it.tag as Int] when (cityBean.status) { FileDownloadStatus.NONE, FileDownloadStatus.UPDATE, FileDownloadStatus.PAUSE, FileDownloadStatus.ERROR -> { - Log.e("jingo", "开始下载 ${cityBean.status}") downloadManager.start(cityBean.id) } FileDownloadStatus.LOADING, FileDownloadStatus.WAITING -> { - Log.e("jingo", "暂停 ${cityBean.status}") downloadManager.pause(cityBean.id) } else -> { - Log.e("jingo", "暂停 ${cityBean.status}") } } } @@ -85,7 +82,6 @@ class OfflineMapCityListAdapter( if (id == holder.tag) { val binding: AdapterOfflineMapCityBinding = holder.viewBinding as AdapterOfflineMapCityBinding - Log.e("jingo", "进度条更新 $id ${bean.id} ${holder.tag} ") changeViews(binding, bean) } } @@ -95,7 +91,6 @@ class OfflineMapCityListAdapter( private fun changeViews(binding: AdapterOfflineMapCityBinding, cityBean: OfflineMapCityBean) { - Log.e("jingo", "changeViews ${cityBean.status}") binding.offlineMapProgress.progress = (cityBean.currentSize * 100 / cityBean.fileSize).toInt() when (cityBean.status) { diff --git a/app/src/main/java/com/navinfo/omqs/ui/fragment/personalcenter/PersonalCenterFragment.kt b/app/src/main/java/com/navinfo/omqs/ui/fragment/personalcenter/PersonalCenterFragment.kt index 82b04705..28e6f58c 100644 --- a/app/src/main/java/com/navinfo/omqs/ui/fragment/personalcenter/PersonalCenterFragment.kt +++ b/app/src/main/java/com/navinfo/omqs/ui/fragment/personalcenter/PersonalCenterFragment.kt @@ -114,15 +114,15 @@ class PersonalCenterFragment(private var backListener: (() -> Unit?)? = null) : niMapController.mMapView.vtmMap.animator() .animateTo(GeoPoint(40.031657799200346, 116.32207834810715)) } - R.id.personal_center_menu_task_list -> { - findNavController().navigate(R.id.TaskManagerFragment) - } - R.id.personal_center_menu_qs_record_list -> { - findNavController().navigate(R.id.QsRecordListFragment) - } - R.id.personal_center_menu_layer_manager -> { // 图层管理 - findNavController().navigate(R.id.QsLayerManagerFragment) - } +// R.id.personal_center_menu_task_list -> { +// findNavController().navigate(R.id.TaskManagerFragment) +// } +// R.id.personal_center_menu_qs_record_list -> { +// findNavController().navigate(R.id.QsRecordListFragment) +// } +// R.id.personal_center_menu_layer_manager -> { // 图层管理 +// findNavController().navigate(R.id.QsLayerManagerFragment) +// } } true } diff --git a/app/src/main/java/com/navinfo/omqs/ui/fragment/qsrecordlist/QsRecordListViewModel.kt b/app/src/main/java/com/navinfo/omqs/ui/fragment/qsrecordlist/QsRecordListViewModel.kt index 8b0f391f..29b1eb39 100644 --- a/app/src/main/java/com/navinfo/omqs/ui/fragment/qsrecordlist/QsRecordListViewModel.kt +++ b/app/src/main/java/com/navinfo/omqs/ui/fragment/qsrecordlist/QsRecordListViewModel.kt @@ -26,7 +26,6 @@ class QsRecordListViewModel @Inject constructor( fun getList(context: Context) { viewModelScope.launch(Dispatchers.IO) { val realm = Realm.getDefaultInstance() - Log.e("jingo","realm hashCOde ${realm.hashCode()}") val objects = realm.where(QsRecordBean::class.java).findAll() liveDataQSList.postValue(realm.copyFromRealm(objects)) } diff --git a/app/src/main/java/com/navinfo/omqs/ui/fragment/tasklist/TaskListAdapter.kt b/app/src/main/java/com/navinfo/omqs/ui/fragment/tasklist/TaskListAdapter.kt index 9530ea95..0b963619 100644 --- a/app/src/main/java/com/navinfo/omqs/ui/fragment/tasklist/TaskListAdapter.kt +++ b/app/src/main/java/com/navinfo/omqs/ui/fragment/tasklist/TaskListAdapter.kt @@ -39,17 +39,14 @@ class TaskListAdapter( if (taskBean.hadLinkDvoList.isNotEmpty()) { when (taskBean.status) { FileDownloadStatus.NONE, FileDownloadStatus.UPDATE, FileDownloadStatus.PAUSE, FileDownloadStatus.IMPORT, FileDownloadStatus.ERROR -> { - Log.e("jingo", "开始下载 ${taskBean.status}") downloadManager.start(taskBean.id) } FileDownloadStatus.LOADING, FileDownloadStatus.WAITING -> { - Log.e("jingo", "暂停 ${taskBean.status}") downloadManager.pause(taskBean.id) } else -> { - Log.e("jingo", "暂停 ${taskBean.status}") } } } else { @@ -61,7 +58,6 @@ class TaskListAdapter( private val uploadBtnClick = View.OnClickListener() { if (it.tag != null) { val taskBean = data[it.tag as Int] - Log.e("jingo", "开始上传 ${taskBean.syncStatus}") if (taskBean.hadLinkDvoList.isNotEmpty()) { when (taskBean.syncStatus) { FileUploadStatus.NONE, FileUploadStatus.UPLOADING, FileUploadStatus.ERROR, FileUploadStatus.WAITING -> { diff --git a/app/src/main/java/com/navinfo/omqs/ui/widget/SignUtil.kt b/app/src/main/java/com/navinfo/omqs/ui/widget/SignUtil.kt index eff5a96c..773e55e0 100644 --- a/app/src/main/java/com/navinfo/omqs/ui/widget/SignUtil.kt +++ b/app/src/main/java/com/navinfo/omqs/ui/widget/SignUtil.kt @@ -87,12 +87,30 @@ class SignUtil { */ fun getSignBottomRightText(data: RenderEntity): String { return when (data.code) { - //常点限速 + //条件点限速 4003 -> getConditionLimitText(data) else -> "" } } + /** + * 更多信息展示文字 + */ + fun getMoreInfoText(data: RenderEntity): String { + return when (data.code) { + //条件点限速 + 4003 -> getConditionLimitMoreInfoText(data) + else -> "" + } + } + + /** + * 条件点限速更多信息 + */ + private fun getConditionLimitMoreInfoText(data: RenderEntity): String { + return data.properties["validPeriod"].toString() + } + /** * 条件点限速文字 */ @@ -170,7 +188,7 @@ class SignUtil { private fun getSpeedLimitIcon(data: RenderEntity): Int { try { //限速标志 0 限速开始 1 限速解除 - return when (data.properties["speed_flag"]) { + return when (data.properties["speedFlag"]) { "1" -> return R.drawable.icon_speed_limit_off else -> return R.drawable.icon_speed_limit } @@ -186,7 +204,7 @@ class SignUtil { private fun getConditionalSpeedLimitIcon(data: RenderEntity): Int { try { //限速标志 0 限速开始 1 限速解除 - return when (data.properties["speed_flag"]) { + return when (data.properties["speedFlag"]) { "1" -> return R.drawable.icon_conditional_speed_limit_off else -> return R.drawable.icon_conditional_speed_limit } diff --git a/app/src/main/res/drawable-xxhdpi/icon_main_moreinfo_text_left.png b/app/src/main/res/drawable-xxhdpi/icon_main_moreinfo_text_left.png new file mode 100644 index 0000000000000000000000000000000000000000..c12aa6a6d94f5d543ac6ea144c0eae91c6e8675e GIT binary patch literal 498 zcmVPx$tVu*cR5(wi)Xz&)Q5eSY?{jZsr5m+H|46GqVt&XhY%Q&$grEjQ2towi1VSn^ zV}Y*QxzaY35=7fJML!m^5L!e~kQ;TJ@!mJi$jmf3I_FMjd++<W68D)Ul3Qp7Rdg1Ds4plc(R>>ApvH@yeG7~%9KAO#ZI8+avp*>en_tTM56tz zhujG@e;yowgW5*|D=1Tb>$AJ=kgE&?k?j+($>s2luCE-P2c8XeR_zh!mNLaxXJLMj z3u7RJqxu?=Eh@jd`!DDRHLEUOaM*WXQMq#IZ!8(qsx-s+%q2}|tn{ssbw~U@@w8e+ zjZVRsRJOR$KjgrZqn5~CneGpAt&s|$8qG0sxU6gI2Yo>1y1hcGc2hUjDy@@x-%%s} z=qK=u-=mK;IbTbjn!Af?eT!JL%9lQM%f#nsbY2N z@2L6mV;(U+`cj&YecJ2vJThBm_-M{W>I1Y>+b%?i0QgE2-&cP1O%k9Dy?!u*lwv3> o_L@28U$!+~j2qkDW3?Oj2gc8~m=o2g=l}o!07*qoM6N<$f^_ESg8%>k literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxhdpi/main_sign_moreinfo_bg.9.png b/app/src/main/res/drawable-xxhdpi/main_sign_moreinfo_bg.9.png new file mode 100644 index 0000000000000000000000000000000000000000..e8342f10c3aeebf342ee3c40d24c19d67b86459c GIT binary patch literal 5240 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/shape_rect_black_8dp_bg.xml b/app/src/main/res/drawable/shape_rect_black_8dp_bg.xml index 9e391212..91510788 100644 --- a/app/src/main/res/drawable/shape_rect_black_8dp_bg.xml +++ b/app/src/main/res/drawable/shape_rect_black_8dp_bg.xml @@ -3,10 +3,10 @@ android:shape="rectangle"> + android:bottomLeftRadius="8dp" + android:bottomRightRadius="8dp" + android:topLeftRadius="8dp" + android:topRightRadius="8dp" /> diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 690d0642..99828062 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -63,6 +63,61 @@ app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintTop_toTopOf="parent" /> + + + + + + + + + + - \ No newline at end of file diff --git a/app/src/main/res/layout/adapter_sign.xml b/app/src/main/res/layout/adapter_sign.xml index 98d10cb5..3dbdbdb6 100644 --- a/app/src/main/res/layout/adapter_sign.xml +++ b/app/src/main/res/layout/adapter_sign.xml @@ -46,10 +46,10 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignTop="@id/sign_bottom_text" - android:layout_alignParentRight="true" android:layout_marginRight="15dp" android:gravity="center" android:text="其他信息" + android:layout_alignRight="@id/sign_main_bg" android:textColor="@color/white" android:textSize="14sp" /> diff --git a/app/src/main/res/layout/adapter_task_list.xml b/app/src/main/res/layout/adapter_task_list.xml index 56b85cbc..0f61f0f1 100644 --- a/app/src/main/res/layout/adapter_task_list.xml +++ b/app/src/main/res/layout/adapter_task_list.xml @@ -97,7 +97,6 @@ - - - + + + + + + + + + + + + - #FFA500 + #FFBC6E diff --git a/collect-library/src/main/assets/editormarker.xml b/collect-library/src/main/assets/editormarker.xml index b413db0d..0b0f699b 100644 --- a/collect-library/src/main/assets/editormarker.xml +++ b/collect-library/src/main/assets/editormarker.xml @@ -1,7 +1,6 @@ @@ -46,8 +45,8 @@ - + @@ -174,7 +173,7 @@ - + @@ -1480,18 +1479,19 @@ - + - + - + - + @@ -1503,7 +1503,7 @@ - + @@ -1514,7 +1514,7 @@ - + @@ -1538,19 +1538,20 @@ - + - + - + - + - + @@ -1560,88 +1561,88 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -1650,67 +1651,71 @@ - - - - --> + + + + - - - + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - + + - - - + + - + - + @@ -1723,19 +1728,19 @@ - + - + - + - + - + @@ -1743,31 +1748,32 @@ - + - + - + - + - + - + - - - - + + + + @@ -1776,29 +1782,33 @@ - - + + - + - + - + - + - + diff --git a/collect-library/src/main/assets/omdb/icon_4006_0.svg b/collect-library/src/main/assets/omdb/icon_4006_0.svg index f5b3b3c5..06c69498 100644 --- a/collect-library/src/main/assets/omdb/icon_4006_0.svg +++ b/collect-library/src/main/assets/omdb/icon_4006_0.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/collect-library/src/main/assets/omdb/icon_4022_0.svg b/collect-library/src/main/assets/omdb/icon_4022_0.svg index 63378323..dc58b844 100644 --- a/collect-library/src/main/assets/omdb/icon_4022_0.svg +++ b/collect-library/src/main/assets/omdb/icon_4022_0.svg @@ -1,162 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + \ No newline at end of file diff --git a/collect-library/src/main/assets/omdb/icon_arrow_right.svg b/collect-library/src/main/assets/omdb/icon_arrow_right.svg index fc0678f3..73b8c5dc 100644 --- a/collect-library/src/main/assets/omdb/icon_arrow_right.svg +++ b/collect-library/src/main/assets/omdb/icon_arrow_right.svg @@ -1,40 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + \ No newline at end of file diff --git a/collect-library/src/main/java/com/navinfo/collect/library/map/handler/MarkHandler.kt b/collect-library/src/main/java/com/navinfo/collect/library/map/handler/MarkHandler.kt index bc2f46e2..e4e9b588 100644 --- a/collect-library/src/main/java/com/navinfo/collect/library/map/handler/MarkHandler.kt +++ b/collect-library/src/main/java/com/navinfo/collect/library/map/handler/MarkHandler.kt @@ -263,7 +263,6 @@ class MarkHandler(context: AppCompatActivity, mapView: NIMapView) : mContext.lifecycleScope.launch(Dispatchers.IO) { var list = mutableListOf() val realm = Realm.getDefaultInstance() - Log.e("jingo", "realm hashCOde ${realm.hashCode()}") realm.executeTransaction { val objects = realm.where().findAll() list = realm.copyFromRealm(objects) diff --git a/collect-library/src/main/java/com/navinfo/collect/library/map/layers/MyItemizedLayer.java b/collect-library/src/main/java/com/navinfo/collect/library/map/layers/MyItemizedLayer.java index cae265b8..fb9b4c47 100644 --- a/collect-library/src/main/java/com/navinfo/collect/library/map/layers/MyItemizedLayer.java +++ b/collect-library/src/main/java/com/navinfo/collect/library/map/layers/MyItemizedLayer.java @@ -89,7 +89,6 @@ public class MyItemizedLayer extends ItemizedLayer { private boolean activateSelectedItems(MotionEvent event, ActiveItem task) { int size = this.mItemList.size(); - Log.e("jingo", "地图点击 size =" + size); if (size == 0) { return false; } else {