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-24 14:25:14 +08:00
7 changed files with 74 additions and 12 deletions

View File

@@ -180,7 +180,7 @@ class TaxiPassengerArrivedView :RelativeLayout, View.OnClickListener {
tvFeel.text = ""
rvCommentList.visibility = View.INVISIBLE
btnSubmit.visibility = View.INVISIBLE
svpFrame.onVideoReset()
clCommentContain.getLayoutParams().height = 657
clCommentContain.requestLayout()
super.onDetachedFromWindow()

View File

@@ -11,7 +11,7 @@ import androidx.recyclerview.widget.RecyclerView;
import com.bumptech.glide.Glide;
import com.bumptech.glide.request.RequestOptions;
import com.mogo.eagle.core.widget.glide.SkinAbleBitmapTarget;
import com.mogo.eagle.core.utilcode.util.ToastUtils;
import com.mogo.och.taxi.passenger.R;
import com.mogo.och.taxi.passenger.bean.TaxiPassengerVideoPlay;
@@ -22,6 +22,15 @@ public class RecyclerVideoAdapter extends RecyclerView.Adapter<RecyclerItemVideo
private List<TaxiPassengerVideoPlay> itemDataList = null;
private Context context = null;
private OnThumbImageClilckListener onThumbImageClilckListener;
public OnThumbImageClilckListener getOnThumbImageClilckListener() {
return onThumbImageClilckListener;
}
public void setOnThumbImageClilckListener(OnThumbImageClilckListener onThumbImageClilckListener) {
this.onThumbImageClilckListener = onThumbImageClilckListener;
}
public RecyclerVideoAdapter(Context context, List<TaxiPassengerVideoPlay> itemDataList) {
this.itemDataList = itemDataList;
@@ -61,6 +70,14 @@ public class RecyclerVideoAdapter extends RecyclerView.Adapter<RecyclerItemVideo
.load(taxiPassengerVideoPlay.getImageUrl())
.apply(new RequestOptions().placeholder(R.drawable.taxi_p_video_holder).centerCrop())
.into(holder.gsyVideoPlayer.coverImage);
holder.gsyVideoPlayer.getThumbImageView().setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(onThumbImageClilckListener!=null){
onThumbImageClilckListener.onDxChanged(holder.getAbsoluteAdapterPosition());
}
}
});
}
@Override
@@ -73,5 +90,9 @@ public class RecyclerVideoAdapter extends RecyclerView.Adapter<RecyclerItemVideo
public int getItemViewType(int position) {
return 1;
}
public interface OnThumbImageClilckListener {
void onDxChanged(int targetPosition);
}
}

View File

@@ -6,6 +6,7 @@ import android.graphics.Color
import android.graphics.drawable.BitmapDrawable
import android.util.AttributeSet
import android.view.LayoutInflater
import android.view.View
import android.widget.RelativeLayout
import androidx.constraintlayout.widget.ConstraintLayout
import androidx.recyclerview.widget.RecyclerView
@@ -85,9 +86,9 @@ class TaxiPassengerMogoConsultView :RelativeLayout {
if(prePlayerPosition!=centerItemPosition) {
if(player.currentState==GSYVideoView.CURRENT_STATE_PAUSE){
player.onVideoReset()
player.startPlayLogic()
//player.startPlayLogic()
}else{
player.startPlayLogic()
//player.startPlayLogic()
}
val taxiPassengerVideoPlay = arrayListOf[centerItemPosition]
setBackageAndPlayNext(taxiPassengerVideoPlay, player, centerItemPosition)
@@ -119,6 +120,15 @@ class TaxiPassengerMogoConsultView :RelativeLayout {
}
indicatorView.onPageScrolled(currentIndex, fl, 0)
}
recyclerVideoAdapter.setOnThumbImageClilckListener {
val centerItemPosition: Int = carouselLayoutManager.centerItemPosition
val player = carouselLayoutManager.findViewByPosition(centerItemPosition)
if(player is ConsultVideoPlayer) {
player.onVideoReset()
player.thumbImageViewLayout.visibility = View.VISIBLE
}
rvVideoPlaylist.smoothScrollToPosition(it)
}
rvVideoPlaylist.layoutManager = carouselLayoutManager
rvVideoPlaylist.setHasFixedSize(true)
rvVideoPlaylist.adapter = recyclerVideoAdapter
@@ -162,6 +172,11 @@ class TaxiPassengerMogoConsultView :RelativeLayout {
}
}
}
override fun onClickBlank(url: String?, vararg objects: Any?) {
super.onClickBlank(url, *objects)
rvVideoPlaylist.smoothScrollToPosition(centerItemPosition)
}
})
}
}
@@ -192,7 +207,7 @@ class TaxiPassengerMogoConsultView :RelativeLayout {
recyclerVideoAdapter.getItemByPosition(centerItemPosition),
player, centerItemPosition
)
player.startPlayLogic()
//player.startPlayLogic()
}
}
}

