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 99131e8656..367cb50b4a 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 @@ -126,8 +126,6 @@ class TaxiPassengerBaseFragment() : controller.changeZoom2(0.8f) } - showOrHideArrivedEndLayout(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 2f7fc6e28f..4487d21ce6 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 @@ -3,19 +3,21 @@ package com.mogo.och.taxi.passenger.ui.arrived import android.content.Context import android.util.AttributeSet import android.view.LayoutInflater -import android.widget.RelativeLayout +import androidx.lifecycle.ViewModelProvider 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.taxi.passenger.R import com.mogo.och.taxi.passenger.callback.ITaxiPassengerCommonCallback +import com.mogo.och.taxi.passenger.widget.WindowRelativeLayout import com.shuyu.gsyvideoplayer.builder.GSYVideoOptionBuilder import com.shuyu.gsyvideoplayer.listener.GSYSampleCallBack import io.reactivex.Observable import io.reactivex.android.schedulers.AndroidSchedulers import io.reactivex.disposables.Disposable import kotlinx.android.synthetic.main.taxi_p_arrived_end_panel.view.aciv_close +import kotlinx.android.synthetic.main.taxi_p_arrived_end_panel.view.actv_endstation import kotlinx.android.synthetic.main.taxi_p_arrived_end_panel.view.svp_frame import java.util.concurrent.TimeUnit @@ -25,7 +27,7 @@ import java.util.concurrent.TimeUnit * 评价View * Created on 2022/5/16 */ -class ArrivedView :RelativeLayout { +class ArrivedView : WindowRelativeLayout, ArrivedViewModel.ArrivedViewCallback { constructor(context: Context?) : super(context) @@ -62,6 +64,12 @@ class ArrivedView :RelativeLayout { } } + override fun onAttachedToWindow() { + super.onAttachedToWindow() + val viewModel = ViewModelProvider(this).get(ArrivedViewModel::class.java) + viewModel.setViewCallback(this) + } + override fun onDetachedFromWindow() { svp_frame.setBackgroundResource(R.drawable.tail_ani_0000) svp_frame.setVideoAllCallBack(null) @@ -119,4 +127,8 @@ class ArrivedView :RelativeLayout { } } + override fun setEndStation(stationName: String) { + actv_endstation.text = stationName + } + } \ No newline at end of file diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/arrived/ArrivedViewModel.kt b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/arrived/ArrivedViewModel.kt new file mode 100644 index 0000000000..0181c883ac --- /dev/null +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/arrived/ArrivedViewModel.kt @@ -0,0 +1,32 @@ +package com.mogo.och.taxi.passenger.ui.arrived + +import androidx.lifecycle.ViewModel +import com.mogo.och.taxi.passenger.model.TaxiPassengerModel + +class ArrivedViewModel: ViewModel() { + + private val TAG = ArrivedViewModel::class.java.simpleName + + private var viewCallback:ArrivedViewCallback?=null + + init { + + } + + fun setViewCallback(viewCallback: ArrivedViewCallback){ + this.viewCallback = viewCallback + TaxiPassengerModel.currentOCHOrder?.endSiteAddr?.let { + this.viewCallback?.setEndStation(it) + } + } + + override fun onCleared() { + super.onCleared() + this.viewCallback = null + } + + + interface ArrivedViewCallback{ + fun setEndStation(stationName:String) + } +} \ No newline at end of file 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 d089a2602e..7f1f5eb6b9 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 @@ -4,17 +4,15 @@ import android.annotation.SuppressLint import android.content.Context import android.util.AttributeSet import android.view.LayoutInflater -import android.widget.RelativeLayout import androidx.core.content.res.ResourcesCompat import androidx.lifecycle.ViewModelProvider -import androidx.lifecycle.ViewModelStore -import androidx.lifecycle.ViewModelStoreOwner import com.elegant.utils.UiThreadHandler import com.mogo.eagle.core.utilcode.kotlin.onClick import com.mogo.eagle.core.utilcode.util.OverlayViewUtils 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_orderinfo 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 @@ -26,8 +24,7 @@ import java.util.Arrays * @author: wangmingjun * @date: 2022/6/14 */ -class StartAutopilotView : RelativeLayout, StartAutopilotViewModel.StartAutopilotCallback, - ViewModelStoreOwner { +class StartAutopilotView : WindowRelativeLayout, StartAutopilotViewModel.StartAutopilotCallback{ constructor(context: Context) : super(context) @@ -42,9 +39,6 @@ class StartAutopilotView : RelativeLayout, StartAutopilotViewModel.StartAutopilo private const val TIMER_START_AUTOPILOT_INTERVAL = 20 * 1000L } - //定义ViewModelStore变量 - private lateinit var mViewModelStore: ViewModelStore - var isStarting = false private var mAnimationDrawable: AnimatorDrawableUtil? = null private var mCarAnimationDrawable: AnimatorDrawableUtil? = null @@ -87,7 +81,6 @@ class StartAutopilotView : RelativeLayout, StartAutopilotViewModel.StartAutopilo private fun initView() { LayoutInflater.from(context).inflate(R.layout.taxi_p_start_autopilot_view, this, true) - mViewModelStore = ViewModelStore() } fun startAutopilotBgAnimatorDrawable(isStart: Boolean) { @@ -236,13 +229,6 @@ class StartAutopilotView : RelativeLayout, StartAutopilotViewModel.StartAutopilo isStarting = false clearStartingAnimFrame() clearBgAnimDrawable() - //View移除时清理所有的viewModel - viewModelStore.clear() super.onDetachedFromWindow() } - - override fun getViewModelStore(): ViewModelStore { - //接口方法实现 - return mViewModelStore; - } } \ No newline at end of file diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/widget/WindowRelativeLayout.kt b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/widget/WindowRelativeLayout.kt new file mode 100644 index 0000000000..31313e52f7 --- /dev/null +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/widget/WindowRelativeLayout.kt @@ -0,0 +1,30 @@ +package com.mogo.och.taxi.passenger.widget + +import android.content.Context +import android.util.AttributeSet +import android.widget.RelativeLayout +import androidx.lifecycle.ViewModelStore +import androidx.lifecycle.ViewModelStoreOwner + +open class WindowRelativeLayout: RelativeLayout, ViewModelStoreOwner { + + constructor(context: Context?) : super(context) + + constructor(context: Context?, attributeSet: AttributeSet) : super(context, attributeSet) + + constructor(context: Context?, attributeSet: AttributeSet, defStyleAttr: Int) : super(context, attributeSet, defStyleAttr) + + constructor(context: Context?, attributeSet: AttributeSet, defStyleAttr: Int, defStyleRes: Int) : super(context, attributeSet, defStyleAttr, defStyleRes) + + //定义ViewModelStore变量 + private var mViewModelStore: ViewModelStore = ViewModelStore() + + override fun getViewModelStore(): ViewModelStore { + return mViewModelStore + } + + override fun onDetachedFromWindow() { + super.onDetachedFromWindow() + mViewModelStore.clear() + } +} \ No newline at end of file diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/layout/taxi_p_arrived_end_panel.xml b/OCH/mogo-och-taxi-passenger/src/main/res/layout/taxi_p_arrived_end_panel.xml index 283a04a08f..639c9f7253 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/res/layout/taxi_p_arrived_end_panel.xml +++ b/OCH/mogo-och-taxi-passenger/src/main/res/layout/taxi_p_arrived_end_panel.xml @@ -24,4 +24,49 @@ android:layout_width="@dimen/dp_120" android:layout_height="@dimen/dp_120"/> + + + + + + + + \ No newline at end of file diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/values/colors.xml b/OCH/mogo-och-taxi-passenger/src/main/res/values/colors.xml index 2299abdad8..51df6b2b6f 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/res/values/colors.xml +++ b/OCH/mogo-och-taxi-passenger/src/main/res/values/colors.xml @@ -77,6 +77,7 @@ #282F62 #121842 #242C65 + #76D7FF