修复UI-7
This commit is contained in:
@@ -115,4 +115,8 @@ public abstract class RecycleBaseAdapter<T> extends
|
||||
}
|
||||
return list.get(position);
|
||||
}
|
||||
|
||||
public List<T> getList() {
|
||||
return list;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,9 +2,12 @@ package com.mogo.module.navi.ui.search
|
||||
|
||||
import android.app.Service
|
||||
import android.os.Bundle
|
||||
import android.text.TextUtils
|
||||
import android.view.View
|
||||
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.navi.IMogoNaviListener
|
||||
import com.mogo.map.navi.MogoCalculatePath
|
||||
@@ -26,7 +29,52 @@ import kotlinx.android.synthetic.main.include_search_bar.iv_navi_back
|
||||
* @author zyz
|
||||
* 2020-01-09.
|
||||
*/
|
||||
class ChoosePathFragment : BaseFragment(), IMogoNaviListener {
|
||||
class ChoosePathFragment : BaseFragment(), IMogoNaviListener, IMogoVoiceCmdCallBack {
|
||||
override fun onCmdSelected(cmd: String?) {
|
||||
|
||||
when (cmd) {
|
||||
"firstPath" -> {
|
||||
selectItem(0)
|
||||
startNavi()
|
||||
|
||||
}
|
||||
"secondPath" -> {
|
||||
selectItem(1)
|
||||
startNavi()
|
||||
|
||||
}
|
||||
"thirdPath" -> {
|
||||
selectItem(2)
|
||||
startNavi()
|
||||
|
||||
}
|
||||
"startNavi" -> {
|
||||
startNavi()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private fun selectItem(index: Int) {
|
||||
|
||||
if (mAdapter.list.size > index) {
|
||||
selectPath(mAdapter.list[index])
|
||||
}
|
||||
}
|
||||
|
||||
override fun onCmdAction(speakText: String?) {
|
||||
}
|
||||
|
||||
override fun onCmdCancel(speakText: String?) {
|
||||
}
|
||||
|
||||
override fun onSpeakEnd(speakText: String?) {
|
||||
}
|
||||
|
||||
override fun onSpeakSelectTimeOut(speakText: String?) {
|
||||
}
|
||||
|
||||
override fun onInitNaviFailure() {
|
||||
}
|
||||
|
||||
@@ -54,14 +102,19 @@ class ChoosePathFragment : BaseFragment(), IMogoNaviListener {
|
||||
override fun onoCalculateFailed() {
|
||||
}
|
||||
|
||||
override fun onUpdateTraffic(traffic: MogoTraffic?) {
|
||||
}
|
||||
override fun onUpdateTraffic(traffic: MogoTraffic?) {
|
||||
}
|
||||
|
||||
private lateinit var mAdapter: CalculatePathAdapter
|
||||
private lateinit var mAdapter: CalculatePathAdapter
|
||||
override fun getLayoutId(): Int {
|
||||
return R.layout.fragment_search_category
|
||||
}
|
||||
|
||||
val firstPath: String = "第一个"
|
||||
val secondPath: String = "第二个"
|
||||
val thirdPath: String = "第三个"
|
||||
val startNavi: String = "开始导航"
|
||||
|
||||
var mogoTip: MogoLatLng? = null
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
@@ -69,6 +122,16 @@ class ChoosePathFragment : BaseFragment(), IMogoNaviListener {
|
||||
SearchServiceHolder.statusManager.setSearchUIShow(
|
||||
MogoModulePaths.PATH_FRAGMENT_CHOOSE_PAHT, true
|
||||
)
|
||||
|
||||
AIAssist.getInstance(context)
|
||||
.registerUnWakeupCommand("firstPath", arrayOf<String>(firstPath), this)
|
||||
AIAssist.getInstance(context)
|
||||
.registerUnWakeupCommand("secondPath", arrayOf<String>(secondPath), this)
|
||||
AIAssist.getInstance(context)
|
||||
.registerUnWakeupCommand("thirdPath", arrayOf<String>(thirdPath), this)
|
||||
AIAssist.getInstance(context)
|
||||
.registerUnWakeupCommand("startNavi", arrayOf<String>(startNavi), this)
|
||||
|
||||
}
|
||||
|
||||
// 是否开启导航
|
||||
@@ -101,11 +164,7 @@ class ChoosePathFragment : BaseFragment(), IMogoNaviListener {
|
||||
|
||||
rv_search_result.adapter = mAdapter
|
||||
tv_navi_navi.setOnClickListener {
|
||||
SearchServiceHolder.getNavi()
|
||||
.startNavi(false)
|
||||
SearchServiceHolder.getMapUIController().recoverLockMode()
|
||||
isStartedNavi = true
|
||||
SearchServiceHolder.fragmentManager.clearAll()
|
||||
startNavi()
|
||||
}
|
||||
|
||||
SearchServiceHolder.getNavi()
|
||||
@@ -115,28 +174,55 @@ class ChoosePathFragment : BaseFragment(), IMogoNaviListener {
|
||||
|
||||
mAdapter.setOnClickListener {
|
||||
var item = it.getTag(R.id.tag_item) as MogoCalculatePath
|
||||
selectPath(item)
|
||||
}
|
||||
|
||||
SearchServiceHolder.getMarkerManger()
|
||||
.removeMarkers()
|
||||
}
|
||||
|
||||
private fun startNavi() {
|
||||
SearchServiceHolder.getNavi()
|
||||
.startNavi(false)
|
||||
SearchServiceHolder.getMapUIController()
|
||||
.recoverLockMode()
|
||||
isStartedNavi = true
|
||||
SearchServiceHolder.fragmentManager.clearAll()
|
||||
}
|
||||
|
||||
private fun selectPath(item: MogoCalculatePath?) {
|
||||
item?.let {
|
||||
mAdapter.setSelectTag(item.tagId)
|
||||
SearchServiceHolder.getNavi()
|
||||
.itemClickInteraction.onItemClicked(item.tagId)
|
||||
}
|
||||
|
||||
SearchServiceHolder.getMarkerManger().removeMarkers()
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
SearchServiceHolder.listenerCenter.unregisterMogoNaviListener(
|
||||
MogoModulePaths.PATH_FRAGMENT_CHOOSE_PAHT
|
||||
MogoModulePaths.PATH_FRAGMENT_CHOOSE_PAHT
|
||||
)
|
||||
SearchServiceHolder.statusManager.setSearchUIShow(
|
||||
MogoModulePaths.PATH_FRAGMENT_CHOOSE_PAHT, false
|
||||
MogoModulePaths.PATH_FRAGMENT_CHOOSE_PAHT, false
|
||||
)
|
||||
if (!isStartedNavi) {
|
||||
SearchServiceHolder.getNavi().clearCalculatePaths()
|
||||
SearchServiceHolder.getNavi()
|
||||
.clearCalculatePaths()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
AIAssist.getInstance(context)
|
||||
.unregisterUnWakeupCommand("firstPath")
|
||||
AIAssist.getInstance(context)
|
||||
.unregisterUnWakeupCommand("secondPath")
|
||||
AIAssist.getInstance(context)
|
||||
.unregisterUnWakeupCommand("thirdPath")
|
||||
AIAssist.getInstance(context)
|
||||
.unregisterUnWakeupCommand("startNavi")
|
||||
|
||||
}
|
||||
|
||||
companion object {
|
||||
fun newInstance(searchPoi: MogoLatLng): Fragment {
|
||||
var bundle = Bundle()
|
||||
|
||||
Reference in New Issue
Block a user