diff --git a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/model/CharterPassengerModel.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/model/CharterPassengerModel.kt index 5b596e3a96..b8eeb38cb3 100644 --- a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/model/CharterPassengerModel.kt +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/model/CharterPassengerModel.kt @@ -394,6 +394,7 @@ object CharterPassengerModel { } } if (order.lineId == null || order.lineId == 0L || order.siteId == null || order.siteId == 0L) { + this.orderInfo = orderData // 去选线路和站点 setOrderStatus(OrderStatusEnum.OrderNoLine) } else { @@ -401,7 +402,10 @@ object CharterPassengerModel { if (this.orderInfo?.lineId != orderData.lineId) {// 线路变更 // 查询自动驾驶轨迹 queryLocusByLineId(order.lineId) + this.orderInfo = orderData setOrderStatus(OrderStatusEnum.OrdersWithLine) + }else{ + this.orderInfo = orderData } //计算终点距离 mLocationGCJ02?.let { currentInfo -> @@ -425,8 +429,6 @@ object CharterPassengerModel { } } } - // 设置id - this.orderInfo = orderData // 启动时间校准 startCalibrationLoop() } diff --git a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/BusPassengerPresenter.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/BusPassengerPresenter.kt index 2a5a454db6..7b105cfaa5 100644 --- a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/BusPassengerPresenter.kt +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/BusPassengerPresenter.kt @@ -8,14 +8,13 @@ import androidx.lifecycle.LifecycleOwner import com.amap.api.maps.model.LatLng import com.mogo.commons.voice.AIAssist import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener -import com.mogo.eagle.core.function.api.telematic.IReceivedMsgListener import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager import com.mogo.eagle.core.function.call.telematic.CallerTelematicListenerManager import com.mogo.eagle.core.function.view.SiteMarkerBean import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_BUS_P -import com.mogo.eagle.core.utilcode.util.GsonUtils +import com.mogo.eagle.core.utilcode.util.SharedPrefs import com.mogo.eagle.core.utilcode.util.ToastUtils import com.mogo.eagle.core.utilcode.util.UiThreadHandler import com.mogo.och.bus.passenger.R @@ -28,23 +27,16 @@ import com.mogo.och.bus.passenger.callback.IOrderChangeCallback import com.mogo.och.bus.passenger.model.CharterPassengerModel import com.mogo.och.bus.passenger.model.IOrderStatusChangeListener import com.mogo.och.bus.passenger.model.OrderStatusEnum +import com.mogo.och.bus.passenger.receive.DriverMessage import com.mogo.och.bus.passenger.ui.MainFragment import com.mogo.och.bus.passenger.view.MakerWithSiteName import com.mogo.och.bus.passenger.view.MakerWithSiteNamewithCheck -import com.mogo.och.common.module.bean.dpmsg.BaseDPMsg -import com.mogo.och.common.module.bean.dpmsg.DPCommonOperationMsg -import com.mogo.och.common.module.bean.dpmsg.DPMsgType -import com.mogo.och.common.module.biz.common.socketmessage.OCHSocketMessageManager -import com.mogo.och.common.module.biz.constant.OchCommonConst import com.mogo.och.common.module.biz.network.OchCommonServiceCallback import com.mogo.och.common.module.manager.OCHPlanningStopSideStatusManager import com.mogo.och.common.module.manager.devicemanage.LightAirconditionDoorCallback -import com.mogo.och.common.module.manager.devicemanage.LightAirconditionDoorManager -import com.mogo.och.common.module.manager.devicemanage.LightAirconditionDoorStatusManager import com.mogo.och.common.module.utils.CoordinateCalculateRouteUtil import com.mogo.och.common.module.utils.DateTimeUtil import com.mogo.och.common.module.utils.NumberFormatUtil -import com.mogo.och.common.module.utils.SoundPoolHelper import com.mogo.och.common.module.voice.VoiceNotice import me.jessyan.autosize.utils.AutoSizeUtils import java.util.concurrent.ConcurrentHashMap @@ -57,6 +49,11 @@ class BusPassengerPresenter(view: MainFragment?) : private val lindIdAndView = ConcurrentHashMap() + companion object { + private const val TAG = "BusPassengerPresenter" + private const val KEY4SHOWNOVICEGUIDANCE = "showNoviceGuidanceOrderNor" + + } override fun onCreate(owner: LifecycleOwner) { super.onCreate(owner) CharterPassengerModel.init() @@ -64,7 +61,7 @@ class BusPassengerPresenter(view: MainFragment?) : CharterPassengerModel.setStationDistanceListener(TAG, this) CharterPassengerModel.setCarTypeChangeListener(this) CharterPassengerModel.setStatusChangeListener(TAG, this) - CallerTelematicListenerManager.addListener(TAG, msgReceived) + CallerTelematicListenerManager.addListener(TAG, DriverMessage) OCHPlanningStopSideStatusManager.addListener(TAG, this) setCarChangeListener(R.raw.m1) @@ -96,48 +93,6 @@ class BusPassengerPresenter(view: MainFragment?) : } } - val msgReceived = object : IReceivedMsgListener { - override fun onReceivedMsg(type: Int, byteArray: ByteArray) { - UiThreadHandler.post { - if (type == OchCommonConst.BUSINESS_STRING) { - val msg = GsonUtils.fromJson( - String(byteArray), - BaseDPMsg::class.java - ) as BaseDPMsg - when (msg.type) { - DPMsgType.TYPE_OPEN_CLOSE_DOOR.type -> { - CallerLogger.d(M_BUS_P + BaseDPMsg.TAG, "收到数据:开关门") - val doorStatus = LightAirconditionDoorStatusManager.doorStatus - if (doorStatus.isOpen) { - LightAirconditionDoorManager.go2OpenDoor(false) - } else { - LightAirconditionDoorManager.go2OpenDoor(true) - } - } - DPMsgType.TYPE_COMMON.type -> { - CallerLogger.d(M_BUS_P + BaseDPMsg.TAG, "收到数据:常规数据") - val msg = GsonUtils.fromJson( - String(byteArray), - DPCommonOperationMsg::class.java - ) as DPCommonOperationMsg - pushOperationalToMsgBox(DateTimeUtil.getCurrentTimeStamp(), msg.msg) - } - else -> {} - } - } - } - } - } - - fun pushOperationalToMsgBox(time: Long, content: String, type: Int = -1) { - playDI() - OCHSocketMessageManager.pushAppOperationalMsgBox(time, content, type) - } - - private fun playDI() { - SoundPoolHelper.getSoundPoolHelper().playSoundWithRedId(context, R.raw.m1_voice_di) - } - /** * 计算剩余距离和剩余时间 */ @@ -161,10 +116,6 @@ class BusPassengerPresenter(view: MainFragment?) : setDistanceAndTime(dis.toString(), disUnit, time.toString(), arriveTime) } - companion object { - private const val TAG = "BusPassengerPresenter" - } - override fun setCarChangeListener(productType: Int?) { when (productType) { OrderInfoResponse.M1_LOVE -> { @@ -191,8 +142,11 @@ class BusPassengerPresenter(view: MainFragment?) : OrderStatusEnum.Nothing -> {} OrderStatusEnum.NoOrderUnuse -> { mView?.closeOpenAndCloseDoor() + clearShowNoviceGuidanceSharedPrefs() + } + OrderStatusEnum.OrderNoLine -> { + showNoviceGuidance() } - OrderStatusEnum.OrderNoLine -> {} OrderStatusEnum.OrdersWithLine -> {} OrderStatusEnum.NoOrderUse -> { when (CallerAutoPilotStatusListenerManager.getAutoPilotStatusInfo().state) { @@ -220,6 +174,35 @@ class BusPassengerPresenter(view: MainFragment?) : } } + private fun clearShowNoviceGuidanceSharedPrefs() { + SharedPrefs.getInstance(context).remove(KEY4SHOWNOVICEGUIDANCE) + } + + private fun showNoviceGuidance() { + CallerLogger.d(M_BUS_P + TAG, "showNoviceGuidance") + val currentOrderInfo = CharterPassengerModel.getCurrentOrderInfo() + currentOrderInfo?.orderNo?.let {order-> + val stringSet = SharedPrefs.getInstance(context).getStringSet(KEY4SHOWNOVICEGUIDANCE) + fun setData2SP(){ + val orderNoSet = mutableSetOf(order) + SharedPrefs.getInstance(context).putStringSet(KEY4SHOWNOVICEGUIDANCE, orderNoSet) + } + if(stringSet==null){ + setData2SP() + }else{ + if (stringSet.contains(order)) { + return + }else{ + setData2SP() + } + } + UiThreadHandler.post({ + mView?.showNoviceGuidanceFragment() + },UiThreadHandler.MODE.QUEUE) + + } + } + override fun setEndStationCallBack( siteId: Long?, siteName: String?, diff --git a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/receive/DriverMessage.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/receive/DriverMessage.kt new file mode 100644 index 0000000000..bd16acb41d --- /dev/null +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/receive/DriverMessage.kt @@ -0,0 +1,87 @@ +package com.mogo.och.bus.passenger.receive + +import com.mogo.commons.AbsMogoApplication +import com.mogo.commons.voice.AIAssist +import com.mogo.eagle.core.function.api.telematic.IReceivedMsgListener +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger +import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant +import com.mogo.eagle.core.utilcode.util.GsonUtils +import com.mogo.eagle.core.utilcode.util.UiThreadHandler +import com.mogo.och.bus.passenger.R +import com.mogo.och.common.module.bean.dpmsg.AppConnectMsg +import com.mogo.och.common.module.bean.dpmsg.BaseDPMsg +import com.mogo.och.common.module.bean.dpmsg.DPCommonOperationMsg +import com.mogo.och.common.module.bean.dpmsg.DPMsgType +import com.mogo.och.common.module.biz.common.socketmessage.OCHSocketMessageManager +import com.mogo.och.common.module.biz.constant.OchCommonConst +import com.mogo.och.common.module.manager.devicemanage.LightAirconditionDoorManager +import com.mogo.och.common.module.manager.devicemanage.LightAirconditionDoorStatusManager +import com.mogo.och.common.module.utils.DateTimeUtil +import com.mogo.och.common.module.utils.RxUtils +import com.mogo.och.common.module.utils.SoundPoolHelper + +object DriverMessage: IReceivedMsgListener { + override fun onReceivedMsg(type: Int, byteArray: ByteArray) { + UiThreadHandler.post { + if (type == OchCommonConst.BUSINESS_STRING) { + val msg = GsonUtils.fromJson( + String(byteArray), + BaseDPMsg::class.java + ) as BaseDPMsg + when (msg.type) { + DPMsgType.TYPE_OPEN_CLOSE_DOOR.type -> { + CallerLogger.d(SceneConstant.M_BUS_P + BaseDPMsg.TAG, "收到数据:开关门") + val doorStatus = LightAirconditionDoorStatusManager.doorStatus + if (doorStatus.isOpen) { + LightAirconditionDoorManager.go2OpenDoor(false) + } else { + LightAirconditionDoorManager.go2OpenDoor(true) + } + } + DPMsgType.TYPE_COMMON.type -> { + CallerLogger.d(SceneConstant.M_BUS_P + BaseDPMsg.TAG, "收到数据:常规数据") + val msg = GsonUtils.fromJson( + String(byteArray), + DPCommonOperationMsg::class.java + ) as DPCommonOperationMsg + pushOperationalToMsgBox(DateTimeUtil.getCurrentTimeStamp(), msg.msg) + } + DPMsgType.TYPE_COMMON.type -> { + CallerLogger.d(SceneConstant.M_BUS_P + BaseDPMsg.TAG, "收到数据:常规数据") + val msg = GsonUtils.fromJson( + String(byteArray), + AppConnectMsg::class.java + ) as AppConnectMsg + if (msg.isViewShow) { //消息盒子显示内容 + OCHSocketMessageManager.pushAppOperationalMsgBox( + DateTimeUtil.getCurrentTimeStamp(), msg.msg, + OCHSocketMessageManager.OPERATION_SYSTEM + ) + } + if(msg.isPlay){ + AIAssist.getInstance(AbsMogoApplication.getApp()).speakTTSVoiceWithLevel(msg.msg, AIAssist.LEVEL1) + if(msg.msg.contains("核销成功")){ + RxUtils.createSubscribe(15_000) { + val string = AbsMogoApplication.getApp().getString(R.string.m1_welcome_tts) + AIAssist.getInstance(AbsMogoApplication.getApp()).speakTTSVoiceWithLevel(string, AIAssist.LEVEL1) + } + } + } + } + else -> {} + } + } + } + } + + private fun pushOperationalToMsgBox(time: Long, content: String, type: Int = -1) { + playDI() + OCHSocketMessageManager.pushAppOperationalMsgBox(time, content, type) + } + + private fun playDI() { + SoundPoolHelper.getSoundPoolHelper().playSoundWithRedId(AbsMogoApplication.getApp(), R.raw.m1_voice_di) + } + + +} \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/NoviceGuidanceFragment.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/NoviceGuidanceFragment.kt index 2ac85fb6f5..0dd1d472f9 100644 --- a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/NoviceGuidanceFragment.kt +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/NoviceGuidanceFragment.kt @@ -9,31 +9,22 @@ import androidx.fragment.app.DialogFragment import androidx.fragment.app.Fragment import androidx.fragment.app.FragmentManager import androidx.fragment.app.FragmentTransaction +import com.mogo.commons.AbsMogoApplication import com.mogo.commons.mvp.MvpDialogFragment +import com.mogo.commons.voice.AIAssist import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_BUS_P import com.mogo.eagle.core.utilcode.util.* import com.mogo.och.bus.passenger.R -import com.mogo.och.bus.passenger.bean.event.EventLineSites -import com.mogo.och.bus.passenger.presenter.BusPassengerFunctionPresenter import com.mogo.och.bus.passenger.presenter.CharterPassengerNoviceGuidancePresenter import com.mogo.och.bus.passenger.ui.MainFragment -import com.mogo.och.bus.passenger.ui.dialogfragment.fragment.M1OrderLineFragment -import com.mogo.och.bus.passenger.ui.dialogfragment.fragment.M1SoftFragment -import com.mogo.och.bus.passenger.ui.dialogfragment.fragment.M1VideoFragment -import com.mogo.och.bus.passenger.ui.dialogfragment.fragment.OrderInfoFragment -import com.mogo.och.bus.passenger.ui.view.bottom.BottomBar -import com.mogo.och.bus.passenger.ui.view.bottom.BottomClickView -import kotlinx.android.synthetic.main.m1_contain_fragment.* -import kotlinx.android.synthetic.main.m1_contain_fragment.cl_container -import kotlinx.android.synthetic.main.m1_devices_fragment.* +import com.mogo.och.common.module.voice.VoiceNotice import kotlinx.android.synthetic.main.m1_novice_guidance_fragment.* import kotlinx.android.synthetic.main.m1_novice_guidance_welcome_1_fragment.* import kotlinx.android.synthetic.main.m1_novice_guidance_welcome_2_fragment.* import kotlinx.android.synthetic.main.m1_novice_guidance_welcome_3_fragment.* import kotlinx.android.synthetic.main.m1_novice_guidance_welcome_4_fragment.* import kotlinx.android.synthetic.main.m1_novice_guidance_welcome_fragment.* -import org.greenrobot.eventbus.EventBus /** * 新手引导 @@ -42,14 +33,23 @@ class NoviceGuidanceFragment : MvpDialogFragment(), View.OnClickListener { - var closeThis:ContainDismiss = object :ContainDismiss{ + private var m1_novice_guidance_tts = true + private var m1_novice_guidance_door_tts = true + private var m1_novice_guidance_stop_site_tts = true + private var m1_novice_guidance_notice_tts = true + private var m1_novice_guidance_complier_tts = true + + private var pageStatus: PageStatus = PageStatus.Startpage + + + var closeThis: ContainDismiss = object : ContainDismiss { override fun closeDialog() { dismissAllowingStateLoss() } } override fun onCreate(savedInstanceState: Bundle?) { - CallerLogger.d(M_BUS_P+ TAG, "onCreate") + CallerLogger.d(M_BUS_P + TAG, "onCreate") super.onCreate(savedInstanceState) arguments?.let { //tab = it.getString(SELECTTAB, VIDEOTAB) @@ -65,21 +65,69 @@ class NoviceGuidanceFragment : override fun getTagName(): String = TAG override fun initViews() { - CallerLogger.d(M_BUS_P+ TAG, "initViews") + CallerLogger.d(M_BUS_P + TAG, "initViews") setTargetVisable(startGuidance = true) - v_clikc_go_explore_bg.setOnClickListener { setTargetVisable(welcome01 = true)} - v_next_page_01.setOnClickListener { setTargetVisable(welcome02 = true) } + v_clikc_go_explore_bg.setOnClickListener { + if (pageStatus == PageStatus.Startpage) { + setTargetVisable(welcome01 = true) + if (m1_novice_guidance_tts) { + val m1NoviceGuidanceTts = + AbsMogoApplication.getApp().getString(R.string.m1_novice_guidance_tts) + VoiceNotice.showNotice(m1NoviceGuidanceTts, AIAssist.LEVEL1) + m1_novice_guidance_tts = false + } + }else if(pageStatus == PageStatus.EndPage){ + dismissAllowingStateLoss() + } + } + v_next_page_select_line.setOnClickListener { + setTargetVisable(welcome02 = true) + if (m1_novice_guidance_door_tts) { + val m1NoviceGuidanceDoorTts = + AbsMogoApplication.getApp().getString(R.string.m1_novice_guidance_door_tts) + VoiceNotice.showNotice(m1NoviceGuidanceDoorTts, AIAssist.LEVEL1) + m1_novice_guidance_door_tts = false + } + } - v_pre_page_02.setOnClickListener { setTargetVisable(welcome01 = true) } - v_next_page_02.setOnClickListener { setTargetVisable(welcome03 = true) } + v_pre_page_go_auto.setOnClickListener { + setTargetVisable(welcome01 = true) + } + v_next_page_go_auto.setOnClickListener { + setTargetVisable(welcome03 = true) + if (m1_novice_guidance_stop_site_tts) { + val m1NoviceGuidanceStopSiteTts = + AbsMogoApplication.getApp().getString(R.string.m1_novice_guidance_stop_site_tts) + VoiceNotice.showNotice(m1NoviceGuidanceStopSiteTts, AIAssist.LEVEL1) + m1_novice_guidance_stop_site_tts = false + } + } - v_pre_page_03.setOnClickListener { setTargetVisable(welcome02 = true) } - v_next_page_03.setOnClickListener { setTargetVisable(welcome04 = true) } + v_pre_page_stop_site.setOnClickListener { + setTargetVisable(welcome02 = true) + } + v_next_page_stop_site.setOnClickListener { + setTargetVisable(welcome04 = true) + if (m1_novice_guidance_notice_tts) { + val m1NoviceGuidanceStopSiteTts = + AbsMogoApplication.getApp().getString(R.string.m1_novice_guidance_notice_tts) + VoiceNotice.showNotice(m1NoviceGuidanceStopSiteTts, AIAssist.LEVEL1) + m1_novice_guidance_notice_tts = false + } + } - v_pre_page_04.setOnClickListener { setTargetVisable(welcome03 = true) } - v_next_page_04.setOnClickListener { + v_pre_page_notice.setOnClickListener { + setTargetVisable(welcome03 = true) + } + v_next_page_notice.setOnClickListener { setTargetVisable(complierGuidance = true) + if (m1_novice_guidance_complier_tts) { + val m1NoviceGuidanceStopSiteTts = + AbsMogoApplication.getApp().getString(R.string.m1_novice_guidance_complier_tts) + VoiceNotice.showNotice(m1NoviceGuidanceStopSiteTts, AIAssist.LEVEL1) + m1_novice_guidance_complier_tts = false + } } v_welcome_close_01.setOnClickListener(this) @@ -96,7 +144,7 @@ class NoviceGuidanceFragment : override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - CallerLogger.d(M_BUS_P+ TAG, "onViewCreated") + CallerLogger.d(M_BUS_P + TAG, "onViewCreated") dialog?.window?.let { BarUtils.hideStatusBarAndSticky(it) it.addFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE) @@ -107,19 +155,19 @@ class NoviceGuidanceFragment : } } - fun setUserPhoneInfo(phone:String){ - if(phone.length>8) { + fun setUserPhoneInfo(phone: String) { + if (phone.length > 8) { //截取电话号码前三位 val phoneNumPre = phone.substring(0, 3); //截取电话号码后四位 val phoneNumFix = phone.substring(7); actv_userinfo.text = "$phoneNumPre****$phoneNumFix" - }else{ + } else { actv_userinfo.text = phone } } - fun setStartTimeAndEndTime(startTime:String,endTime:String){ + fun setStartTimeAndEndTime(startTime: String, endTime: String) { actv_order_time.text = "$startTime-$endTime" } @@ -129,20 +177,22 @@ class NoviceGuidanceFragment : welcome02: Boolean = false, welcome03: Boolean = false, welcome04: Boolean = false, - complierGuidance:Boolean = false + complierGuidance: Boolean = false ) { - if (startGuidance||complierGuidance) { - if(startGuidance){ + if (startGuidance || complierGuidance) { + if (startGuidance) { include_welcome.visibility = View.VISIBLE actv_start_guildance.visibility = View.VISIBLE group_complete_guidance.visibility = View.GONE actv_click_go_explore.text = "点击开始探索" + pageStatus = PageStatus.Startpage } - if(complierGuidance){ + if (complierGuidance) { include_welcome.visibility = View.VISIBLE actv_start_guildance.visibility = View.GONE group_complete_guidance.visibility = View.VISIBLE actv_click_go_explore.text = "点我进入主页" + pageStatus = PageStatus.EndPage } } else { @@ -150,20 +200,46 @@ class NoviceGuidanceFragment : actv_start_guildance.visibility = View.GONE group_complete_guidance.visibility = View.GONE } - if (welcome01) { include_welcome_01.visibility = View.VISIBLE } else { include_welcome_01.visibility = View.GONE } - if (welcome02) { include_welcome_02.visibility = View.VISIBLE } else { include_welcome_02.visibility = View.GONE } - if (welcome03) { include_welcome_03.visibility = View.VISIBLE } else { include_welcome_03.visibility = View.GONE } - if (welcome04) { include_welcome_04.visibility = View.VISIBLE } else { include_welcome_04.visibility = View.GONE } + if (welcome01) { + include_welcome_01.visibility = View.VISIBLE + pageStatus = PageStatus.NoviceGuidanceSelectLine + } else { + include_welcome_01.visibility = View.GONE + } + if (welcome02) { + include_welcome_02.visibility = View.VISIBLE + pageStatus = PageStatus.NoviceGuidanceDoorAndGo + } else { + include_welcome_02.visibility = View.GONE + } + if (welcome03) { + include_welcome_03.visibility = View.VISIBLE + pageStatus = PageStatus.NoviceGuidanceStopSite + } else { + include_welcome_03.visibility = View.GONE + } + if (welcome04) { + include_welcome_04.visibility = View.VISIBLE + pageStatus = PageStatus.NoviceGuidanceNotice + } else { + include_welcome_04.visibility = View.GONE + } } override fun onDismiss(dialog: DialogInterface) { super.onDismiss(dialog) + m1_novice_guidance_tts = true + m1_novice_guidance_door_tts = true + m1_novice_guidance_stop_site_tts = true + m1_novice_guidance_notice_tts = true + m1_novice_guidance_complier_tts = true + pageStatus = PageStatus.Startpage } override fun onSaveInstanceState(outState: Bundle) { super.onSaveInstanceState(outState) - CallerLogger.d(M_BUS_P+ TAG, "onSaveInstanceState") + CallerLogger.d(M_BUS_P + TAG, "onSaveInstanceState") } override fun createPresenter(): CharterPassengerNoviceGuidancePresenter = @@ -203,7 +279,7 @@ class NoviceGuidanceFragment : } override fun onViewStateRestored(savedInstanceState: Bundle?) { - CallerLogger.d(M_BUS_P+ TAG, "onViewStateRestored") + CallerLogger.d(M_BUS_P + TAG, "onViewStateRestored") super.onViewStateRestored(savedInstanceState) } @@ -224,7 +300,8 @@ class NoviceGuidanceFragment : parentFragmentManager: FragmentManager, bpFunctionGroup: NoviceGuidanceFragment?, ) { - val fragmentByTag: Fragment? = childFragmentManager.findFragmentByTag(NoviceGuidanceFragment.TAG) + val fragmentByTag: Fragment? = + childFragmentManager.findFragmentByTag(NoviceGuidanceFragment.TAG) if (fragmentByTag is DialogFragment) { if (fragmentByTag.dialog != null && fragmentByTag.dialog!!.isShowing) { CallerLogger.d(M_BUS_P + MainFragment.TAG, "正在展示") @@ -256,7 +333,16 @@ class NoviceGuidanceFragment : } } - interface ContainDismiss{ + interface ContainDismiss { fun closeDialog() } + + enum class PageStatus { + Startpage, + NoviceGuidanceSelectLine, + NoviceGuidanceDoorAndGo, + NoviceGuidanceStopSite, + NoviceGuidanceNotice, + EndPage + } } \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_novice_guidance_welcome_1_fragment.xml b/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_novice_guidance_welcome_1_fragment.xml index c6e4e3bead..76edec3018 100644 --- a/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_novice_guidance_welcome_1_fragment.xml +++ b/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_novice_guidance_welcome_1_fragment.xml @@ -7,7 +7,7 @@ xmlns:app="http://schemas.android.com/apk/res-auto"> --:-- 靠边停车 + 欢迎乘坐蘑菇车联自动驾驶小巴车,按照桌面屏幕的指引,开始探索吧!小蘑菇预祝您旅途愉快 + + 铛铛~接下来由蘑菇小助手为您\'指引方向\'! + 关闭车门后,点击‘出发’按钮启程,车辆自动判断开始自动驾驶啦!咻~ + 点击‘停车’按钮后,车辆自动靠边停车,车辆停稳后就可以下车游玩啦! + 最后,蘑菇小助手为您送上乘车小贴士~ + 太棒了!您已完成乘车指南,更多功能欢迎探索~蘑菇小助手预祝您旅途愉快 + + + + + + + + + + + + + + + + + +