修复UI-7

This commit is contained in:
zhangyuanzhen
2020-02-13 10:32:57 +08:00
parent 35a75571f2
commit 050bf3c397
4 changed files with 107 additions and 16 deletions

View File

@@ -115,4 +115,8 @@ public abstract class RecycleBaseAdapter<T> extends
}
return list.get(position);
}
public List<T> getList() {
return list;
}
}

View File

@@ -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()