diff --git a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/model/PM2DrivingModel.kt b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/model/PM2DrivingModel.kt index 9d33c49fa1..220f5a31ce 100644 --- a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/model/PM2DrivingModel.kt +++ b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/model/PM2DrivingModel.kt @@ -133,9 +133,6 @@ class PM2DrivingModel private constructor() { if (msg.isPlay){ //播报 showNotice(msg.msg) } - if (msg.isViewShow){//显示 - } - } } } @@ -244,7 +241,10 @@ class PM2DrivingModel private constructor() { PM2ServiceManager.queryDriverSiteByCoordinate(it, object : OchCommonServiceCallback{ override fun onSuccess(data: PM2RoutesResponse?) { - if (data?.result == null || data.result.sites == null) { + if (data?.result === routesResult) { + return + } + if (data?.result?.sites === null) { routesResult = null mNextStationIndex = 0 isGoingToNextStation = false @@ -252,9 +252,6 @@ class PM2DrivingModel private constructor() { mDrivingInfoCallback?.showNoTaskView(true) return } - if (data.result === routesResult) { - return - } routesResult = data.result updatePassengerRouteInfo(data.result) } diff --git a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/PM2DrivingInfoFragment.kt b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/PM2DrivingInfoFragment.kt index 8e6a69c909..8f7dd0fdcf 100644 --- a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/PM2DrivingInfoFragment.kt +++ b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/PM2DrivingInfoFragment.kt @@ -6,6 +6,12 @@ import android.view.View import androidx.core.content.ContextCompat import com.amap.api.maps.model.LatLng import com.mogo.commons.mvp.MvpFragment +import com.mogo.eagle.core.data.msgbox.MsgBoxBean +import com.mogo.eagle.core.data.msgbox.MsgBoxType +import com.mogo.eagle.core.data.msgbox.NoticeFrCloudMsg +import com.mogo.eagle.core.data.msgbox.V2XMsg +import com.mogo.eagle.core.data.notice.NoticeTrafficStylePushData +import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager import com.mogo.eagle.core.function.hmi.ui.setting.ToggleDebugView import com.mogo.eagle.core.utilcode.kotlin.onClick import com.mogo.eagle.core.utilcode.util.DateTimeUtils @@ -38,6 +44,27 @@ class PM2DrivingInfoFragment : speed_tv.onClick { context?.let { it -> ToggleDebugView.toggleDebugView.toggle(it) } } + current_time_tv.onClick { + //测试V2X消息 + CallerMsgBoxManager.saveMsgBox( + MsgBoxBean( + MsgBoxType.V2X, + V2XMsg( + "6666", + "超速行驶", + "" + ) + ) + ) + + val noticeTrafficStylePushData = NoticeTrafficStylePushData() + noticeTrafficStylePushData.content= "测试公告布局" + val noticeFromCloudMsg = NoticeFrCloudMsg(null, noticeTrafficStylePushData, 1) + CallerMsgBoxManager.saveMsgBox( + MsgBoxBean( + MsgBoxType.NOTICE, noticeFromCloudMsg) + ) + } updateCurrentTime() } diff --git a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/PM2HPMapFragment.kt b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/PM2HPMapFragment.kt index b02ebb10f4..05b1101cfd 100644 --- a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/PM2HPMapFragment.kt +++ b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/PM2HPMapFragment.kt @@ -80,10 +80,8 @@ class PM2HPMapFragment : ) { //开启线程执行起终点marker设置 val setMapMarkerRunnable = Runnable { - d( - "setMapMaker= " + Thread.currentThread().name, - uuid + "=latitude=" + station[1] + ",longitude=" + station[0] - ) + d("setMapMaker= " + Thread.currentThread().name, + uuid + "=latitude=" + station[1] + ",longitude=" + station[0]) val options = MogoMarkerOptions() .owner(TYPE_MARKER_M2_LINE) .anchor(0.5f, 0.5f) @@ -115,9 +113,7 @@ class PM2HPMapFragment : val removeMapMarkerRunnable = Runnable { d("RemoveMapMaker=" + Thread.currentThread().name, uuid) Objects.requireNonNull( - getMarkerManager( - AbsMogoApplication.getApp() - ) + getMarkerManager(AbsMogoApplication.getApp()) )?.removeMarkers(uuid) } OCHThreadPoolManager.getsInstance().execute(removeMapMarkerRunnable) diff --git a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/AdvanceGSYVideoPlayer.kt b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/AdvanceGSYVideoPlayer.kt new file mode 100644 index 0000000000..8d1bf3c0b9 --- /dev/null +++ b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/AdvanceGSYVideoPlayer.kt @@ -0,0 +1,68 @@ +package com.mogo.och.bus.passenger.ui.widget.video + +import android.content.Context +import android.util.AttributeSet +import com.shuyu.gsyvideoplayer.utils.Debuger +import com.shuyu.gsyvideoplayer.video.StandardGSYVideoPlayer + +/** + * @author: wangmingjun + * @date: 2023/2/17 + * 隐藏所有控件的player + */ +class AdvanceGSYVideoPlayer: StandardGSYVideoPlayer { + constructor(context: Context?) : super(context) + constructor(context: Context?, attrs: AttributeSet?) : super(context, attrs) + + init { + hideWidget() + } + + override fun hideAllWidget() { + hideWidget() + } + + override fun changeUiToNormal() { + Debuger.printfLog("changeUiToNormal") + hideWidget() + } + + override fun changeUiToPreparingShow() { + hideWidget() + } + + override fun changeUiToPlayingShow() { + hideWidget() + } + + override fun changeUiToPauseShow() { + hideWidget() + } + + override fun changeUiToCompleteShow() { + hideWidget() + } + + override fun changeUiToPlayingBufferingShow() { + hideWidget() + } + + private fun hideWidget(){ + setViewShowState(mBottomContainer, GONE) + setViewShowState(mProgressBar, GONE) + setViewShowState(mCurrentTimeTextView, GONE) + setViewShowState(mTotalTimeTextView, GONE) + setViewShowState(mBottomProgressBar, GONE) + setViewShowState(mBackButton, GONE) + setViewShowState(mStartButton, GONE) + + setViewShowState(mTopContainer, GONE) + + setViewShowState(mLoadingProgressBar, GONE) + setViewShowState(mThumbImageViewLayout, GONE) + setViewShowState(mThumbImageView, GONE) + setViewShowState( + mLockScreen, GONE + ) + } +} \ No newline at end of file diff --git a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/AdvanceImageView.kt b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/AdvanceImageView.kt index 151bc1c5e7..ae1363f2b6 100644 --- a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/AdvanceImageView.kt +++ b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/AdvanceImageView.kt @@ -32,7 +32,7 @@ class AdvanceImageView @JvmOverloads constructor( @SuppressLint("CheckResult") fun setImagePath(path: String){ imageView?.let { Glide.with(context).load(path) - .apply { RequestOptions().placeholder(R.drawable.m2_p_video_holder).centerCrop() } + .apply(RequestOptions().placeholder(R.drawable.m2_p_video_holder).centerCrop()) .into(it) } } } \ No newline at end of file diff --git a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/AdvancePagerAdapter.kt b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/AdvancePagerAdapter.kt index 8ad1126539..ed7df77713 100644 --- a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/AdvancePagerAdapter.kt +++ b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/AdvancePagerAdapter.kt @@ -49,7 +49,7 @@ class AdvancePagerAdapter(context: Context, viewPager: ViewPager) : PagerAdapter if (viewList[mViewPager.currentItem] is AdvanceVideoView) {//有人反应第一个是视频不播放这边优化了一下 Logger.d("onPageScrollStateChanged", "第一个是视频") val video = viewList[mViewPager.currentItem] as AdvanceVideoView - video.setVideo(gsySampleCallBack) + video.setVideo(gsySampleCallBack,mViewPager.currentItem) } else if (viewList[mViewPager.currentItem] is AdvanceImageView) { Logger.d("onPageScrollStateChanged", "startTimer()_1") @@ -125,16 +125,12 @@ class AdvancePagerAdapter(context: Context, viewPager: ViewPager) : PagerAdapter "state = $state currentItem = $currentItem lastPosition = $lastPosition") if (viewList.size > 1) { //多于1,才会循环跳转 -// if (lastPosition != -1 && lastPosition != mViewPager.currentItem -// && viewList[lastPosition] is AdvanceVideoView -// ) { -// val videoView: AdvanceVideoView = viewList[lastPosition] as AdvanceVideoView -// videoView.setPause() -// } if (viewList[mViewPager.currentItem] is AdvanceVideoView) { + val videoView = (viewList[mViewPager.currentItem] as AdvanceVideoView) - videoView.setVideo(gsySampleCallBack) + videoView.setCacheImageView(dataList[mViewPager.currentItem].cacheImgPath) + videoView.setVideo(gsySampleCallBack,mViewPager.currentItem) } else if (viewList[mViewPager.currentItem] is AdvanceImageView) { Logger.d("onPageScrollStateChanged", "startTimer()") @@ -149,18 +145,17 @@ class AdvancePagerAdapter(context: Context, viewPager: ViewPager) : PagerAdapter private var gsySampleCallBack = object : GSYSampleCallBack() { override fun onPrepared(url: String?, vararg objects: Any?) { - super.onPrepared(url, *objects) - val videoView = (viewList[mViewPager.currentItem] as AdvanceVideoView) Logger.d("onPageScrollStateChanged", "onPrepared") + val videoView = (viewList[mViewPager.currentItem] as AdvanceVideoView) UiThreadHandler.postDelayed({ videoView.setCacheImageViewGone() - },400) + },2000) } override fun onAutoComplete(url: String?, vararg objects: Any?) { - super.onAutoComplete(url, *objects) Logger.d("onPageScrollStateChanged", "onAutoComplete()") val videoView = (viewList[mViewPager.currentItem] as AdvanceVideoView) + videoView.onVideoReset() videoView.setCacheImageView(dataList[mViewPager.currentItem].cacheImgPath) goNextItemView() } @@ -169,6 +164,7 @@ class AdvancePagerAdapter(context: Context, viewPager: ViewPager) : PagerAdapter super.onPlayError(url, *objects) Logger.d("onPageScrollStateChanged", "onPlayError()") val videoView = (viewList[mViewPager.currentItem] as AdvanceVideoView) + videoView.onVideoReset() videoView.setCacheImageView(dataList[mViewPager.currentItem].cacheImgPath) goNextItemView() } diff --git a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/AdvanceVideoView.kt b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/AdvanceVideoView.kt index e45279eb78..94d899b160 100644 --- a/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/AdvanceVideoView.kt +++ b/OCH/mogo-och-bus-passenger/src/m2/java/com/mogo/och/bus/passenger/ui/widget/video/AdvanceVideoView.kt @@ -2,17 +2,14 @@ package com.mogo.och.bus.passenger.ui.widget.video import android.annotation.SuppressLint import android.content.Context -import android.graphics.Color import android.util.AttributeSet import android.widget.ImageView import android.widget.RelativeLayout import com.bumptech.glide.Glide import com.bumptech.glide.request.RequestOptions -import com.mogo.eagle.core.utilcode.util.BitmapHelper import com.mogo.och.bus.passenger.R import com.shuyu.gsyvideoplayer.builder.GSYVideoOptionBuilder import com.shuyu.gsyvideoplayer.listener.GSYSampleCallBack -import com.shuyu.gsyvideoplayer.video.StandardGSYVideoPlayer /** * @author: wangmingjun @@ -24,7 +21,7 @@ class AdvanceVideoView @JvmOverloads constructor( private var videoRelativeLayout: RelativeLayout? = null private var cacheImage: ImageView? = null - private var videoViewPlayer: StandardGSYVideoPlayer? = null + private var videoViewPlayer: AdvanceGSYVideoPlayer? = null private var gsyVideoOptionBuilder: GSYVideoOptionBuilder? = null private var path: String? = null @@ -33,8 +30,8 @@ class AdvanceVideoView @JvmOverloads constructor( } private fun initView() { - initCacheImgView() initVideoView() + initCacheImgView() } private fun initCacheImgView() { @@ -49,13 +46,8 @@ class AdvanceVideoView @JvmOverloads constructor( if (videoViewPlayer === null) { //视频播放控件 - videoViewPlayer = StandardGSYVideoPlayer(context) + videoViewPlayer = AdvanceGSYVideoPlayer(context) } - if (gsyVideoOptionBuilder === null) { - gsyVideoOptionBuilder = GSYVideoOptionBuilder() - } - - videoViewPlayer?.isFocusableInTouchMode = false var layoutParams = LayoutParams(-1, -1) //设置videoview占满父view播放 @@ -77,32 +69,32 @@ class AdvanceVideoView @JvmOverloads constructor( @SuppressLint("CheckResult") fun setCacheImageView(imgPath: String) { + cacheImage?.let { Glide.with(context) - .apply { RequestOptions().placeholder(R.drawable.m2_p_video_holder).centerCrop() } - .load(imgPath).into(it) + .load(imgPath) + .apply(RequestOptions().placeholder(R.drawable.m2_p_video_holder).centerCrop()) + .into(it) } + cacheImage?.visibility = VISIBLE } - fun setVideo(onCompletionListener: GSYSampleCallBack) { + fun setVideo(onCompletionListener: GSYSampleCallBack,position: Int) { + gsyVideoOptionBuilder = GSYVideoOptionBuilder() gsyVideoOptionBuilder?.setUrl(path) + ?.setPlayTag(path + position) ?.setCacheWithPlay(false) -// ?.setAutoFullWithSize(true) -// ?.setShowPauseCover(false) -// ?.setFullHideActionBar(true) -// ?.setFullHideStatusBar(true) -// ?.setIsTouchWiget(false) -// ?.setIsTouchWigetFull(false) -// ?.setNeedLockFull(true) -// ?.setLockLand(true) -// ?.setAutoFullWithSize(true) -// ?.setNeedShowWifiTip(false) + ?.setThumbPlay(false) ?.build(videoViewPlayer) + videoViewPlayer?.isFocusableInTouchMode = false videoViewPlayer?.setVideoAllCallBack(onCompletionListener) + videoViewPlayer?.startPlayLogic() + } - videoViewPlayer?.startButton?.performClick() + fun onVideoReset(){ + videoViewPlayer?.onVideoReset() } fun setCacheImageViewGone() { diff --git a/OCH/mogo-och-bus-passenger/src/m2/res/drawable-nodpi/m2_map_car_icon.png b/OCH/mogo-och-bus-passenger/src/m2/res/drawable-nodpi/m2_map_car_icon.png new file mode 100644 index 0000000000..2520ae1c9e Binary files /dev/null and b/OCH/mogo-och-bus-passenger/src/m2/res/drawable-nodpi/m2_map_car_icon.png differ diff --git a/OCH/mogo-och-bus-passenger/src/m2/res/layout/p_m2_driving_info_fragment.xml b/OCH/mogo-och-bus-passenger/src/m2/res/layout/p_m2_driving_info_fragment.xml index bdf419cb37..762e8f0f32 100644 --- a/OCH/mogo-och-bus-passenger/src/m2/res/layout/p_m2_driving_info_fragment.xml +++ b/OCH/mogo-och-bus-passenger/src/m2/res/layout/p_m2_driving_info_fragment.xml @@ -12,6 +12,7 @@ android:layout_height="match_parent" app:mapStyleExtraPath="@string/m2_over_map_style_extra_path" app:mapStylePath="@string/m2_over_map_style_path" + app:carDrawable = "@drawable/m2_map_car_icon" app:startPointDrawable="@drawable/m2_map_start_icon" app:endPointDrawable="@drawable/m2_map_end_icon"/> @@ -34,6 +35,7 @@ android:textColor="@color/m2_p_speed_tv_color" android:textSize="@dimen/dp_56" android:textStyle="bold" + android:layout_marginTop="@dimen/dp_4" app:layout_constraintLeft_toLeftOf="@+id/img_drive_bg" android:layout_marginLeft="@dimen/dp_24" app:layout_constraintTop_toTopOf="@+id/img_drive_bg" @@ -43,7 +45,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="@dimen/dp_8" - android:layout_marginBottom="8dp" + android:layout_marginBottom="@dimen/dp_12" android:textSize="@dimen/dp_18" android:text="@string/m2_p_speed_unit_txt" app:layout_constraintBottom_toBottomOf="@+id/speed_tv" @@ -51,10 +53,10 @@ + app:layout_constraintLeft_toLeftOf="parent" + android:layout_marginTop="@dimen/dp_16" + android:layout_marginLeft="@dimen/dp_26"/> + + + \ No newline at end of file diff --git a/OCH/mogo-och-bus-passenger/src/m2/res/layout/view_turn_light_status_daytime.xml b/OCH/mogo-och-bus-passenger/src/m2/res/layout/view_turn_light_status_daytime.xml index 56f76fb6c8..3ba54be149 100644 --- a/OCH/mogo-och-bus-passenger/src/m2/res/layout/view_turn_light_status_daytime.xml +++ b/OCH/mogo-och-bus-passenger/src/m2/res/layout/view_turn_light_status_daytime.xml @@ -18,37 +18,37 @@