diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerBaseFragment.kt b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerBaseFragment.kt
index ca3c1e94fe..0a8eb1e3fd 100644
--- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerBaseFragment.kt
+++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerBaseFragment.kt
@@ -137,8 +137,6 @@ class TaxiPassengerBaseFragment() :
// 切换缩放到中视角
controller.changeZoom2(0.8f)
}
-// showOrHideArrivedEndLayout(true)
- showOrHideStartAutopilotView(true)
}
BottomBar.SelectView.OVERMAPVIEW -> {
overMapView.displayCustomOverView()
diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/arrived/ArrivedView.kt b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/arrived/ArrivedView.kt
index ec1b21f7b7..c83027dc5e 100644
--- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/arrived/ArrivedView.kt
+++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/arrived/ArrivedView.kt
@@ -4,14 +4,15 @@ import android.content.Context
import android.util.AttributeSet
import android.view.LayoutInflater
import androidx.lifecycle.ViewModelProvider
+import com.mogo.commons.AbsMogoApplication
import com.mogo.eagle.core.utilcode.kotlin.onClick
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
import com.mogo.eagle.core.utilcode.util.OverlayViewUtils
import com.mogo.och.common.module.utils.RxUtils
import com.mogo.och.taxi.passenger.R
-import com.mogo.och.taxi.passenger.callback.ITaxiPassengerCommonCallback
import com.mogo.och.taxi.passenger.widget.WindowRelativeLayout
+import com.shuyu.gsyvideoplayer.GSYVideoManager
import com.shuyu.gsyvideoplayer.builder.GSYVideoOptionBuilder
import com.shuyu.gsyvideoplayer.listener.GSYSampleCallBack
import io.reactivex.disposables.Disposable
@@ -39,9 +40,6 @@ class ArrivedView : WindowRelativeLayout, ArrivedViewModel.ArrivedViewCallback {
private val gsyVideoOptionBuilder = GSYVideoOptionBuilder()
-
- var taxiPassengerCommonCallback: ITaxiPassengerCommonCallback?=null
-
private fun initView() {
d(SceneConstant.M_TAXI_P + TAG, "initView")
LayoutInflater.from(context).inflate(R.layout.taxi_p_arrived_end_panel, this, true)
@@ -50,7 +48,7 @@ class ArrivedView : WindowRelativeLayout, ArrivedViewModel.ArrivedViewCallback {
svp_frame.setIsTouchWigetFull(false)
svp_frame.enableshowProgressDialog = false
svp_frame.enableDoubleClick = false
-
+ GSYVideoManager.instance().enableRawPlay(AbsMogoApplication.getApp())
val url = "android.resource://" + context.packageName + "/" + R.raw.end_video
gsyVideoOptionBuilder.setUrl(url)
.setCacheWithPlay(false)
diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/startautopilot/StartAutopilotView.kt b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/startautopilot/StartAutopilotView.kt
index 585d97353c..a33a565770 100644
--- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/startautopilot/StartAutopilotView.kt
+++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/startautopilot/StartAutopilotView.kt
@@ -13,7 +13,11 @@ import com.mogo.eagle.core.utilcode.util.ToastUtils
import com.mogo.och.common.module.utils.AnimatorDrawableUtil
import com.mogo.och.taxi.passenger.R
import com.mogo.och.taxi.passenger.widget.WindowRelativeLayout
+import kotlinx.android.synthetic.main.taxi_p_start_autopilot_view.view.actv_front_left_door
+import kotlinx.android.synthetic.main.taxi_p_start_autopilot_view.view.actv_front_right_door
import kotlinx.android.synthetic.main.taxi_p_start_autopilot_view.view.actv_orderinfo
+import kotlinx.android.synthetic.main.taxi_p_start_autopilot_view.view.actv_rear_left_door
+import kotlinx.android.synthetic.main.taxi_p_start_autopilot_view.view.actv_rear_right_door
import kotlinx.android.synthetic.main.taxi_p_start_autopilot_view.view.starting_autopilot_view_close
import kotlinx.android.synthetic.main.taxi_p_start_autopilot_view.view.taxi_p_autopilot_btn_bg
import kotlinx.android.synthetic.main.taxi_p_start_autopilot_view.view.taxi_p_autopilot_starting
@@ -106,6 +110,45 @@ class StartAutopilotView : WindowRelativeLayout, StartAutopilotViewModel.StartAu
actv_orderinfo.text = show
}
+ override fun setDoorStatus(
+ doorPosition: StartAutopilotViewModel.DoorPosition,
+ isOpen: Boolean
+ ) {
+ when (doorPosition) {
+ StartAutopilotViewModel.DoorPosition.FRONT_LEFT -> {
+ if(isOpen){
+ actv_front_left_door.visibility = VISIBLE
+ }else{
+ actv_front_left_door.visibility = GONE
+ }
+ }
+ StartAutopilotViewModel.DoorPosition.FRONT_RIGHT -> {
+ if(isOpen){
+ actv_front_right_door.visibility = VISIBLE
+ }else{
+ actv_front_right_door.visibility = GONE
+ }
+ }
+ StartAutopilotViewModel.DoorPosition.REAR_LEFT -> {
+ if(isOpen){
+ actv_rear_left_door.visibility = VISIBLE
+ }else{
+ actv_rear_left_door.visibility = GONE
+ }
+ }
+ StartAutopilotViewModel.DoorPosition.REAR_RIGHT -> {
+ if(isOpen){
+ actv_rear_right_door.visibility = VISIBLE
+ }else{
+ actv_rear_right_door.visibility = GONE
+ }
+ }
+ else ->{
+
+ }
+ }
+ }
+
fun closeAllAnimsAndView() {
isStarting = false
clearStartingAnimFrame()
diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/startautopilot/StartAutopilotViewModel.kt b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/startautopilot/StartAutopilotViewModel.kt
index 8d0e7814d0..22148f17e5 100644
--- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/startautopilot/StartAutopilotViewModel.kt
+++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/startautopilot/StartAutopilotViewModel.kt
@@ -1,40 +1,77 @@
package com.mogo.och.taxi.passenger.ui.startautopilot
import androidx.lifecycle.ViewModel
+import chassis.Chassis
+import chassis.Chassis.DoorNumber
+import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisDoorStateListener
+import com.mogo.eagle.core.function.call.autopilot.CallerChassisDoorStateListenerManager
import com.mogo.och.taxi.passenger.callback.IOCHTaxiPassengerOrderStatusCallback
import com.mogo.och.taxi.passenger.model.AutopilotManager
import com.mogo.och.taxi.passenger.model.TaxiPassengerModel
-class StartAutopilotViewModel: ViewModel(), IOCHTaxiPassengerOrderStatusCallback {
+class StartAutopilotViewModel : ViewModel(), IOCHTaxiPassengerOrderStatusCallback,
+ IMoGoChassisDoorStateListener {
private val TAG = StartAutopilotViewModel::class.java.simpleName
- private var viewCallback:StartAutopilotCallback?=null
+ private var viewCallback: StartAutopilotCallback? = null
init {
- TaxiPassengerModel.setOrderStatusCallback(TAG,this)
+ TaxiPassengerModel.setOrderStatusCallback(TAG, this)
+ CallerChassisDoorStateListenerManager.addListener(TAG, this)
}
- fun setStartAutopilotCallback(viewCallback:StartAutopilotCallback){
- this.viewCallback = viewCallback
- TaxiPassengerModel.startOrStopReadyToAutopilotLoop(true)
- setOrderInfo()
- }
+ fun setStartAutopilotCallback(viewCallback: StartAutopilotCallback) {
+ this.viewCallback = viewCallback
+ TaxiPassengerModel.startOrStopReadyToAutopilotLoop(true)
+ setOrderInfo()
+ setDoorInfo()
+ }
+
+ private fun setDoorInfo() {
+ val doorList = CallerChassisDoorStateListenerManager.getDoorList()
+
+ doorList?.forEach {
+ when (it.number) {
+ DoorNumber.FRONT_LEFT -> {
+ viewCallback?.setDoorStatus(DoorPosition.FRONT_LEFT,it.status==1)
+ }
+
+ DoorNumber.FRONT_RIGHT -> {
+ viewCallback?.setDoorStatus(DoorPosition.FRONT_RIGHT,it.status==1)
+ }
+
+ DoorNumber.REAR_LEFT -> {
+ viewCallback?.setDoorStatus(DoorPosition.REAR_LEFT,it.status==1)
+ }
+
+ DoorNumber.REAR_RIGHT -> {
+ viewCallback?.setDoorStatus(DoorPosition.REAR_RIGHT,it.status==1)
+ }
+
+ DoorNumber.MIDDLE -> {
+ viewCallback?.setDoorStatus(DoorPosition.MIDDLE,it.status==1)
+ }
+
+ else -> {}
+ }
+ }
+ }
private fun setOrderInfo() {
val currentOCHOrder = TaxiPassengerModel.currentOCHOrder
currentOCHOrder?.let {
val phone = it.passengerPhone
var show = ""
- if(phone.length>8) {
+ if (phone.length > 8) {
//截取电话号码前三位
val phoneNumPre = phone.substring(0, 3);
//截取电话号码后四位
val phoneNumFix = phone.substring(7);
- show ="用户:$phoneNumPre****$phoneNumFix 目的地:${it.endSiteAddr}"
- }else{
- show ="用户:${phone} 目的地:${it.endSiteAddr}"
+ show = "用户:$phoneNumPre****$phoneNumFix 目的地:${it.endSiteAddr}"
+ } else {
+ show = "用户:${phone} 目的地:${it.endSiteAddr}"
}
viewCallback?.setOrderInfo(show)
}
@@ -43,7 +80,7 @@ class StartAutopilotViewModel: ViewModel(), IOCHTaxiPassengerOrderStatusCallback
override fun onCleared() {
super.onCleared()
this.viewCallback = null
- TaxiPassengerModel.setOrderStatusCallback(TAG,null)
+ TaxiPassengerModel.setOrderStatusCallback(TAG, null)
}
override fun onDriverHasCheckedPilotCondition(isBoarded: Boolean) {
@@ -57,10 +94,40 @@ class StartAutopilotViewModel: ViewModel(), IOCHTaxiPassengerOrderStatusCallback
AutopilotManager.startAutopilot()
}
+ override fun onAutopilotSingleDoorState(num: Chassis.DoorNumber, open: Boolean) {
+ super.onAutopilotSingleDoorState(num, open)
+ when (num) {
+ DoorNumber.FRONT_LEFT -> {
+ viewCallback?.setDoorStatus(DoorPosition.FRONT_LEFT,open)
+ }
+ DoorNumber.FRONT_RIGHT -> {
+ viewCallback?.setDoorStatus(DoorPosition.FRONT_RIGHT,open)
+ }
- interface StartAutopilotCallback{
+ DoorNumber.REAR_LEFT -> {
+ viewCallback?.setDoorStatus(DoorPosition.REAR_LEFT,open)
+ }
+
+ DoorNumber.REAR_RIGHT -> {
+ viewCallback?.setDoorStatus(DoorPosition.REAR_RIGHT,open)
+ }
+
+ DoorNumber.MIDDLE -> {
+ viewCallback?.setDoorStatus(DoorPosition.MIDDLE,open)
+ }
+
+ else -> {}
+ }
+ }
+
+ interface StartAutopilotCallback {
fun handleStartAutopilotBtnStatus(isBoarded: Boolean)
fun setOrderInfo(show: String)
+ fun setDoorStatus(doorPosition: DoorPosition,isOpen:Boolean)
+ }
+
+ enum class DoorPosition {
+ FRONT_LEFT, FRONT_RIGHT, REAR_LEFT, REAR_RIGHT, MIDDLE
}
}
\ No newline at end of file
diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/widget/ConsultVideoPlayer.kt b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/widget/ConsultVideoPlayer.kt
index a6f7982aef..ea3f4a32de 100644
--- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/widget/ConsultVideoPlayer.kt
+++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/widget/ConsultVideoPlayer.kt
@@ -17,6 +17,7 @@ import android.widget.TextView
import androidx.appcompat.widget.AppCompatImageView
import androidx.constraintlayout.widget.ConstraintLayout
import androidx.core.app.ActivityCompat
+import com.mogo.eagle.core.utilcode.util.ActivityUtils
import com.mogo.eagle.core.utilcode.util.TimeTransformUtils
import com.mogo.eagle.core.utilcode.util.ToastUtils
import com.mogo.eagle.core.widget.media.video.TextureVideoViewOutlineProvider
@@ -418,6 +419,7 @@ class ConsultVideoPlayer : StandardGSYVideoPlayer {
frameLayout.setBackgroundColor(Color.BLACK)
val lp = LayoutParams(width, height)
frameLayout.addView(gsyVideoPlayer, lp)
+ ActivityUtils.getActivityByContext(context)
FullVideoUtils.showOverlayView(context as Activity,frameLayout,R.style.och_window_anim_alpha)
gsyVideoPlayer.visibility = INVISIBLE
frameLayout.visibility = INVISIBLE
diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi/taxi_p_front_left_door_bg.9.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi/taxi_p_front_left_door_bg.9.png
new file mode 100644
index 0000000000..b34a60c25e
Binary files /dev/null and b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi/taxi_p_front_left_door_bg.9.png differ
diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi/taxi_p_top_right_door_bg.9.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi/taxi_p_front_right_door_bg.9.png
similarity index 100%
rename from OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi/taxi_p_top_right_door_bg.9.png
rename to OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi/taxi_p_front_right_door_bg.9.png
diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi/taxi_p_rear_left_door_bg.9.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi/taxi_p_rear_left_door_bg.9.png
new file mode 100644
index 0000000000..bfa9354128
Binary files /dev/null and b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi/taxi_p_rear_left_door_bg.9.png differ
diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi/taxi_p_rear_right_door_bg.9.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi/taxi_p_rear_right_door_bg.9.png
new file mode 100644
index 0000000000..9dae84147d
Binary files /dev/null and b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi/taxi_p_rear_right_door_bg.9.png differ
diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/layout/taxi_p_base_fragment.xml b/OCH/mogo-och-taxi-passenger/src/main/res/layout/taxi_p_base_fragment.xml
index 89374ce8b4..e7af3b7e73 100644
--- a/OCH/mogo-och-taxi-passenger/src/main/res/layout/taxi_p_base_fragment.xml
+++ b/OCH/mogo-och-taxi-passenger/src/main/res/layout/taxi_p_base_fragment.xml
@@ -9,6 +9,7 @@
android:id="@+id/overMapView"
android:layout_width="match_parent"
android:layout_height="match_parent"
+ app:resetDrawable="@null"
app:startPointDrawable="@drawable/taxi_p_map_view_dir_start"
app:endPointDrawable="@drawable/taxi_p_map_view_dir_end"
app:mapStyleExtraPath="style_extra.data"
diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/layout/taxi_p_start_autopilot_view.xml b/OCH/mogo-och-taxi-passenger/src/main/res/layout/taxi_p_start_autopilot_view.xml
index 03e838328b..581add3167 100644
--- a/OCH/mogo-och-taxi-passenger/src/main/res/layout/taxi_p_start_autopilot_view.xml
+++ b/OCH/mogo-och-taxi-passenger/src/main/res/layout/taxi_p_start_autopilot_view.xml
@@ -145,16 +145,65 @@
android:layout_height="wrap_content"/>
+
+
+
+
+
+
+
+
\ No newline at end of file