评论做到和小程序一样

显示结束路程延迟200毫秒
全屏title不展示
This commit is contained in:
yangyakun
2022-06-26 21:48:30 +08:00
committed by liujing
parent f4fa939631
commit d68e331903
7 changed files with 55 additions and 44 deletions

View File

@@ -19,6 +19,7 @@ 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.logger.CallerLogger;
import com.mogo.eagle.core.utilcode.util.OverlayViewUtils;
import com.mogo.eagle.core.utilcode.util.UiThreadHandler;
import com.mogo.map.MogoMapUIController;
import com.mogo.map.MogoMarkerManager;
import com.mogo.map.listener.IMogoMapListener;
@@ -332,7 +333,12 @@ public class TaxiPassengerBaseFragment extends MvpFragment<TaxiPassengerBaseFrag
initArrivedView();
}
OverlayViewUtils.showOverlayView(getActivity(),mArrivedEndView.get(),R.style.och_window_anim_alpha);
mArrivedEndView.get().setDataAndStartAnimation(arrivedEndStation,orderNo);
UiThreadHandler.postDelayed(new Runnable() {
@Override
public void run() {
mArrivedEndView.get().setDataAndStartAnimation(arrivedEndStation,orderNo);
}
},200);
}else {
if(mArrivedEndView==null||mArrivedEndView.get()==null){
return;

View File

@@ -23,6 +23,7 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
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.eagle.core.utilcode.util.ToastUtils
import com.mogo.eagle.core.widget.media.video.SimpleVideoPlayer
import com.mogo.och.common.module.wigets.OCHBorderShadowLayout
import com.mogo.och.taxi.passenger.R
@@ -36,7 +37,6 @@ import com.mogo.och.taxi.passenger.ui.comment.adapter.CommentAdapter
import com.mogo.och.taxi.passenger.widget.ResizeAnimation
import com.shuyu.gsyvideoplayer.builder.GSYVideoOptionBuilder
import com.shuyu.gsyvideoplayer.listener.GSYSampleCallBack
import com.shuyu.gsyvideoplayer.utils.GSYVideoType
import io.reactivex.Observable
import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.disposables.Disposable
@@ -133,13 +133,7 @@ class TaxiPassengerArrivedView :RelativeLayout, View.OnClickListener {
gsyVideoOptionBuilder.setUrl(url)
.setCacheWithPlay(false)
.setPlayTag("TaxiPassengerArrivedView")
.setVideoAllCallBack(object : GSYSampleCallBack() {
override fun onAutoComplete(url: String?, vararg objects: Any?) {
svpFrame.setBackgroundResource(R.drawable.tail_ani_0090)
}
})
.build(svpFrame)
GSYVideoType.setShowType(GSYVideoType.SCREEN_TYPE_FULL)
}
private fun initCommentList() {
@@ -177,10 +171,10 @@ class TaxiPassengerArrivedView :RelativeLayout, View.OnClickListener {
override fun onDetachedFromWindow() {
svpFrame.setBackgroundResource(R.drawable.tail_ani_0000)
svpFrame.setVideoAllCallBack(null)
tvFeel.text = ""
rvCommentList.visibility = View.INVISIBLE
btnSubmit.visibility = View.INVISIBLE
svpFrame.onVideoReset()
clCommentContain.getLayoutParams().height = 657
clCommentContain.requestLayout()
super.onDetachedFromWindow()
@@ -196,11 +190,11 @@ class TaxiPassengerArrivedView :RelativeLayout, View.OnClickListener {
R.id.tv_please_score -> {
//iTaxiPassengerScoreCallback?.onScoreCallback(2,orderNo)
}
R.id.iv_star_first -> {commitAndStartAnimation(1,"不满意")}
R.id.iv_star_second -> {commitAndStartAnimation(2,"不满意")}
R.id.iv_star_first -> {commitAndStartAnimation(1,"非常差")}
R.id.iv_star_second -> {commitAndStartAnimation(2,"")}
R.id.iv_star_third -> {commitAndStartAnimation(3,"一般")}
R.id.iv_star_fourth -> {commitAndStartAnimation(4,"舒适")}
R.id.iv_star_fifth -> {commitAndStartAnimation(5,"舒适")}
R.id.iv_star_fifth -> {commitAndStartAnimation(5,"非常棒")}
R.id.btn_submit -> {submitScore()}
else -> {}
}
@@ -212,6 +206,10 @@ class TaxiPassengerArrivedView :RelativeLayout, View.OnClickListener {
private fun submitScore() {
val commentAdapter = rvCommentList.adapter as CommentAdapter
val selectComment = commentAdapter.getSelectComment()
if(selectComment.isEmpty()){
ToastUtils.showLong("请选择评论内容")
return
}
iTaxiPassengerScoreCallback?.onScoreCallback(TaxiPassengerScoreUpdateOrderReqBean(orderNo,currentFraction,selectComment))
}
@@ -221,7 +219,10 @@ class TaxiPassengerArrivedView :RelativeLayout, View.OnClickListener {
tvFeel.text = title
if(allStarWithWorld!=null&&allStarWithWorld!!.data!=null&&allStarWithWorld!!.data!!.size>0){
// 已经请求到总量了
val filter = allStarWithWorld!!.data.filter { it.star == fraction.toString() }
val filter = allStarWithWorld!!.data.filter {
it.isSelect = false
it.star == fraction.toString()
}
val commentAdapter = rvCommentList.adapter as CommentAdapter
commentAdapter.addAll(filter.toMutableList())
startStartAnimation(fraction)
@@ -330,8 +331,12 @@ class TaxiPassengerArrivedView :RelativeLayout, View.OnClickListener {
mArrivedEndStation.text = endSiteAddr
ochThankShadowLayout.visibility = View.GONE
ivAnimalList.visibility = View.GONE
svpFrame.startButton.performClick()
svpFrame.setVideoAllCallBack(object : GSYSampleCallBack() {
override fun onAutoComplete(url: String?, vararg objects: Any?) {
svpFrame.setBackgroundResource(R.drawable.tail_ani_0090)
}
})
svpFrame.startPlayLogic()
postDelayed({
ochShadowLayout.visibility = View.VISIBLE
ochShadowLayout.startAnimation(left2Right)

View File

@@ -100,13 +100,9 @@ object OverlayLeftViewUtils {
val liveSelected = object :ListAdapter.OnTabSelectListener{
override fun onSelect(v: View?) {
close(view, windowManager)
if(taxiPassengerMogoConsultView?.get() != null){
OverlayViewUtils.dismissOverlayView(taxiPassengerMogoConsultView?.get())
}
if(taxiPassengerMogoMoviesView?.get() != null){
OverlayViewUtils.dismissOverlayView(taxiPassengerMogoMoviesView?.get())
}
FullVideoUtils.dismissOverlayView()
closeConsult()
closeMovice()
}
}
@@ -114,9 +110,7 @@ object OverlayLeftViewUtils {
override fun onSelect(v: View?) {
close(view, windowManager)
FullVideoUtils.dismissOverlayView()
if(taxiPassengerMogoMoviesView?.get() != null){
OverlayViewUtils.dismissOverlayView(taxiPassengerMogoMoviesView?.get())
}
closeMovice()
if(taxiPassengerMogoConsultView?.get() != null){
OverlayViewUtils.showOverlayView(context,taxiPassengerMogoConsultView?.get())
}else{
@@ -131,9 +125,7 @@ object OverlayLeftViewUtils {
override fun onSelect(v: View?) {
close(view, windowManager)
FullVideoUtils.dismissOverlayView()
if(taxiPassengerMogoConsultView?.get() != null){
OverlayViewUtils.dismissOverlayView(taxiPassengerMogoConsultView?.get())
}
closeConsult()
if(taxiPassengerMogoMoviesView?.get() != null){
OverlayViewUtils.showOverlayView(context,taxiPassengerMogoMoviesView?.get())
}else{
@@ -243,28 +235,43 @@ object OverlayLeftViewUtils {
if (!isShowing) {
return
}
FullVideoUtils.dismissOverlayView()
// 管理的要关闭都得关闭
if(taxiPassengerMogoConsultView?.get() != null){
OverlayViewUtils.dismissOverlayView(taxiPassengerMogoConsultView?.get())
}
if(taxiPassengerMogoMoviesView?.get() != null){
OverlayViewUtils.dismissOverlayView(taxiPassengerMogoMoviesView?.get())
}
closeConsult()
closeMovice()
subscribe?.let {
if (!it.isDisposed) {
it.dispose()
}
}
subscribe = null
try {
if (windowManager != null && overlayView != null) {
windowManager!!.removeView(overlayView)
}
if (overlayView!=null) {
overlayView = null
}
isShowing = false
} catch (e: Exception) {
e.printStackTrace()
}
}
private fun closeMovice() {
if (taxiPassengerMogoMoviesView?.get() != null) {
OverlayViewUtils.dismissOverlayView(taxiPassengerMogoMoviesView?.get())
taxiPassengerMogoMoviesView = null
}
}
private fun closeConsult() {
if (taxiPassengerMogoConsultView?.get() != null) {
OverlayViewUtils.dismissOverlayView(taxiPassengerMogoConsultView?.get())
taxiPassengerMogoConsultView = null
}
}
private fun getViewBounds(view: View): Rect {
return Rect(view.left, view.top, view.right, view.bottom)
}

View File

@@ -64,7 +64,7 @@ public class RecyclerVideoAdapter extends RecyclerView.Adapter<RecyclerItemVideo
.setPlayTag(taxiPassengerVideoPlay.getImageUrl()+position)
.setThumbPlay(false)
.build(holder.gsyVideoPlayer);
holder.gsyVideoPlayer.setTitle(taxiPassengerVideoPlay.getTitle());
holder.gsyVideoPlayer.getTitleTextView().setText(taxiPassengerVideoPlay.getTitle());
Glide.with(context)
.load(taxiPassengerVideoPlay.getImageUrl())
.apply(new RequestOptions().placeholder(R.drawable.taxi_p_video_holder).centerCrop())

View File

@@ -37,7 +37,6 @@ class ConsultVideoPlayer : StandardGSYVideoPlayer {
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
private var fullVideoPlayer:ConsultVideoPlayer?=null
@@ -58,7 +57,6 @@ class ConsultVideoPlayer : StandardGSYVideoPlayer {
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
@@ -73,10 +71,6 @@ class ConsultVideoPlayer : StandardGSYVideoPlayer {
return R.layout.taxi_p_video_show
}
fun setTitle(title:String){
tvTitle.text = title
}
override fun updateStartImage() {
when (mCurrentState) {
GSYVideoView.CURRENT_STATE_PLAYING ->{
@@ -126,7 +120,6 @@ class ConsultVideoPlayer : StandardGSYVideoPlayer {
override fun onDetachedFromWindow() {
super.onDetachedFromWindow()
mProgressBar?.progress = 0
fullVideoPlayer?.let {
clearFullscreenLayout(it)
@@ -261,6 +254,7 @@ class ConsultVideoPlayer : StandardGSYVideoPlayer {
mDialogProgressNormalColor
)
}
standardGSYVideoPlayer.titleTextView?.text = titleTextView.text
}
override fun startWindowFullscreen(context:Context, actionBar:Boolean, statusBar:Boolean):GSYBaseVideoPlayer?{

View File

@@ -24,7 +24,7 @@
app:layout_constraintBottom_toBottomOf="@+id/aciv_title_icon"
app:layout_constraintStart_toEndOf="@+id/aciv_title_icon"
android:layout_marginStart="@dimen/dp_13"
android:text="蘑菇咨询"
android:text="蘑菇资讯"
android:textSize="60px"
android:textColor="@color/taxi_order_status_textColor"
android:layout_width="wrap_content"

View File

@@ -51,14 +51,13 @@
android:src="@drawable/taxi_p_change_full" />
<TextView
android:id="@+id/tv_title"
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="@+id/fullscreen"
app:layout_constraintBottom_toBottomOf="@+id/fullscreen"
app:layout_constraintStart_toStartOf="parent"
android:layout_marginStart="50px"
android:text="02:23"
android:textColor="@android:color/white"
android:textSize="46px" />