From bbe4691c4dcbf825ce8e6ff3b0afbb92a905bd9a Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Tue, 31 Mar 2020 10:44:30 +0800 Subject: [PATCH 1/3] opt --- .../com/mogo/utils/logger/LoggerPrinter.java | 2 +- .../com/mogo/module/apps/AppsPresenter.java | 22 ++++++++++++++----- .../com/mogo/module/service/MogoServices.java | 4 +++- .../service/marker/MapMarkerInfoView.java | 7 +++--- .../module/service/marker/MapMarkerView.java | 4 ++-- 5 files changed, 25 insertions(+), 14 deletions(-) diff --git a/foudations/mogo-utils/src/main/java/com/mogo/utils/logger/LoggerPrinter.java b/foudations/mogo-utils/src/main/java/com/mogo/utils/logger/LoggerPrinter.java index d4b65ba28c..0c5fc3a233 100644 --- a/foudations/mogo-utils/src/main/java/com/mogo/utils/logger/LoggerPrinter.java +++ b/foudations/mogo-utils/src/main/java/com/mogo/utils/logger/LoggerPrinter.java @@ -56,7 +56,7 @@ final class LoggerPrinter implements Printer { public void e( String tag, Throwable throwable, String message, Object... args) { if (throwable != null && message != null) { - message = message + " : " + throwable.toString(); + message = message + " : " + Log.getStackTraceString( throwable); } if (throwable != null && message == null) { diff --git a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppsPresenter.java b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppsPresenter.java index 3f2da676e7..f722a9418e 100644 --- a/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppsPresenter.java +++ b/modules/mogo-module-apps/src/main/java/com/mogo/module/apps/AppsPresenter.java @@ -20,9 +20,11 @@ import com.mogo.utils.UiThreadHandler; import com.mogo.utils.logger.Logger; import java.util.ArrayList; +import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Set; /** @@ -82,13 +84,21 @@ public class AppsPresenter extends Presenter { } private Map> addGuideAppEntrance(Map> appInfoMap) { - Map> result; - if (appInfoMap == null) { - result = new HashMap<>(); - } else { - result = new HashMap<>(); - result.putAll(appInfoMap); + Map> result = new HashMap<>(); + + if ( appInfoMap != null && !appInfoMap.isEmpty() ) { + // val deep copy + Set keys = appInfoMap.keySet(); + for ( Integer key : keys ) { + List val = appInfoMap.get( key ); + try { + result.put( key, new ArrayList<>( val ) ); + } catch ( Exception e ) { + result.put( key, new ArrayList<>() ); + } + } } + if (result.isEmpty()) { result.put(0, new ArrayList<>()); } else if (result.get(result.size() - 1) == null) { diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java index 99bed15dfd..ec0eb11b62 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java @@ -202,6 +202,9 @@ public class MogoServices implements IMogoMapListener, * 自动刷新:锁车、缩放比例:16、半径 2KM */ private void invokeAutoRefresh() { + if ( mStatusManager.isSearchUIShow() || mStatusManager.isADASShow() ) { + return; + } mStatusManager.setUserInteractionStatus( ServiceConst.TYPE, true, false ); mUiController.changeZoom( ServiceConst.DEFAULT_LOCK_CAR_ZOOM_LEVEL ); mUiController.setLockZoom( ServiceConst.DEFAULT_LOCK_CAR_ZOOM_LEVEL ); @@ -987,7 +990,6 @@ public class MogoServices implements IMogoMapListener, AIAssist.getInstance( mContext ).unregisterUnWakeupCommand( ServiceConst.CMD_BACK ); // 控制SearchUIShow 打点逻辑 setMarkerStatus(false); - } else { mUiController.showMyLocation( false ); AIAssist.getInstance( mContext ) diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerInfoView.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerInfoView.java index 9aaa8a4801..3210ed50e7 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerInfoView.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerInfoView.java @@ -171,10 +171,9 @@ public class MapMarkerInfoView extends MapMarkerBaseView { clMarkerContent.setBackgroundResource(R.drawable.bg_map_marker_red_info); ivReverseTriangle.setImageResource(R.drawable.bg_shape_reverse_triangle_red); case MarkerPoiTypeEnum.FOURS_NEALY: - // TODO: 2020-03-30 - ivIcon.setImageResource(R.drawable.module_service_ic_rc_accident2); - clMarkerContent.setBackgroundResource(R.drawable.bg_map_marker_red_info); - ivReverseTriangle.setImageResource(R.drawable.bg_shape_reverse_triangle_red); + ivIcon.setImageResource(R.drawable.icon_map_marker_shear_news); + clMarkerContent.setBackgroundResource(R.drawable.bg_map_marker_blue_info); + ivReverseTriangle.setImageResource(R.drawable.bg_shape_reverse_triangle_blue); break; default: ivIcon.setImageResource(R.drawable.icon_map_marker_shear_news); diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerView.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerView.java index 3db36ba9a3..8ea5d8c389 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerView.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerView.java @@ -143,8 +143,8 @@ public class MapMarkerView extends MapMarkerBaseView { ivBg.setImageResource(R.drawable.module_service_ic_rc_accident); break; case MarkerPoiTypeEnum.FOURS_NEALY: - // TODO: 2020-03-30 - ivBg.setImageResource(R.drawable.module_service_ic_rc_accident); + ivIcon.setImageResource(R.drawable.icon_map_marker_shear_news); + ivBg.setImageResource(R.drawable.bg_map_marker_blue); break; default: ivIcon.setImageResource(R.drawable.icon_map_marker_shear_news); From 60ace4cfa66205adfe96f5879ad3c5841600f1aa Mon Sep 17 00:00:00 2001 From: zhangyuanzhen Date: Tue, 31 Mar 2020 14:10:46 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=90=9C=E7=B4=A2?= =?UTF-8?q?=E7=BB=93=E6=9E=9C=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../navi/ui/search/CategorySearchFragment.kt | 36 ++++++++++++------- 1 file changed, 24 insertions(+), 12 deletions(-) diff --git a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/CategorySearchFragment.kt b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/CategorySearchFragment.kt index 91b293b75e..9dd74bbec5 100644 --- a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/CategorySearchFragment.kt +++ b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/CategorySearchFragment.kt @@ -2,6 +2,7 @@ package com.mogo.module.navi.ui.search import android.graphics.Bitmap import android.graphics.BitmapFactory +import android.graphics.Rect import android.os.Bundle import android.text.TextUtils import android.view.View @@ -9,6 +10,7 @@ import androidx.fragment.app.Fragment import androidx.recyclerview.widget.LinearLayoutManager import com.mogo.commons.voice.AIAssist import com.mogo.commons.voice.IMogoVoiceCmdCallBack +import com.mogo.map.MogoLatLng import com.mogo.map.marker.IMogoMarker import com.mogo.map.marker.IMogoMarkerClickListener import com.mogo.map.marker.MogoMarkerOptions @@ -22,6 +24,7 @@ import com.mogo.module.navi.ui.adapter.SearchCategoryAdapter import com.mogo.module.navi.ui.base.BaseFragment import com.mogo.module.navi.uitls.BitmapUtils import com.mogo.module.navi.uitls.StringUtils +import com.mogo.utils.UiThreadHandler import kotlinx.android.synthetic.main.fragment_search_category.cv_search_result import kotlinx.android.synthetic.main.fragment_search_category.et_navi_search import kotlinx.android.synthetic.main.fragment_search_category.iv_navi_back @@ -33,8 +36,7 @@ import kotlinx.android.synthetic.main.fragment_search_category.tv_navi_navi * @author zyz * 2020-01-09. */ -class CategorySearchFragment : BaseFragment(), CategoryView, IMogoVoiceCmdCallBack - { +class CategorySearchFragment : BaseFragment(), CategoryView, IMogoVoiceCmdCallBack { // override fun onMarkerClicked(marker: IMogoMarker?): Boolean { // // return true @@ -64,6 +66,7 @@ class CategorySearchFragment : BaseFragment(), CategoryView, IMogoVoiceCmdCallBa private val TAG: String = "CategorySearchFragment" private var addMarkers: List? = null var arrayList = ArrayList() + var locationList = ArrayList() private lateinit var cmds: ArrayList override fun renderSearchPoiResult(datums: List?) { @@ -74,6 +77,7 @@ class CategorySearchFragment : BaseFragment(), CategoryView, IMogoVoiceCmdCallBa .speakTTSVoice(String.format("搜索到%d个位置,请选择", datums?.size)) arrayList.clear() + locationList.clear() for (index in 0 until datums!!.size) { var decodeResource = @@ -94,8 +98,9 @@ class CategorySearchFragment : BaseFragment(), CategoryView, IMogoVoiceCmdCallBa // .anchor(0.5f, 1f) .longitude(datums[index].point?.lng ?: 0.0) arrayList.add(options) + locationList.add(datums[index].point) - var int2String = StringUtils.int2String(index+1) + var int2String = StringUtils.int2String(index + 1) AIAssist.getInstance(context) .registerUnWakeupCommand( "position" + index, arrayOf("第" + int2String + "个", "第" + int2String + "条"), this @@ -103,16 +108,26 @@ class CategorySearchFragment : BaseFragment(), CategoryView, IMogoVoiceCmdCallBa cmds.add("position" + index) } + addMarkers() + } + + private fun addMarkers() { addMarkers = SearchServiceHolder.getMarkerManger() .addMarkers(TAG, arrayList, true) - moveMapToRight() + + UiThreadHandler.postDelayed(Runnable { + SearchServiceHolder.getMapUIController() + .showBounds(TAG, null, locationList, Rect(cv_search_result.width,0,0,0), false) + + },1000) + // moveMapToRight() addClick() } private fun registerVoice() { for (index in 0 until cmds.size) { - var int2String = StringUtils.int2String(index+1) + var int2String = StringUtils.int2String(index + 1) AIAssist.getInstance(context) .registerUnWakeupCommand( "position" + index, arrayOf("第" + int2String + "个", "第" + int2String + "条"), this @@ -124,23 +139,20 @@ class CategorySearchFragment : BaseFragment(), CategoryView, IMogoVoiceCmdCallBa override fun onHiddenChanged(hidden: Boolean) { super.onHiddenChanged(hidden) if (!hidden) { - addMarkers = SearchServiceHolder.getMarkerManger() - .addMarkers(TAG, arrayList, true) registerVoice() - addClick() - + addMarkers() } else { unRegisterVoice() } } - private fun addClick(){ + private fun addClick() { if (addMarkers != null) { - for (item in addMarkers!!){ + for (item in addMarkers!!) { item.setOnMarkerClickListener { var index = it.mogoMarkerOptions.`object` as Int - mAdapter.current=index + mAdapter.current = index rv_search_result.smoothScrollToPosition(index) updateMarker() true From 8146be4bad2ad51563e89d914f6445eb2fdea5e8 Mon Sep 17 00:00:00 2001 From: zhangyuanzhen Date: Tue, 31 Mar 2020 16:26:15 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=90=9C=E7=B4=A2?= =?UTF-8?q?=E7=BB=93=E6=9E=9C=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../navi/ui/search/CategorySearchFragment.kt | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/CategorySearchFragment.kt b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/CategorySearchFragment.kt index 9dd74bbec5..5d463bda01 100644 --- a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/CategorySearchFragment.kt +++ b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/CategorySearchFragment.kt @@ -64,7 +64,7 @@ class CategorySearchFragment : BaseFragment(), CategoryView, IMogoVoiceCmdCallBa } private val TAG: String = "CategorySearchFragment" - private var addMarkers: List? = null + private var addMarkers: ArrayList = ArrayList() var arrayList = ArrayList() var locationList = ArrayList() @@ -112,15 +112,16 @@ class CategorySearchFragment : BaseFragment(), CategoryView, IMogoVoiceCmdCallBa } private fun addMarkers() { - addMarkers = SearchServiceHolder.getMarkerManger() - .addMarkers(TAG, arrayList, true) + addMarkers.clear() + var marginBounder = resources.getDimensionPixelSize(R.dimen.dp_60)*2 + SearchServiceHolder.getMapUIController() + .showBounds(TAG, null, locationList, Rect(cv_search_result.width+marginBounder,marginBounder, marginBounder, marginBounder), false) - UiThreadHandler.postDelayed(Runnable { - SearchServiceHolder.getMapUIController() - .showBounds(TAG, null, locationList, Rect(cv_search_result.width,0,0,0), false) - - },1000) - // moveMapToRight() + for (options in arrayList) { + var addMarker = SearchServiceHolder.getMarkerManger() + .addMarker(TAG, options) + addMarkers.add(addMarker) + } addClick() }