opt
This commit is contained in:
@@ -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}",
|
||||
]
|
||||
}
|
||||
@@ -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
|
||||
# 视频引导接口
|
||||
|
||||
@@ -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 );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.mogo.map.navi;
|
||||
|
||||
import android.location.Location;
|
||||
|
||||
/**
|
||||
* @author congtaowang
|
||||
* @since 2020-03-14
|
||||
* <p>
|
||||
* 车辆位置变化
|
||||
*/
|
||||
public interface IMogoCarLocationChangedListener2 extends IMogoCarLocationChangedListener {
|
||||
|
||||
void onCarLocationChanged2( Location latLng );
|
||||
}
|
||||
@@ -144,12 +144,19 @@ public interface IMogoNavi {
|
||||
*/
|
||||
MogoLatLng getCarLocation();
|
||||
|
||||
/**
|
||||
* 获取车标经纬度
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
Location getCarLocation2();
|
||||
|
||||
/**
|
||||
* 注册车辆位置变化监听,非业务使用
|
||||
*
|
||||
* @param listener
|
||||
*/
|
||||
void registerCarLocationChangedListener( IMogoCarLocationChangedListener listener );
|
||||
void registerCarLocationChangedListener( IMogoCarLocationChangedListener2 listener );
|
||||
|
||||
/**
|
||||
* 打开巡航模式
|
||||
|
||||
@@ -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 );
|
||||
}
|
||||
|
||||
@@ -51,3 +51,5 @@ dependencies {
|
||||
implementation project(':services:mogo-service-api')
|
||||
}
|
||||
}
|
||||
|
||||
apply from: new File(rootProject.rootDir, "gradle/upload.gradle").toString()
|
||||
|
||||
@@ -46,3 +46,5 @@ dependencies {
|
||||
implementation project(':modules:mogo-module-gps-simulator')
|
||||
}
|
||||
}
|
||||
|
||||
apply from: new File(rootProject.rootDir, "gradle/upload.gradle").toString()
|
||||
|
||||
@@ -37,3 +37,5 @@ dependencies {
|
||||
implementation project(':modules:mogo-module-authorize')
|
||||
}
|
||||
}
|
||||
|
||||
apply from: new File(rootProject.rootDir, "gradle/upload.gradle").toString()
|
||||
|
||||
@@ -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 {
|
||||
|
||||
/**
|
||||
* 地图加载完成回调
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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<IMogoMarker> = ArrayList()
|
||||
var arrayList = ArrayList<MogoMarkerOptions>()
|
||||
var locationList = ArrayList<MogoLatLng>()
|
||||
private val TAG: String = "CategorySearchFragment"
|
||||
private var addMarkers: ArrayList<IMogoMarker> = ArrayList()
|
||||
var arrayList = ArrayList<MogoMarkerOptions>()
|
||||
var locationList = ArrayList<MogoLatLng>()
|
||||
|
||||
private lateinit var cmds: ArrayList<String>
|
||||
override fun renderSearchPoiResult(datums: List<MogoPoiItem>?) {
|
||||
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<String>
|
||||
override fun renderSearchPoiResult(datums: List<MogoPoiItem>?) {
|
||||
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<String>()
|
||||
}
|
||||
|
||||
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<String>()
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user