View File

@@ -8,6 +8,7 @@ import android.view.*
import android.widget.FrameLayout
import android.widget.ImageView
import android.widget.TextView
import androidx.appcompat.widget.AppCompatImageView
import androidx.constraintlayout.widget.ConstraintLayout
import com.mogo.eagle.core.utilcode.util.TimeTransformUtils
import com.mogo.eagle.core.widget.media.video.TextureVideoViewOutlineProvider
@@ -34,6 +35,7 @@ class ConsultVideoPlayer : StandardGSYVideoPlayer {
lateinit var coverImage: ImageView
private lateinit var currentTimeTextView: TextView
private lateinit var totalTimeTextView: TextView
private lateinit var aivStartPlay: AppCompatImageView
private lateinit var tvTitle: TextView
private lateinit var layoutBottom: ConstraintLayout
@@ -50,9 +52,11 @@ class ConsultVideoPlayer : StandardGSYVideoPlayer {
coverImage = findViewById(R.id.thumbImage)
currentTimeTextView = findViewById(R.id.current)
totalTimeTextView = findViewById(R.id.total)
aivStartPlay = findViewById(R.id.aiv_start_play)
layoutBottom = findViewById(R.id.layout_bottom)
tvTitle = findViewById(R.id.tv_title)
fullscreenButton.setOnClickListener(this)
aivStartPlay.setOnClickListener(this)
if (mThumbImageViewLayout != null
&& (mCurrentState == -1 || mCurrentState == CURRENT_STATE_NORMAL || mCurrentState == CURRENT_STATE_ERROR)
) {
@@ -71,11 +75,18 @@ class ConsultVideoPlayer : StandardGSYVideoPlayer {
override fun updateStartImage() {
when (mCurrentState) {
GSYVideoView.CURRENT_STATE_PLAYING ->
GSYVideoView.CURRENT_STATE_PLAYING ->{
start.setImageResource(R.drawable.notice_video_pause)
GSYVideoView.CURRENT_STATE_ERROR ->
aivStartPlay.visibility = View.GONE
}
GSYVideoView.CURRENT_STATE_ERROR ->{
start.setImageResource(R.drawable.notice_video_pause)
else -> start.setImageResource(R.drawable.notice_video_after_pause)
aivStartPlay.visibility = View.GONE
}
else -> {
start.setImageResource(R.drawable.notice_video_after_pause)
aivStartPlay.visibility = View.VISIBLE
}
}
}
@@ -120,9 +131,7 @@ class ConsultVideoPlayer : StandardGSYVideoPlayer {
clearFullscreenLayout(it)
}
fullVideoPlayer?.onVideoReset()
if (thumbImageView is ImageView) {
(thumbImageView as ImageView).setImageResource(R.drawable.taxi_p_video_holder)
}
thumbImageViewLayout.visibility = View.VISIBLE
}else{
onVideoReset()
}
@@ -134,6 +143,13 @@ class ConsultVideoPlayer : StandardGSYVideoPlayer {
R.id.fullscreen -> {
startWindowFullscreenOwn(context, false, false)
}
R.id.aiv_start_play -> {
if(currentState==GSYVideoView.CURRENT_STATE_PAUSE){
onVideoResume(false)
}else{
startPlayLogic()
}
}
else -> {}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

View File

@@ -24,6 +24,16 @@
android:layout_centerInParent="true" />
</RelativeLayout>
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/aiv_start_play"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
android:src="@drawable/taxi_p_mogo_video_play"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/layout_top"
android:layout_width="match_parent"