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:
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -841,7 +841,7 @@ public class TaxiPassengerModel implements IOCHTaxiPassengerNaviChangedCallback
|
||||
|
||||
@Override
|
||||
public void onFail(int code, String msg) {
|
||||
ToastUtils.showShort(msg);
|
||||
// ToastUtils.showShort(msg);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -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());
|
||||
|
||||
@@ -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){
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -82,6 +82,7 @@ object FullVideoUtils {
|
||||
it.setVideoAllCallBack(null)
|
||||
it.smalllPlayer?.clearFullscreenLayout(it)
|
||||
}
|
||||
consultVideoPlayer.removeAllViews()
|
||||
}
|
||||
try {
|
||||
if (windowManager != null) {
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 |
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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="非常好" />
|
||||
|
||||
@@ -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>
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user