Merge remote-tracking branch 'origin/dev_robotaxi-d-app-module_280_220608_2.8.0' into dev_robotaxi-d-app-module_280_220608_2.8.0

This commit is contained in:
donghongyu
2022-06-28 18:30:17 +08:00
29 changed files with 183 additions and 123 deletions

View File

@@ -32,7 +32,6 @@ import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotRecordListener
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager;
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager;
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
import com.mogo.eagle.core.utilcode.mogo.toast.TipToast;
import com.mogo.eagle.core.utilcode.util.ToastUtils;
import com.mogo.eagle.core.utilcode.util.UiThreadHandler;
import com.mogo.map.MogoMapUIController;

View File

@@ -16,7 +16,6 @@ import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener;
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager;
import com.mogo.eagle.core.function.call.map.CallerHDMapManager;
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
import com.mogo.eagle.core.utilcode.mogo.toast.TipToast;
import com.mogo.eagle.core.utilcode.util.ToastUtils;
import com.mogo.map.MogoMarkerManager;
import com.mogo.map.marker.IMogoMarker;

View File

@@ -3,7 +3,6 @@ package com.mogo.och.bus.model;
import android.content.Context;
import com.mogo.commons.AbsMogoApplication;
import com.mogo.eagle.core.utilcode.mogo.toast.TipToast;
import com.mogo.eagle.core.utilcode.util.NetworkUtils;
import com.mogo.eagle.core.utilcode.util.ToastUtils;
import com.mogo.och.bus.bean.BusQueryLinesResponse;

View File

@@ -20,7 +20,6 @@ import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.mogo.commons.mvp.MvpActivity;
import com.mogo.eagle.core.utilcode.mogo.toast.TipToast;
import com.mogo.eagle.core.utilcode.util.ToastUtils;
import com.mogo.och.bus.R;
import com.mogo.och.bus.bean.BusQueryLinesResponse;

View File

@@ -841,7 +841,7 @@ public class TaxiPassengerModel implements IOCHTaxiPassengerNaviChangedCallback
@Override
public void onFail(int code, String msg) {
ToastUtils.showShort(msg);
// ToastUtils.showShort(msg);
}
});
}

View File

