diff --git a/config.gradle b/config.gradle index 1d47272fe2..7f41c5a8c9 100644 --- a/config.gradle +++ b/config.gradle @@ -139,7 +139,7 @@ ext { // gps 模拟 gpssimulator : "com.mogo.module:module-gps-simulator:${MOGO_MODULE_GPS_SIMULATOR_VERSION}", - gpssimulatordebug : "com.mogo.module:mogo-module-gps-simulator-debug:${MOGO_MODULE_GPS_SIMULATOR_DEBUG_VERSION}", - gpssimulatornoop : "com.mogo.module:mogo-module-gps-simulator-noop:${MOGO_MODULE_GPS_SIMULATOR_NOOP_VERSION}", + gpssimulatordebug : "com.mogo.module:module-gps-simulator-debug:${MOGO_MODULE_GPS_SIMULATOR_DEBUG_VERSION}", + gpssimulatornoop : "com.mogo.module:module-gps-simulator-noop:${MOGO_MODULE_GPS_SIMULATOR_NOOP_VERSION}", ] } \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index d3345f343c..dd1016d5be 100644 --- a/gradle.properties +++ b/gradle.properties @@ -27,38 +27,37 @@ PASSWORD=xintai2018 RELEASE=false # 模块版本 ## 工程内模块 -MOGO_COMMONS_VERSION=1.0.3.1 -MOGO_UTILS_VERSION=1.0.3.1 -MAP_AMAP_VERSION=1.0.3.1 -MOGO_MAP_VERSION=1.0.3.1 -MOGO_MAP_API_VERSION=1.0.3.1 -MOGO_SERVICE_VERSION=1.0.3.1 -MOGO_SERVICE_API_VERSION=1.0.3.1 -MOGO_CONNECTION_VERSION=1.0.3.1 -MOGO_MODULE_APPS_VERSION=1.0.3.1 -MOGO_MODULE_NAVI_VERSION=1.0.3.1 -MOGO_MODULE_SHARE_VERSION=1.0.3.1 -MOGO_MODULE_COMMON_VERSION=1.0.3.2 -MOGO_MODULE_MAIN_VERSION=1.0.3.1 -MOGO_MODULE_MAP_VERSION=1.0.3.1 -MOGO_MODULE_SERVICE_VERSION=1.0.3.1 -MOGO_MODULE_EXTENSIONS_VERSION=1.0.3.1 -MOGO_MODULE_SEARCH_VERSION=1.0.3.1 -MOGO_MODULE_BACK_VERSION=1.0.3.1 -MOGO_MODULE_GPS_SIMULATOR_VERSION=1.0.3.1 -MOGO_MODULE_GPS_SIMULATOR_DEBUG_VERSION=1.0.3.1 -MOGO_MODULE_GPS_SIMULATOR_NOOP_VERSION=1.0.3.1 - -MOGO_MODULE_AUTHORIZE_VERSION=1.0.0 -MOGO_MODULE_GUIDE_VERSION=1.0.0 +MOGO_COMMONS_VERSION=1.0.3.3 +MOGO_UTILS_VERSION=1.0.3.3 +MAP_AMAP_VERSION=1.0.3.4 +MOGO_MAP_VERSION=1.0.3.4 +MOGO_MAP_API_VERSION=1.0.3.4 +MOGO_SERVICE_VERSION=1.0.3.4 +MOGO_SERVICE_API_VERSION=1.0.3.4 +MOGO_CONNECTION_VERSION=1.0.3.4 +MOGO_MODULE_APPS_VERSION=1.0.3.4 +MOGO_MODULE_NAVI_VERSION=1.0.3.4 +MOGO_MODULE_SHARE_VERSION=1.0.3.4 +MOGO_MODULE_COMMON_VERSION=1.0.3.4 +MOGO_MODULE_MAIN_VERSION=1.0.3.4 +MOGO_MODULE_MAP_VERSION=1.0.3.4 +MOGO_MODULE_SERVICE_VERSION=1.0.3.4 +MOGO_MODULE_EXTENSIONS_VERSION=1.0.3.4 +MOGO_MODULE_SEARCH_VERSION=1.0.3.4 +MOGO_MODULE_BACK_VERSION=1.0.3.4 +MOGO_MODULE_GPS_SIMULATOR_VERSION=1.0.3.4 +MOGO_MODULE_GPS_SIMULATOR_DEBUG_VERSION=1.0.3.4 +MOGO_MODULE_GPS_SIMULATOR_NOOP_VERSION=1.0.3.4 +MOGO_MODULE_AUTHORIZE_VERSION=1.0.3.4 +MOGO_MODULE_GUIDE_VERSION=1.0.3.4 ## 工程外部模块 # 探路 MOGO_MODULE_TANLU_VERSION=1.0.4.2 # 车聊聊 -CARCHATTING_VERSION=1.0.3 +CARCHATTING_VERSION=1.0.3.2-SNAPSHOT # 车聊聊接口 -CARCHATTINGPROVIDER_VERSION=1.0.3 +CARCHATTINGPROVIDER_VERSION=1.0.3.2-SNAPSHOT # 视频引导 MOGO_MODULE_GUIDESHOW_VERSION=1.0.2-SNAPSHOT # 视频引导接口 diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviClient.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviClient.java index 64d0b14bc9..431b4be417 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviClient.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviClient.java @@ -17,6 +17,7 @@ import com.mogo.map.impl.amap.AMapWrapper; import com.mogo.map.impl.amap.message.AMapMessageManager; import com.mogo.map.impl.amap.utils.ObjectUtils; import com.mogo.map.navi.IMogoCarLocationChangedListener; +import com.mogo.map.navi.IMogoCarLocationChangedListener2; import com.mogo.map.navi.IMogoNavi; import com.mogo.map.navi.MogoCalculatePath; import com.mogo.map.navi.MogoNaviConfig; @@ -61,7 +62,7 @@ public class NaviClient implements IMogoNavi { private boolean mIsRealNavi; private Location mCarLocation; - private IMogoCarLocationChangedListener mCarLocationChangedListener; + private IMogoCarLocationChangedListener2 mCarLocationChangedListener; private LocationSource.OnLocationChangedListener mOnLocationChangedListener; /** * 巡航模式配置状态 @@ -260,7 +261,12 @@ public class NaviClient implements IMogoNavi { } @Override - public void registerCarLocationChangedListener( IMogoCarLocationChangedListener listener ) { + public Location getCarLocation2() { + return mCarLocation; + } + + @Override + public void registerCarLocationChangedListener( IMogoCarLocationChangedListener2 listener ) { mCarLocationChangedListener = listener; } @@ -269,7 +275,7 @@ public class NaviClient implements IMogoNavi { public void syncCarLocation( Location location ) { mCarLocation = location; if ( mCarLocationChangedListener != null ) { - mCarLocationChangedListener.onCarLocationChanged( getCarLocation() ); + mCarLocationChangedListener.onCarLocationChanged2( mCarLocation ); } } diff --git a/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/IMogoCarLocationChangedListener2.java b/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/IMogoCarLocationChangedListener2.java new file mode 100644 index 0000000000..fe2bf33422 --- /dev/null +++ b/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/IMogoCarLocationChangedListener2.java @@ -0,0 +1,14 @@ +package com.mogo.map.navi; + +import android.location.Location; + +/** + * @author congtaowang + * @since 2020-03-14 + *

+ * 车辆位置变化 + */ +public interface IMogoCarLocationChangedListener2 extends IMogoCarLocationChangedListener { + + void onCarLocationChanged2( Location latLng ); +} diff --git a/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/IMogoNavi.java b/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/IMogoNavi.java index 40914d49b0..de314483b5 100644 --- a/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/IMogoNavi.java +++ b/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/IMogoNavi.java @@ -144,12 +144,19 @@ public interface IMogoNavi { */ MogoLatLng getCarLocation(); + /** + * 获取车标经纬度 + * + * @return + */ + Location getCarLocation2(); + /** * 注册车辆位置变化监听,非业务使用 * * @param listener */ - void registerCarLocationChangedListener( IMogoCarLocationChangedListener listener ); + void registerCarLocationChangedListener( IMogoCarLocationChangedListener2 listener ); /** * 打开巡航模式 diff --git a/libraries/mogo-map/src/main/java/com/mogo/map/MogoNavi.java b/libraries/mogo-map/src/main/java/com/mogo/map/MogoNavi.java index 2e9ff0a525..74e6615a7c 100644 --- a/libraries/mogo-map/src/main/java/com/mogo/map/MogoNavi.java +++ b/libraries/mogo-map/src/main/java/com/mogo/map/MogoNavi.java @@ -6,6 +6,7 @@ import android.location.Location; import com.mogo.map.impl.amap.navi.NaviClient; import com.mogo.map.navi.IMogoCarLocationChangedListener; +import com.mogo.map.navi.IMogoCarLocationChangedListener2; import com.mogo.map.navi.IMogoNavi; import com.mogo.map.navi.MogoCalculatePath; import com.mogo.map.navi.MogoNaviConfig; @@ -176,7 +177,15 @@ public class MogoNavi implements IMogoNavi { } @Override - public void registerCarLocationChangedListener( IMogoCarLocationChangedListener listener ) { + public Location getCarLocation2() { + if ( mDelegate != null ) { + return mDelegate.getCarLocation2(); + } + return null; + } + + @Override + public void registerCarLocationChangedListener( IMogoCarLocationChangedListener2 listener ) { if ( mDelegate != null ) { mDelegate.registerCarLocationChangedListener( listener ); } diff --git a/modules/mogo-module-gps-simulator-debug/build.gradle b/modules/mogo-module-gps-simulator-debug/build.gradle index 2382df5823..12fbf4774d 100644 --- a/modules/mogo-module-gps-simulator-debug/build.gradle +++ b/modules/mogo-module-gps-simulator-debug/build.gradle @@ -51,3 +51,5 @@ dependencies { implementation project(':services:mogo-service-api') } } + +apply from: new File(rootProject.rootDir, "gradle/upload.gradle").toString() diff --git a/modules/mogo-module-gps-simulator-noop/build.gradle b/modules/mogo-module-gps-simulator-noop/build.gradle index 7427dc421a..4e4194af0d 100644 --- a/modules/mogo-module-gps-simulator-noop/build.gradle +++ b/modules/mogo-module-gps-simulator-noop/build.gradle @@ -46,3 +46,5 @@ dependencies { implementation project(':modules:mogo-module-gps-simulator') } } + +apply from: new File(rootProject.rootDir, "gradle/upload.gradle").toString() diff --git a/modules/mogo-module-gps-simulator/build.gradle b/modules/mogo-module-gps-simulator/build.gradle index b3a5b2a6a6..df36963bb0 100644 --- a/modules/mogo-module-gps-simulator/build.gradle +++ b/modules/mogo-module-gps-simulator/build.gradle @@ -37,3 +37,5 @@ dependencies { implementation project(':modules:mogo-module-authorize') } } + +apply from: new File(rootProject.rootDir, "gradle/upload.gradle").toString() diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesHandler.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesHandler.java index 06f4296965..08c8f4417e 100644 --- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesHandler.java +++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesHandler.java @@ -7,6 +7,7 @@ import com.mogo.map.marker.IMogoMarker; import com.mogo.map.marker.IMogoMarkerClickListener; import com.mogo.map.navi.IMogoAimlessModeListener; import com.mogo.map.navi.IMogoCarLocationChangedListener; +import com.mogo.map.navi.IMogoCarLocationChangedListener2; import com.mogo.map.navi.IMogoNaviListener; import com.mogo.service.module.IMogoModuleProvider; @@ -26,7 +27,7 @@ public interface MogoModulesHandler extends IMogoMapListener, IMogoLocationListener, IMogoMarkerClickListener, IMogoAimlessModeListener, - IMogoCarLocationChangedListener { + IMogoCarLocationChangedListener2 { /** * 地图加载完成回调 diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesManager.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesManager.java index 11476ac886..1df13657b2 100644 --- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesManager.java +++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesManager.java @@ -2,6 +2,7 @@ package com.mogo.module.main.cards; import android.content.Context; import android.content.Intent; +import android.location.Location; import android.text.TextUtils; import android.view.MotionEvent; @@ -17,6 +18,7 @@ import com.mogo.map.marker.IMogoMarkerClickListener; import com.mogo.map.model.MogoPoi; import com.mogo.map.navi.IMogoAimlessModeListener; import com.mogo.map.navi.IMogoCarLocationChangedListener; +import com.mogo.map.navi.IMogoCarLocationChangedListener2; import com.mogo.map.navi.IMogoNaviListener; import com.mogo.map.navi.IMogoNaviListener2; import com.mogo.map.navi.MogoCongestionInfo; @@ -109,7 +111,7 @@ public class MogoModulesManager implements MogoModulesHandler, final List< MogoModule > modules = MogoModulePaths.getModules(); if ( modules != null && !modules.isEmpty() ) { for ( MogoModule module : modules ) { - Logger.d(TAG,"module.getPath():" + module.getPath() + " name: " + module.getName()); + Logger.d( TAG, "module.getPath():" + module.getPath() + " name: " + module.getName() ); IMogoModuleProvider provider = load( module.getPath() ); if ( provider != null ) { mModuleProviders.put( module, provider ); @@ -655,15 +657,30 @@ public class MogoModulesManager implements MogoModulesHandler, @Override public void onCarLocationChanged( MogoLatLng latLng ) { + // do nothing. + } + + @Override + public void onCarLocationChanged2( Location latLng ) { Iterator< IMogoCarLocationChangedListener > iterator = MogoRegisterCenterHandler.getInstance().getCarLocationChangedListener(); if ( iterator == null ) { return; } + MogoLatLng target = null; while ( iterator.hasNext() ) { IMogoCarLocationChangedListener listener = iterator.next(); - if ( listener != null ) { + if ( listener instanceof IMogoCarLocationChangedListener ) { try { - listener.onCarLocationChanged( latLng ); + ( ( IMogoCarLocationChangedListener2 ) listener ).onCarLocationChanged2( latLng ); + } catch ( Exception e ) { + e.printStackTrace(); + } + } else { + try { + if ( target == null ) { + target = new MogoLatLng( latLng.getLatitude(), latLng.getLongitude() ); + } + listener.onCarLocationChanged( target ); } catch ( Exception e ) { e.printStackTrace(); } 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 40affa22cf..3fbb093871 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 @@ -40,255 +40,225 @@ 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, IMogoMarkerClickListener { // override fun onMarkerClicked(marker: IMogoMarker?): Boolean { // // return true // } - override fun onCmdSelected(cmd: String?) { - if (cmd?.startsWith("position") == true) { - var index = cmd.substring(8) - mAdapter.setCurrent(index.toInt()) - updateMarker() - goPath() + override fun onCmdSelected(cmd: String?) { + if (cmd?.startsWith("position") == true) { + var index = cmd.substring(8) + mAdapter.current = index.toInt() + updateMarker(false) + goPath() + } } - } - override fun onCmdAction(speakText: String?) { - } + override fun onCmdAction(speakText: String?) { + } - override fun onCmdCancel(speakText: String?) { - } + override fun onCmdCancel(speakText: String?) { + } - override fun onSpeakEnd(speakText: String?) { - } + override fun onSpeakEnd(speakText: String?) { + } - override fun onSpeakSelectTimeOut(speakText: String?) { - } + override fun onSpeakSelectTimeOut(speakText: String?) { + } - private val TAG: String = "CategorySearchFragment" - private var addMarkers: ArrayList = ArrayList() - var arrayList = ArrayList() - var locationList = ArrayList() + private val TAG: String = "CategorySearchFragment" + private var addMarkers: ArrayList = ArrayList() + var arrayList = ArrayList() + var locationList = ArrayList() - private lateinit var cmds: ArrayList - override fun renderSearchPoiResult(datums: List?) { - mAdapter.setDatas(datums) - cv_search_result.visibility = View.VISIBLE - pb_path.visibility = View.GONE - AIAssist.getInstance(context) - .speakTTSVoice(String.format("搜索到%d个位置,请选择", datums?.size)) + private lateinit var cmds: ArrayList + override fun renderSearchPoiResult(datums: List?) { + mAdapter.setDatas(datums) + cv_search_result.visibility = View.VISIBLE + pb_path.visibility = View.GONE + AIAssist.getInstance(context).speakTTSVoice(String.format("搜索到%d个位置,请选择", datums?.size)) - arrayList.clear() - locationList.clear() + arrayList.clear() + locationList.clear() - for (index in 0 until datums!!.size) { - var decodeResource = - BitmapFactory.decodeResource( - resources, - if (mAdapter.current == index) R.mipmap.icon_search_category_checked else R.mipmap.icon_search_category_unchecked - ) + for (index in 0 until datums!!.size) { + var decodeResource = BitmapFactory.decodeResource( + resources, + if (mAdapter.current == index) R.mipmap.icon_search_category_checked else R.mipmap.icon_search_category_unchecked + ) - var createWaterMask = - BitmapUtils.createWaterMask( - context, decodeResource, (index + 1).toString(), R.color.white, 18 - ) - val options = MogoMarkerOptions() - .icon(createWaterMask) - .latitude(datums[index].point?.lat ?: 0.0) - .owner("CategorySearchFragment") - .`object`(index) + var createWaterMask = BitmapUtils.createWaterMask( + context, decodeResource, (index + 1).toString(), R.color.white, 18 + ) + val options = MogoMarkerOptions() + .icon(createWaterMask) + .latitude(datums[index].point?.lat ?: 0.0) + .owner("CategorySearchFragment") + .`object`(index) // .anchor(0.5f, 1f) - .longitude(datums[index].point?.lng ?: 0.0) - arrayList.add(options) - locationList.add(datums[index].point) + .longitude(datums[index].point?.lng ?: 0.0) + arrayList.add(options) + locationList.add(datums[index].point) - var int2String = StringUtils.int2String(index + 1) - AIAssist.getInstance(context) - .registerUnWakeupCommand( - "position" + index, arrayOf("第" + int2String + "个", "第" + int2String + "条"), this - ) - cmds.add("position" + index) + var int2String = StringUtils.int2String(index + 1) + AIAssist.getInstance(context).registerUnWakeupCommand("position${index}", arrayOf("第${int2String}个", "第${int2String}条"), this) + cmds.add("position" + index) + } + addMarkers() } - addMarkers() - } - private fun addMarkers() { - 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 + private fun addMarkers() { + 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 ) - for (options in arrayList) { - var addMarker = SearchServiceHolder.getMarkerManger() - .addMarker(TAG, options) - addMarkers.add(addMarker) - } - addClick() - } - - private fun registerVoice() { - - for (index in 0 until cmds.size) { - var int2String = StringUtils.int2String(index + 1) - AIAssist.getInstance(context) - .registerUnWakeupCommand( - "position" + index, arrayOf("第" + int2String + "个", "第" + int2String + "条"), this - ) + for (options in arrayList) { + var addMarker = SearchServiceHolder.getMarkerManger().addMarker(TAG, options) + addMarker.onMarkerClickListener = this + addMarkers.add(addMarker) + } } - } - - override fun onHiddenChanged(hidden: Boolean) { - super.onHiddenChanged(hidden) - if (!hidden) { - registerVoice() - addMarkers() - } else { - unRegisterVoice() + private fun registerVoice() { + for (index in 0 until cmds.size) { + var int2String = StringUtils.int2String(index + 1) + AIAssist.getInstance(context).registerUnWakeupCommand("position${index}", arrayOf("第${int2String}个", "第${int2String}条"), this) + } } - } - private fun addClick() { - if (addMarkers != null) { - for (item in addMarkers!!) { - item.setOnMarkerClickListener { + override fun onHiddenChanged(hidden: Boolean) { + super.onHiddenChanged(hidden) + if (!hidden) { + registerVoice() + addMarkers() + } else { + unRegisterVoice() + } + } - var index = it.mogoMarkerOptions.`object` as Int - mAdapter.current = index - rv_search_result.smoothScrollToPosition(index) - updateMarker() - true + override fun onMarkerClicked(marker: IMogoMarker?): Boolean { + var index = marker?.mogoMarkerOptions?.`object` as Int + mAdapter.current = index + rv_search_result.smoothScrollToPosition(index) + updateMarker() + return true + } + + private lateinit var mAdapter: SearchCategoryAdapter + + private lateinit var mSearchPresenter: CategoryPresenter + private var category: String? = null + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + category = arguments?.getString("category") + mSearchPresenter = CategoryPresenter(this) + lifecycle.addObserver(mSearchPresenter) + cmds = ArrayList() + } + + override fun getLayoutId(): Int { + return R.layout.fragment_search_category + } + + override fun onViewCreated( + view: View, + savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + mAdapter = SearchCategoryAdapter(activity, ArrayList()) + + rv_search_result.layoutManager = LinearLayoutManager(activity, LinearLayoutManager.VERTICAL, false) + rv_search_result.adapter = mAdapter + et_navi_search.setText(category) + + + iv_navi_back.setOnClickListener { + SearchServiceHolder.fragmentManager.pop() } - } + tv_navi_navi.setOnClickListener { + goPath() + } + mAdapter.setOnClickListener { + var position = it.getTag(R.id.tag_position) as Int + mAdapter.current = position + updateMarker() + } + + AIAssist.getInstance(context).registerUnWakeupCommand("back", arrayOf("关闭", "返回"), this) } - } - - private lateinit var mAdapter: SearchCategoryAdapter - - private lateinit var mSearchPresenter: CategoryPresenter - private var category: String? = null - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - category = arguments?.getString("category") - mSearchPresenter = CategoryPresenter(this) - lifecycle.addObserver(mSearchPresenter) - cmds = ArrayList() - } - - override fun getLayoutId(): Int { - return R.layout.fragment_search_category - } - - override fun onViewCreated( - view: View, - savedInstanceState: Bundle? - ) { - super.onViewCreated(view, savedInstanceState) - mAdapter = SearchCategoryAdapter(activity, ArrayList()) - - rv_search_result.layoutManager = - LinearLayoutManager(activity, LinearLayoutManager.VERTICAL, false) - - rv_search_result.adapter = mAdapter - - et_navi_search.setText(category) - - - iv_navi_back.setOnClickListener { - SearchServiceHolder.fragmentManager.pop() + private fun goPath() { + mAdapter.currentItem?.let { + AddressManager.calculatePath(mAdapter.currentItem.point) + } } - tv_navi_navi.setOnClickListener { + private fun updateMarker(moveToCenter:Boolean = true) { - goPath() - } - mAdapter.setOnClickListener { - var position = it.getTag(R.id.tag_position) as Int - mAdapter.setCurrent(position) - updateMarker() + addMarkers?.get(mAdapter.lastPosition)?.setIcon(getMarkerIcon(mAdapter.lastPosition)) + var current = addMarkers?.get(mAdapter.current) + current?.setIcon(getMarkerIcon(mAdapter.current)) + current?.setToTop() + arrayList.get(mAdapter.lastPosition).icon(getMarkerIcon(mAdapter.lastPosition)) + arrayList.get(mAdapter.current).icon(getMarkerIcon(mAdapter.current)) + if (moveToCenter) { + SearchServiceHolder.statusManager.setUserInteractionStatus(TAG, true, false) + SearchServiceHolder.getMapUIController().moveToCenter(current.position) + } } - AIAssist.getInstance(context) - .registerUnWakeupCommand("back", arrayOf("关闭", "返回"), this) + private fun getMarkerIcon(index: Int): Bitmap { + var decodeResource = BitmapFactory.decodeResource( + resources, + if (mAdapter.current == index) R.mipmap.icon_search_category_checked else R.mipmap.icon_search_category_unchecked + ) - } - - private fun goPath() { - mAdapter.currentItem?.let { - AddressManager.calculatePath(mAdapter.currentItem.point) + var createWaterMask = BitmapUtils.createWaterMask( + context, decodeResource, (index + 1).toString(), R.color.white, 18 + ) + return createWaterMask } - } - private fun updateMarker() { - - addMarkers?.get(mAdapter.lastPosition) - ?.setIcon(getMarkerIcon(mAdapter.lastPosition)) - var current = addMarkers?.get(mAdapter.current) - current?.setIcon(getMarkerIcon(mAdapter.current)) - current?.setToTop() - arrayList.get(mAdapter.lastPosition) - .icon(getMarkerIcon(mAdapter.lastPosition)) - arrayList.get(mAdapter.current) - .icon(getMarkerIcon(mAdapter.current)) - } - - private fun getMarkerIcon(index: Int): Bitmap { - var decodeResource = - BitmapFactory.decodeResource( - resources, - if (mAdapter.current == index) R.mipmap.icon_search_category_checked else R.mipmap.icon_search_category_unchecked - ) - - var createWaterMask = - BitmapUtils.createWaterMask( - context, decodeResource, (index + 1).toString(), R.color.white, 18 - ) - return createWaterMask - } - - override fun onActivityCreated(savedInstanceState: Bundle?) { - super.onActivityCreated(savedInstanceState) - mSearchPresenter.startSearchLocalPoiByInput(category) - } - - override fun onDestroyView() { - super.onDestroyView() - mSearchPresenter.onDestroy(viewLifecycleOwner) - lifecycle.removeObserver(mSearchPresenter) - SearchServiceHolder.getMarkerManger() - .removeMarkers(TAG) - - unRegisterVoice() - } - - private fun unRegisterVoice() { - cmds.forEach { - AIAssist.getInstance(context) - .unregisterUnWakeupCommand(it) + override fun onActivityCreated(savedInstanceState: Bundle?) { + super.onActivityCreated(savedInstanceState) + mSearchPresenter.startSearchLocalPoiByInput(category) } - } - override fun onDestroy() { - super.onDestroy() - } + override fun onDestroyView() { + super.onDestroyView() + mSearchPresenter.onDestroy(viewLifecycleOwner) + lifecycle.removeObserver(mSearchPresenter) + SearchServiceHolder.getMarkerManger().removeMarkers(TAG) - companion object { - fun newInstance(category: String): Fragment { - MapCenterPointStrategy.setMapCenterPointByScene(SearchServiceHolder.getMapUIController(), Scene.CATEGORY_SEARCH) - var bundle = Bundle() - bundle.putString("category", category) - var categorySerachFragment = CategorySearchFragment() - categorySerachFragment.arguments = bundle - return categorySerachFragment + unRegisterVoice() + } + + private fun unRegisterVoice() { + cmds.forEach { + AIAssist.getInstance(context).unregisterUnWakeupCommand(it) + } + } + + override fun onDestroy() { + super.onDestroy() + } + + companion object { + fun newInstance(category: String): Fragment { + MapCenterPointStrategy.setMapCenterPointByScene(SearchServiceHolder.getMapUIController(), Scene.CATEGORY_SEARCH) + var bundle = Bundle() + bundle.putString("category", category) + var categorySerachFragment = CategorySearchFragment() + categorySerachFragment.arguments = bundle + return categorySerachFragment + } } - } } diff --git a/upload.sh b/upload.sh index 317bc3cf79..69ea42b918 100755 --- a/upload.sh +++ b/upload.sh @@ -15,11 +15,11 @@ ./gradlew :modules:mogo-module-share:clean :modules:mogo-module-share:uploadArchives ./gradlew :modules:mogo-module-authorize:clean :modules:mogo-module-authorize:uploadArchives ./gradlew :modules:mogo-module-extensions:clean :modules:mogo-module-extensions:uploadArchives +./gradlew :modules:mogo-module-gps-simulator:clean :modules:mogo-module-gps-simulator:uploadArchives ./gradlew :modules:mogo-module-search:clean :modules:mogo-module-search:uploadArchives ./gradlew :modules:mogo-module-main:clean :modules:mogo-module-main:uploadArchives ./gradlew :modules:mogo-module-back:clean :modules:mogo-module-back:uploadArchives ./gradlew :modules:mogo-module-guide:clean :modules:mogo-module-guide:uploadArchives -./gradlew :modules:mogo-module-gps-simulator:clean :modules:mogo-module-gps-simulator:uploadArchives ./gradlew :modules:mogo-module-gps-simulator-debug:clean :modules:mogo-module-gps-simulator-debug:uploadArchives ./gradlew :modules:mogo-module-gps-simulator-noop:clean :modules:mogo-module-gps-simulator-noop:uploadArchives