@@ -124,7 +124,7 @@ public class TaxiPassengerBaseFragment extends MvpFragment<TaxiPassengerBaseFrag
});
findViewById(R.id.iv_temp).setOnClickListener(view -> {
//OverlayLeftViewUtils.INSTANCE.showOverlayView(getActivity());
OverlayLeftViewUtils.INSTANCE.showOverlayView(getActivity());
//showOrHideArrivedEndLayout(true, "北京北京北京", "1527481606997577728");
//showOrHidePressengerCheckPager(true, "开始站点开", "开始站点开始站点开始", "2", "京A888888", "18811539480");
//OCHFloatWindowManager.getInstance().ShowFloatWindow(getContext());

View File

@@ -71,13 +71,13 @@ public class TaxiPassengerStartAutopilotView extends RelativeLayout implements V
svCarStartingFrame = view.findViewById(R.id.taxi_p_autopilot_starting);
svCarStartingFrame.setBitmapIds(Arrays.asList(startingAnimIds));
svCarStartingFrame.setDuration(1300);
svCarStartingFrame.setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
TaxiPassengerModel.getInstance().startServicePilotDone();
return false;
}
});
// svCarStartingFrame.setOnLongClickListener(new OnLongClickListener() {
// @Override
// public boolean onLongClick(View v) {
// TaxiPassengerModel.getInstance().startServicePilotDone();
// return false;
// }
// });
}
public void setOnClickStartAutopilotBtnCallback(ITPClickStartAutopilotCallback clickCallback){

View File

@@ -224,15 +224,15 @@ object OverlayLeftViewUtils {
if (!isShowing) {
return
}
FullVideoUtils.dismissOverlayView(true)
// 管理的要关闭都得关闭
closeConsult()
closeMovice()
subscribe?.let {
if (!it.isDisposed) {
it.dispose()
}
}
FullVideoUtils.dismissOverlayView(true)
// 管理的要关闭都得关闭
closeConsult()
closeMovice()
subscribe = null
try {
if (windowManager != null && overlayView != null) {

View File

@@ -82,6 +82,7 @@ object FullVideoUtils {
it.setVideoAllCallBack(null)
it.smalllPlayer?.clearFullscreenLayout(it)
}
consultVideoPlayer.removeAllViews()
}
try {
if (windowManager != null) {

View File

@@ -77,8 +77,7 @@ class TaxiPassengerMogoConsultView :RelativeLayout {
var prePlayerPosition = 0
override fun pageSelect(recyclerView: RecyclerView?, newState: Int) {
//播放视频
val centerItemPosition: Int = carouselLayoutManager.centerItemPosition
val player = carouselLayoutManager.findViewByPosition(centerItemPosition)
val (centerItemPosition: Int, player) = getPlayer(carouselLayoutManager)
indicatorView.onPageSelected(centerItemPosition)
if(player is ConsultVideoPlayer){
if(prePlayerPosition!=centerItemPosition) {
@@ -86,8 +85,8 @@ class TaxiPassengerMogoConsultView :RelativeLayout {
player.onVideoReset()
}else{
}
val prePlayer =
carouselLayoutManager.findViewByPosition(prePlayerPosition)
val playerHolder = carouselLayoutManager.findViewByPosition(prePlayerPosition)
val prePlayer = playerHolder?.findViewById<ConsultVideoPlayer>(R.id.video_item_player)
prePlayer?.let {
if(it is ConsultVideoPlayer){
it.onVideoReset()
@@ -105,8 +104,7 @@ class TaxiPassengerMogoConsultView :RelativeLayout {
}
override fun pageStop() {
val centerItemPosition: Int = carouselLayoutManager.getCenterItemPosition()
val player = carouselLayoutManager.findViewByPosition(centerItemPosition)
val (centerItemPosition: Int, player) = getPlayer(carouselLayoutManager)
if(player is ConsultVideoPlayer){
player.onVideoPause()
}
@@ -126,8 +124,7 @@ class TaxiPassengerMogoConsultView :RelativeLayout {
indicatorView.onPageScrolled(currentIndex, fl, 0)
}
recyclerVideoAdapter.setOnThumbImageClilckListener {
val centerItemPosition: Int = carouselLayoutManager.centerItemPosition
val player = carouselLayoutManager.findViewByPosition(centerItemPosition)
val (centerItemPosition: Int, player) = getPlayer(carouselLayoutManager)
if(player is ConsultVideoPlayer) {
player.onVideoReset()
player.thumbImageViewLayout.visibility = View.VISIBLE
@@ -149,11 +146,7 @@ class TaxiPassengerMogoConsultView :RelativeLayout {
.load(taxiPassengerVideoPlay.imageUrl)
.apply(
RequestOptions().transform(
GlideBlurTransform(
context,
taxiPassengerVideoPlay.imageUrl,
5
)
GlideBlurTransform(context, taxiPassengerVideoPlay.imageUrl, 5)
)
)
.into(object : SimpleTarget<Bitmap?>() {
@@ -200,8 +193,7 @@ class TaxiPassengerMogoConsultView :RelativeLayout {
override fun onWindowFocusChanged(hasWindowFocus: Boolean) {
super.onWindowFocusChanged(hasWindowFocus)
val carouselLayoutManager = rvVideoPlaylist.layoutManager as CarouselLayoutManager
val centerItemPosition: Int = carouselLayoutManager.centerItemPosition
val player = carouselLayoutManager.findViewByPosition(centerItemPosition)
val (centerItemPosition: Int, player) = getPlayer(carouselLayoutManager)
player?.let {
if (player is ConsultVideoPlayer) {
if(hasWindowFocus){// 获取焦点两种情况
@@ -241,11 +233,17 @@ class TaxiPassengerMogoConsultView :RelativeLayout {
}
private fun getPlayer(carouselLayoutManager: CarouselLayoutManager): Pair<Int, ConsultVideoPlayer?> {
val centerItemPosition: Int = carouselLayoutManager.centerItemPosition
val playerHolder = carouselLayoutManager.findViewByPosition(centerItemPosition)
val player = playerHolder?.findViewById<ConsultVideoPlayer>(R.id.video_item_player)
return Pair(centerItemPosition, player)
}
override fun onDetachedFromWindow() {
val carouselLayoutManager = rvVideoPlaylist.layoutManager as CarouselLayoutManager
val centerItemPosition: Int = carouselLayoutManager.centerItemPosition
val player = carouselLayoutManager.findViewByPosition(centerItemPosition)
val (_: Int, player) = getPlayer(carouselLayoutManager)
player?.let {
if(player is ConsultVideoPlayer){
player.currentPlayer.release()

View File

@@ -77,8 +77,7 @@ class TaxiPassengerMogoMoviesView :RelativeLayout {
var prePlayerPosition = 0
override fun pageSelect(recyclerView: RecyclerView?, newState: Int) {
//播放视频
val centerItemPosition: Int = carouselLayoutManager.centerItemPosition
val player = carouselLayoutManager.findViewByPosition(centerItemPosition)
val (centerItemPosition: Int, player) = getPlayer(carouselLayoutManager)
indicatorView.onPageSelected(centerItemPosition)
if(player is ConsultVideoPlayer){
if(prePlayerPosition!=centerItemPosition) {
@@ -86,8 +85,8 @@ class TaxiPassengerMogoMoviesView :RelativeLayout {
player.onVideoReset()
}else{
}
val prePlayer =
carouselLayoutManager.findViewByPosition(prePlayerPosition)
val playerHolder = carouselLayoutManager.findViewByPosition(prePlayerPosition)
val prePlayer = playerHolder?.findViewById<ConsultVideoPlayer>(R.id.video_item_player)
prePlayer?.let {
if(it is ConsultVideoPlayer){
it.onVideoReset()
@@ -105,8 +104,7 @@ class TaxiPassengerMogoMoviesView :RelativeLayout {
}
override fun pageStop() {
val centerItemPosition: Int = carouselLayoutManager.getCenterItemPosition()
val player = carouselLayoutManager.findViewByPosition(centerItemPosition)
val (centerItemPosition: Int, player) = getPlayer(carouselLayoutManager)
if(player is ConsultVideoPlayer){
player.onVideoPause()
}
@@ -126,8 +124,7 @@ class TaxiPassengerMogoMoviesView :RelativeLayout {
indicatorView.onPageScrolled(currentIndex, fl, 0)
}
recyclerVideoAdapter.setOnThumbImageClilckListener {
val centerItemPosition: Int = carouselLayoutManager.centerItemPosition
val player = carouselLayoutManager.findViewByPosition(centerItemPosition)
val (centerItemPosition: Int, player) = getPlayer(carouselLayoutManager)
if(player is ConsultVideoPlayer) {
player.onVideoReset()
player.thumbImageViewLayout.visibility = View.VISIBLE
@@ -200,8 +197,7 @@ class TaxiPassengerMogoMoviesView :RelativeLayout {
override fun onWindowFocusChanged(hasWindowFocus: Boolean) {
super.onWindowFocusChanged(hasWindowFocus)
val carouselLayoutManager = rvVideoPlaylist.layoutManager as CarouselLayoutManager
val centerItemPosition: Int = carouselLayoutManager.centerItemPosition
val player = carouselLayoutManager.findViewByPosition(centerItemPosition)
val (centerItemPosition: Int, player) = getPlayer(carouselLayoutManager)
player?.let {
if (player is ConsultVideoPlayer) {
if(hasWindowFocus){// 获取焦点两种情况
@@ -241,11 +237,17 @@ class TaxiPassengerMogoMoviesView :RelativeLayout {
}
private fun getPlayer(carouselLayoutManager: CarouselLayoutManager): Pair<Int, ConsultVideoPlayer?> {
val centerItemPosition: Int = carouselLayoutManager.centerItemPosition
val playerHolder = carouselLayoutManager.findViewByPosition(centerItemPosition)
val player = playerHolder?.findViewById<ConsultVideoPlayer>(R.id.video_item_player)
return Pair(centerItemPosition, player)
}
override fun onDetachedFromWindow() {
val carouselLayoutManager = rvVideoPlaylist.layoutManager as CarouselLayoutManager
val centerItemPosition: Int = carouselLayoutManager.centerItemPosition
val player = carouselLayoutManager.findViewByPosition(centerItemPosition)
val (_: Int, player) = getPlayer(carouselLayoutManager)
player?.let {
if(player is ConsultVideoPlayer){
player.currentPlayer.release()

View File

@@ -24,7 +24,11 @@ public class GlideBlurTransform extends BitmapTransformation {
@Override
protected Bitmap transform( @NonNull BitmapPool pool, @NonNull Bitmap toTransform, int outWidth, int outHeight ) {
Bitmap bitmap = FastBlurUtil.doBlur( toTransform, 1, blurRadius );
Bitmap lruBitmap = DiskLruCacheManager.getInstance(context).get(key);
if(lruBitmap!=null){
return lruBitmap;
}
Bitmap bitmap = FastBlurUtil.doBlur( toTransform, 8, blurRadius );
// 缓存高斯模糊图片
DiskLruCacheManager.getInstance( context ).put( key, bitmap );
return bitmap;

View File

@@ -4,19 +4,22 @@ import android.app.Activity
import android.content.Context
import android.graphics.Color
import android.util.AttributeSet
import android.view.*
import android.view.Gravity
import android.view.Surface
import android.view.View
import android.view.ViewGroup
import android.widget.FrameLayout
import android.widget.ImageView
import android.widget.TextView
import androidx.appcompat.widget.AppCompatImageView
import androidx.constraintlayout.widget.ConstraintLayout
import androidx.core.view.marginTop
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
import com.mogo.och.taxi.passenger.R
import com.mogo.och.taxi.passenger.ui.video.FullVideoUtils
import com.shuyu.gsyvideoplayer.listener.VideoAllCallBack
import com.shuyu.gsyvideoplayer.utils.Debuger
import com.shuyu.gsyvideoplayer.utils.GSYVideoType
import com.shuyu.gsyvideoplayer.video.StandardGSYVideoPlayer
import com.shuyu.gsyvideoplayer.video.base.GSYBaseVideoPlayer
@@ -64,7 +67,7 @@ class ConsultVideoPlayer : StandardGSYVideoPlayer {
) {
mThumbImageViewLayout.visibility = View.VISIBLE
}
GSYVideoType.setShowType(GSYVideoType.SCREEN_TYPE_16_9)
GSYVideoType.setShowType(GSYVideoType.SCREEN_TYPE_FULL)
}
override fun getLayoutId(): Int {
@@ -88,6 +91,11 @@ class ConsultVideoPlayer : StandardGSYVideoPlayer {
}
override fun changeUiToNormal() {
super.changeUiToNormal()
setViewShowState(mTopContainer, INVISIBLE)
}
public override fun hideAllWidget() {
super.hideAllWidget()
}
@@ -190,6 +198,15 @@ class ConsultVideoPlayer : StandardGSYVideoPlayer {
}
}
fun fullMarainTop(){
if(mIfCurrentIsFullscreen&&smalllPlayer!=null) {
if(mTopContainer.marginTop==0) {
val layoutParams = mTopContainer.layoutParams as ConstraintLayout.LayoutParams
layoutParams.setMargins(0, getStatusBarHeight(), 0, 0)
}
}
}
override fun setViewShowState(view: View?, visibility: Int) {
if (view === mThumbImageViewLayout && visibility != View.VISIBLE) {
return
@@ -199,6 +216,7 @@ class ConsultVideoPlayer : StandardGSYVideoPlayer {
override fun onSurfaceAvailable(surface: Surface) {
super.onSurfaceAvailable(surface)
fullMarainTop()
if (GSYVideoType.getRenderType() != GSYVideoType.TEXTURE) {
if (mThumbImageViewLayout != null && mThumbImageViewLayout.visibility == View.VISIBLE) {
mThumbImageViewLayout.visibility = View.INVISIBLE
@@ -209,10 +227,10 @@ class ConsultVideoPlayer : StandardGSYVideoPlayer {
override fun onAutoCompletion() {
super.onAutoCompletion()
if(mIfCurrentIsFullscreen){
FullVideoUtils.dismissOverlayView(false)
fullVideoPlayer?.let {
clearFullscreenLayout(it)
if(smalllPlayer!=null){
smalllPlayer?.clearFullscreenLayout(this)
}
FullVideoUtils.dismissOverlayView(false)
}
}
@@ -335,9 +353,9 @@ class ConsultVideoPlayer : StandardGSYVideoPlayer {
frameLayout: FrameLayout) {
val lp = gsyVideoPlayer.layoutParams as LayoutParams
lp.setMargins(0, 0, 0, 0)
lp.height = ViewGroup.LayoutParams.MATCH_PARENT
lp.height = ViewGroup.LayoutParams.WRAP_CONTENT
lp.width = ViewGroup.LayoutParams.MATCH_PARENT
lp.gravity = Gravity.CENTER
lp.gravity = Gravity.BOTTOM
gsyVideoPlayer.layoutParams = lp
gsyVideoPlayer.isIfCurrentIsFullscreen = true
val isVertical = isVerticalFullByVideoSize
@@ -365,6 +383,12 @@ class ConsultVideoPlayer : StandardGSYVideoPlayer {
checkAutoFullWithSizeAndAdaptation(gsyVideoPlayer)
}
fun getStatusBarHeight(): Int{
return Math.ceil((25 * context.resources.displayMetrics.density).toDouble()).toInt()
}
fun clearFullscreenLayout(gsyVideoPlayer:ConsultVideoPlayer) {
mIfCurrentIsFullscreen = false
val delay = 100

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 KiB

View File

@@ -2,5 +2,5 @@
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#314F85"/>
<corners android:radius="@dimen/dp_46"/>
<corners android:radius="@dimen/dp_50"/>
</shape>

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#3397FC"/>
<corners android:radius="@dimen/dp_46"/>
<gradient android:startColor="#3397FC" android:endColor="#3397FC"/>
<corners android:radius="@dimen/dp_50"/>
</shape>

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient android:startColor="#22e5aa" android:endColor="#038f7e"/>
<corners android:radius="@dimen/dp_46"/>
<gradient android:startColor="#23FAB3" android:endColor="#009882"/>
<corners android:radius="@dimen/dp_60"/>
</shape>

View File

@@ -4,16 +4,16 @@
android:id="@+id/tv_comment"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20px"
android:layout_marginBottom="20px"
android:layout_marginStart="10px"
android:layout_marginEnd="10px"
android:layout_marginTop="30px"
android:layout_marginBottom="30px"
android:layout_marginStart="16px"
android:layout_marginEnd="16px"
android:background="@drawable/taxi_p_comment_select"
android:button="@null"
android:paddingStart="40px"
android:paddingTop="8px"
android:paddingEnd="40px"
android:paddingBottom="8px"
android:paddingStart="45px"
android:paddingTop="15px"
android:paddingEnd="45px"
android:paddingBottom="15px"
android:textColor="@color/taxi_order_status_textColor"
android:textSize="40px"
android:textSize="46px"
tools:text="非常好" />

View File

@@ -1,5 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<com.mogo.och.taxi.passenger.widget.ConsultVideoPlayer xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/video_item_player"
android:layout_width="1734px"
android:layout_height="973px" />
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@drawable/taxi_p_video_shadow11"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<com.mogo.och.taxi.passenger.widget.ConsultVideoPlayer
android:id="@+id/video_item_player"
android:layout_gravity="center"
android:layout_width="1734px"
android:layout_height="973px" />
</FrameLayout>

View File

@@ -126,6 +126,7 @@
android:id="@+id/iv_star_first"
android:layout_marginTop="@dimen/dp_44"
android:layout_marginStart="@dimen/dp_34"
android:layout_marginEnd="3px"
app:layout_constraintTop_toBottomOf="@+id/tv_please_score"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toStartOf="@+id/iv_star_second"
@@ -135,6 +136,7 @@
<ImageView
android:id="@+id/iv_star_second"
android:layout_marginEnd="3px"
app:layout_constraintTop_toTopOf="@+id/iv_star_first"
app:layout_constraintStart_toEndOf="@+id/iv_star_first"
app:layout_constraintEnd_toStartOf="@+id/iv_star_third"
@@ -144,6 +146,7 @@
<ImageView
android:id="@+id/iv_star_third"
android:layout_marginEnd="3px"
app:layout_constraintTop_toTopOf="@+id/iv_star_second"
app:layout_constraintStart_toEndOf="@+id/iv_star_second"
app:layout_constraintEnd_toStartOf="@+id/iv_star_fourth"
@@ -153,6 +156,7 @@
<ImageView
android:id="@+id/iv_star_fourth"
android:layout_marginEnd="3px"
app:layout_constraintTop_toTopOf="@+id/iv_star_third"
app:layout_constraintStart_toEndOf="@+id/iv_star_third"
app:layout_constraintEnd_toStartOf="@+id/iv_star_fifth"
@@ -162,6 +166,7 @@
<ImageView
android:id="@+id/iv_star_fifth"
android:layout_marginEnd="3px"
app:layout_constraintTop_toTopOf="@+id/iv_star_fourth"
app:layout_constraintStart_toEndOf="@+id/iv_star_fourth"
android:src="@drawable/taxi_p_passenger_star"
@@ -170,6 +175,7 @@
<ImageView
android:id="@+id/iv_star_hide"
android:layout_marginEnd="3px"
app:layout_constraintTop_toTopOf="@+id/iv_star_fourth"
app:layout_constraintStart_toEndOf="@+id/iv_star_fourth"
android:src="@drawable/taxi_p_passenger_star"
@@ -181,11 +187,11 @@
android:id="@+id/tv_feel"
app:layout_constraintTop_toTopOf="@+id/iv_star_hide"
app:layout_constraintBottom_toBottomOf="@+id/iv_star_hide"
app:layout_constraintStart_toEndOf="@+id/iv_star_fifth"
app:layout_constraintEnd_toEndOf="parent"
android:layout_marginEnd="@dimen/dp_53"
android:textColor="#FFD868"
android:textSize="46px"
tools:text="太差了"
android:layout_marginStart="@dimen/dp_35"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
@@ -210,10 +216,12 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
android:background="@drawable/taxi_p_comment_submit"
android:textSize="@dimen/sp_46"
android:layout_marginTop="60px"
android:layout_width="400px"
android:layout_marginBottom="80px"
android:textSize="@dimen/sp_42"
android:layout_marginTop="66px"
android:layout_marginBottom="109px"
android:paddingTop="31px"
android:paddingBottom="31px"
android:layout_width="450px"
android:layout_height="wrap_content"/>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -8,6 +8,11 @@
android:background="@color/cardview_dark_background"
tools:ignore="MissingDefaultResource">
<View
android:background="#4C000000"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/aciv_title_icon"
android:src="@drawable/taxi_p_mogo_consult_title_icon"
@@ -33,9 +38,8 @@
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_video_playlist"
android:layout_width="match_parent"
android:layout_height="973px"
android:layout_height="1294px"
android:orientation="horizontal"
android:layout_marginTop="@dimen/dp_130"
android:layout_marginStart="156px"
android:layout_marginEnd="156px"
app:layout_constraintEnd_toEndOf="parent"
@@ -48,8 +52,8 @@
android:layout_height="wrap_content"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/rv_video_playlist"
android:layout_marginTop="95px"
app:layout_constraintBottom_toBottomOf="@+id/rv_video_playlist"
android:layout_marginBottom="50px"
app:vpi_orientation="horizontal"
app:vpi_slide_mode="scale"
app:vpi_slider_checked_color="@color/taxi_p_traffic_light_red_color_up"

View File

@@ -18,7 +18,6 @@
<ImageView
android:id="@+id/thumbImage"
android:scaleType="fitXY"
android:background="@drawable/taxi_p_video_holder"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerInParent="true" />
@@ -44,10 +43,9 @@
android:id="@+id/fullscreen"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintEnd_toEndOf="parent"
android:layout_marginTop="60px"
android:layout_marginEnd="60px"
android:layout_width="66px"
android:layout_height="66px"
android:padding="40px"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/taxi_p_change_full" />
<TextView

View File

@@ -25,7 +25,6 @@ import com.amap.api.navi.model.NaviInfo;
import com.amap.api.navi.model.NaviLatLng;
import com.autonavi.tbt.TrafficFacilityInfo;
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
import com.mogo.eagle.core.utilcode.mogo.toast.TipToast;
import com.mogo.eagle.core.utilcode.util.NetworkUtils;
import com.mogo.eagle.core.utilcode.util.ToastUtils;
import com.mogo.och.taxi.callback.ITaxiNaviChangedCallback;

View File

@@ -33,7 +33,6 @@ import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotRecordListener
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager;
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager;
import com.mogo.eagle.core.function.call.map.CallerSmpManager;
import com.mogo.eagle.core.utilcode.mogo.toast.TipToast;
import com.mogo.eagle.core.utilcode.util.ToastUtils;
import com.mogo.eagle.core.utilcode.util.UiThreadHandler;
import com.mogo.map.MogoMapUIController;

View File

@@ -24,7 +24,6 @@ import com.mogo.eagle.core.data.map.CenterLine;
import com.mogo.eagle.core.function.call.map.CallerHDMapManager;
import com.mogo.eagle.core.function.call.map.CallerSmpManager;
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
import com.mogo.eagle.core.utilcode.mogo.toast.TipToast;
import com.mogo.eagle.core.utilcode.util.DateTimeUtils;
import com.mogo.eagle.core.utilcode.util.ToastUtils;
import com.mogo.eagle.core.utilcode.util.UiThreadHandler;

View File

@@ -21,7 +21,6 @@ import android.widget.TextView;
import androidx.annotation.RequiresApi;
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
import com.mogo.eagle.core.utilcode.mogo.toast.TipToast;
import com.mogo.eagle.core.utilcode.util.ToastUtils;
import com.mogo.och.taxi.constant.TaxiOrderStatusEnum;
import com.mogo.och.taxi.R;

View File

@@ -14,7 +14,6 @@ import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.mogo.eagle.core.utilcode.mogo.toast.TipToast;
import com.mogo.eagle.core.utilcode.util.ToastUtils;
import com.mogo.och.common.module.utils.DateTimeUtil;
import com.mogo.och.taxi.R;

View File

@@ -4,14 +4,16 @@ import android.annotation.SuppressLint
import android.util.Log
import androidx.collection.ArraySet
import com.mogo.commons.AbsMogoApplication
import com.mogo.eagle.core.data.autopilot.AutopilotStatusInfo
import com.mogo.eagle.core.data.config.FunctionBuildConfig
import com.mogo.eagle.core.data.enums.TrafficTypeEnum
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.w
import com.mogo.map.MogoMarkerManager
import com.mogo.module.common.MogoApisHandler
import mogo.telematics.pad.MessagePad
import mogo.telematics.pad.MessagePad.TrackedObject
import java.util.*
import java.util.concurrent.ConcurrentHashMap
import java.util.function.Consumer
import kotlin.collections.ArrayList
@@ -21,12 +23,19 @@ import kotlin.collections.ArrayList
* @date 2021/10/19 10:45 上午
* 域控制器识别信息绘制
*/
class IdentifyOriginDataDrawer : Identify {
class IdentifyOriginDataDrawer : Identify, IMoGoAutopilotStatusListener {
companion object {
private const val TAG = "IdentifyDataDrawer"
}
init {
// 添加 ADAS状态 监听
CallerAutoPilotStatusListenerManager.addListener(TAG, this)
}
private var mAutopilotStatus: Int = 0 //自动驾驶状态
/**
* 上一帧数据的缓存
*/
@@ -58,42 +67,45 @@ class IdentifyOriginDataDrawer : Identify {
@SuppressLint("NewApi")
override fun renderPlanningWarningObj(planningObjects: List<MessagePad.PlanningObject>?) {
if (planningObjects == null) {
Log.d("hy","planningObjects null")
if (colorTrafficData.size == 0) {
//处于美化模式或者自动驾驶状态下展示
if(FunctionBuildConfig.isIgnoreConditionsDrawAutopilotTrajectoryData || mAutopilotStatus==2){
if (planningObjects == null) {
Log.d("hy","planningObjects null")
if (colorTrafficData.size == 0) {
return
}
colorTrafficData.forEach {
val cacheData = mMarkersCaches[it] //todo 是否要直接绘制 还是等下一帧
if (cacheData != null) {
mMarkersCaches[it] = cacheData.toBuilder().setColor("#D8D8D8FF").build()
}
}
colorTrafficData.clear()
return
}
colorTrafficData.forEach {
val cacheData = mMarkersCaches[it] //todo 是否要直接绘制 还是等下一帧
if (cacheData != null) {
mMarkersCaches[it] = cacheData.toBuilder().setColor("#D8D8D8FF").build()
}
}
colorTrafficData.clear()
return
}
val tempTrafficData = ArrayList<TrackedObject>()
val tempTrafficData = ArrayList<TrackedObject>()
// //todo test code 用于模拟感知物
// mMarkersCaches["67025"] = obj
// mMarkersCaches["3124"] = obj1
// mMarkersCaches["12"] = obj2
// mMarkersCaches["67025"] = obj
// mMarkersCaches["3124"] = obj1
// mMarkersCaches["12"] = obj2
mMarkersCaches.forEach { (uuid, data) ->
var temp = data
planningObjects.forEach {
val trackId = it.uuid.toString()
if(uuid == trackId){
colorTrafficData.add(trackId)
temp = data.toBuilder().setColor("#FFBCB239").build()
mMarkersCaches.forEach { (uuid, data) ->
var temp = data
planningObjects.forEach {
val trackId = it.uuid.toString()
if(uuid == trackId){
colorTrafficData.add(trackId)
temp = data.toBuilder().setColor("#FFBCB239").build()
}
}
tempTrafficData.add(temp)
}
tempTrafficData.add(temp)
MogoMarkerManager.getInstance(AbsMogoApplication.getApp())
.updateBatchMarkerPosition(tempTrafficData)
}
MogoMarkerManager.getInstance(AbsMogoApplication.getApp())
.updateBatchMarkerPosition(tempTrafficData)
}
/**
@@ -176,4 +188,8 @@ class IdentifyOriginDataDrawer : Identify {
trafficDataUuidList.clear()
}
override fun onAutopilotStatusResponse(autoPilotStatusInfo: AutopilotStatusInfo) {
mAutopilotStatus = autoPilotStatusInfo.state
}
}

View File

@@ -26,6 +26,7 @@ import androidx.lifecycle.LifecycleOwner;
import com.mogo.eagle.core.utilcode.kotlin.ExtensionsKt;
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
import com.mogo.eagle.core.utilcode.util.ToastUtils;
/**
@@ -64,7 +65,12 @@ public final class TipToast {
if (TextUtils.isEmpty(message)) {
return;
}
new ToastThread(new StringToastRunnable(sContext, message, duration, tipDrawable)).start();
if (duration == Toast.LENGTH_LONG) {
ToastUtils.showLong(message);
} else {
ToastUtils.showShort(message);
}
// new ToastThread(new StringToastRunnable(sContext, message, duration, tipDrawable)).start();
}
private static void tip(final int msgId, int duration, TipDrawable tipDrawable) {