From 147c1f6837fe3c0a6028b0d1e313430f8fc18672 Mon Sep 17 00:00:00 2001 From: liujing Date: Sun, 7 Nov 2021 20:18:37 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=86=E9=A2=91=E6=92=AD=E6=94=BE=E5=99=A8?= =?UTF-8?q?=E4=BD=BF=E7=94=A8small=E9=80=82=E9=85=8D,=E7=BD=91=E7=BB=9C?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E5=88=A4=E6=96=AD=E6=B7=BB=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/gradle.xml | 3 +- .../hmi/ui/notice/NoticeTrafficAdapter.java | 4 +- .../hmi/ui/notice/NoticeTrafficDialog.java | 352 ++++++++++-------- .../layout/notice_dialog_traffic_police.xml | 3 +- 4 files changed, 192 insertions(+), 170 deletions(-) diff --git a/.idea/gradle.xml b/.idea/gradle.xml index 22d04a33fd..ad82747b49 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -4,7 +4,7 @@ diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/notice/NoticeTrafficAdapter.java b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/notice/NoticeTrafficAdapter.java index 0652564d19..6bcfe25e95 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/notice/NoticeTrafficAdapter.java +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/notice/NoticeTrafficAdapter.java @@ -61,8 +61,8 @@ class NoticeTrafficAdapter extends RecyclerView.Adapter { @Override public int getItemCount() { - Log.d(TAG, String.valueOf(data.size())); - return 9; + Log.d(TAG, "getItemCount++" + String.valueOf(data.size())); + return data.size(); } public class TrafficInfoHolder extends RecyclerView.ViewHolder { diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/notice/NoticeTrafficDialog.java b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/notice/NoticeTrafficDialog.java index 086d052c04..98784f5667 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/notice/NoticeTrafficDialog.java +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/notice/NoticeTrafficDialog.java @@ -17,11 +17,9 @@ import com.mogo.eagle.core.data.notice.NoticeTrafficStyleInfo; import com.mogo.eagle.core.data.notice.NoticeTrafficStylePushData; import com.mogo.eagle.core.data.notice.NoticeValue; import com.mogo.eagle.core.function.api.notice.NoticeNetCallBack; -import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotManager; import com.mogo.eagle.core.function.call.notice.CallerNoticeManager; import com.mogo.eagle.core.function.hmi.R; import com.mogo.eagle.core.widget.media.video.NoticeSimpleSmallVideoPlayer; -import com.mogo.eagle.core.widget.media.video.NoticeSimpleVideoPlayer; import com.mogo.module.common.MogoApisHandler; import com.mogo.module.common.dialog.BaseFloatDialog; import com.mogo.service.imageloader.MogoImageView; @@ -30,6 +28,7 @@ import com.shuyu.gsyvideoplayer.GSYVideoManager; import com.mogo.utils.DateTimeUtils; import com.shuyu.gsyvideoplayer.builder.GSYVideoOptionBuilder; import com.shuyu.gsyvideoplayer.listener.VideoAllCallBack; +import com.shuyu.gsyvideoplayer.utils.NetworkUtils; import com.shuyu.gsyvideoplayer.video.base.GSYVideoView; import java.util.ArrayList; @@ -43,7 +42,7 @@ public class NoticeTrafficDialog extends BaseFloatDialog { private String TAG = "AINotice"; private Context mContext; private RecyclerView mRecyclerView; - private NoticeSimpleVideoPlayer mVideoPlayer; + private NoticeSimpleSmallVideoPlayer mVideoPlayer; private NoticeTrafficStylePushData mPushData; private ImageView close; private ImageView playImageView; @@ -51,6 +50,7 @@ public class NoticeTrafficDialog extends BaseFloatDialog { private GSYVideoOptionBuilder gsyVideoOptionBuilder = new GSYVideoOptionBuilder(); private TextView accept;//接受 private TextView refuse;//拒绝 + private TextView connect;//连接 private NoticeTrafficAdapter adapter; private ArrayList dataArrayList = new ArrayList(); private NoticeTrafficStyleInfo mTrafficStyleInfo; @@ -72,6 +72,7 @@ public class NoticeTrafficDialog extends BaseFloatDialog { playerShow();//视频播放器 recyclerVie();//详情信息列表 otherFunctionButton(); + netWorkStatus(); } /** @@ -133,6 +134,7 @@ public class NoticeTrafficDialog extends BaseFloatDialog { private void otherFunctionButton() { accept = findViewById(R.id.accept_traffic); refuse = findViewById(R.id.refuse_traffic); + connect = findViewById(R.id.notice_connect); accept.setOnClickListener(v -> { feedBackTraffic(1); }); @@ -140,7 +142,9 @@ public class NoticeTrafficDialog extends BaseFloatDialog { feedBackTraffic(0); }); //重新连接 - findViewById(R.id.notice_connect).setOnClickListener(v -> { + connect.setOnClickListener(v -> { + netWorkStatus(); + startLive(); requestTrafficInfo(); }); requestTrafficInfo(); @@ -155,6 +159,7 @@ public class NoticeTrafficDialog extends BaseFloatDialog { if (i == 1) { startAutoPilot(); } + dismiss(); } @@ -174,6 +179,175 @@ public class NoticeTrafficDialog extends BaseFloatDialog { parameters.endLatLon = endLocation; } + /** + * 暂停 + */ + private void pause() { + playImageView.setVisibility(View.VISIBLE); + thumbnailImage.setVisibility(View.GONE); + playImageView.setOnClickListener(v -> { + mVideoPlayer.onVideoResume(); + }); + thumbnailImage.setOnClickListener(v -> { + mVideoPlayer.onVideoResume(); + }); + } + + /** + * 继续 + */ + private void resume() { + playImageView.setImageResource(R.drawable.notice_video_pause); + playImageView.setVisibility(View.GONE); + thumbnailImage.setVisibility(View.GONE); + } + + /** + * 播放结束后 + */ + private void complete(Bitmap firstbitmap) { + thumbnailImage.setVisibility(View.VISIBLE); + thumbnailImage.setImageBitmap(firstbitmap); + playImageView.setImageResource(R.drawable.notice_video_play); + playImageView.setVisibility(View.VISIBLE); + playImageView.setOnClickListener(v -> { + startLive(); + }); + thumbnailImage.setOnClickListener(v -> { + startLive(); + }); + } + + /** + * 视频播放 + */ + private void startLive() { + if (mPushData != null) { + try { + Log.d(TAG, "交警事故开始播放视频startLive"); + String videoUrl = mPushData.getPoiImgUrl(); + gsyVideoOptionBuilder.setUrl(videoUrl).setCacheWithPlay(false).setPlayTag("NoticeTrafficDialog") + .build(mVideoPlayer); + mVideoPlayer.getStartButton().performClick(); + liveCallBack(); + } catch (Exception e) { + e.printStackTrace(); + } + } + } + + private void liveCallBack() { + new Thread(new Runnable() { + @Override + public void run() { + Bitmap firstBitmap = BitmapHelper.getVideoThumbnail(mPushData.getPoiImgUrl());/*获取第一帧图*/ + mVideoPlayer.setVideoAllCallBack(new VideoAllCallBack() { + @Override + public void onAutoComplete(String url, Object... objects) { + complete(firstBitmap); + } + + @Override + public void onClickResume(String url, Object... objects) { + thumbnailImage.setVisibility(View.GONE); + playImageView.setVisibility(View.GONE); + } + + @Override + public void onClickStop(String url, Object... objects) { + Log.d(TAG, "onClickStop"); + } + + @Override + public void onStartPrepared(String url, Object... objects) { + Log.d(TAG, "onStartPrepared"); + } + + @Override + public void onPrepared(String url, Object... objects) { + Log.d(TAG, "onPrepared"); + } + + @Override + public void onClickStartIcon(String url, Object... objects) { + Log.d(TAG, "onClickStartIcon"); + } + + @Override + public void onClickStartError(String url, Object... objects) { + Log.d(TAG, "onClickStartError"); + } + + @Override + public void onClickStopFullscreen(String url, Object... objects) { + Log.d(TAG, "onClickStopFullscreen"); + } + + @Override + public void onClickResumeFullscreen(String url, Object... objects) { + } + + @Override + public void onClickSeekbar(String url, Object... objects) { + } + + @Override + public void onClickSeekbarFullscreen(String url, Object... objects) { + } + + @Override + public void onEnterFullscreen(String url, Object... objects) { + } + + @Override + public void onQuitFullscreen(String url, Object... objects) { + } + + @Override + public void onQuitSmallWidget(String url, Object... objects) { + } + + @Override + public void onEnterSmallWidget(String url, Object... objects) { + } + + @Override + public void onTouchScreenSeekVolume(String url, Object... objects) { + } + + @Override + public void onTouchScreenSeekPosition(String url, Object... objects) { + } + + @Override + public void onTouchScreenSeekLight(String url, Object... objects) { + } + + @Override + public void onPlayError(String url, Object... objects) { + thumbnailImage.setVisibility(View.VISIBLE); + connect.setVisibility(View.VISIBLE); + Log.d(TAG, "onPlayError"); + } + + @Override + public void onClickStartThumb(String url, Object... objects) { + } + + @Override + public void onClickBlank(String url, Object... objects) { + } + + @Override + public void onClickBlankFullscreen(String url, Object... objects) { + Log.d(TAG, "onClickBlankFullscreen"); + + } + }); + } + }).start(); + } + /** * 获取交通事故详情 */ @@ -246,170 +420,18 @@ public class NoticeTrafficDialog extends BaseFloatDialog { } /** - * 暂停 + * 判断网络状态 */ - private void pause() { - playImageView.setVisibility(View.VISIBLE); - thumbnailImage.setVisibility(View.GONE); - playImageView.setOnClickListener(v -> { - mVideoPlayer.onVideoResume(); - }); - thumbnailImage.setOnClickListener(v -> { - mVideoPlayer.onVideoResume(); - }); - } - - /** - * 继续 - */ - private void resume() { - playImageView.setImageResource(R.drawable.notice_video_pause); - playImageView.setVisibility(View.GONE); - thumbnailImage.setVisibility(View.GONE); - } - - /** - * 播放结束后 - */ - private void complete(Bitmap firstbitmap) { - thumbnailImage.setVisibility(View.VISIBLE); - thumbnailImage.setImageBitmap(firstbitmap); - playImageView.setImageResource(R.drawable.notice_video_play); - playImageView.setVisibility(View.VISIBLE); - playImageView.setOnClickListener(v -> { - startLive(); - }); - thumbnailImage.setOnClickListener(v -> { - startLive(); - }); - } - - /** - * 视频播放 - */ - private void startLive() { - if (mPushData != null) { - try { - Log.d(TAG, "交警事故开始播放视频startLive"); - String videoUrl = mPushData.getPoiImgUrl(); - gsyVideoOptionBuilder.setUrl(videoUrl).setCacheWithPlay(false).setPlayTag("NoticeTrafficDialog") - .build(mVideoPlayer); - mVideoPlayer.getStartButton().performClick(); - thumbnailImage.setVisibility(View.GONE); - playImageView.setVisibility(View.GONE); - liveCallBack(); - } catch (Exception e) { - e.printStackTrace(); - } + private void netWorkStatus(){ + if (NetworkUtils.isAvailable(getContext())) { + Log.d(TAG, "网络可用"); + thumbnailImage.setVisibility(View.GONE); + connect.setVisibility(View.GONE); + } else { + thumbnailImage.setVisibility(View.VISIBLE); + connect.setVisibility(View.VISIBLE); } } - - private void liveCallBack() { - new Thread(new Runnable() { - @Override - public void run() { - Bitmap firstBitmap = BitmapHelper.getVideoThumbnail(mPushData.getPoiImgUrl());/*获取第一帧图*/ - mVideoPlayer.setVideoAllCallBack(new VideoAllCallBack() { - @Override - public void onAutoComplete(String url, Object... objects) { - complete(firstBitmap); - } - - @Override - public void onClickResume(String url, Object... objects) { - thumbnailImage.setVisibility(View.GONE); - playImageView.setVisibility(View.GONE); - } - - @Override - public void onClickStop(String url, Object... objects) { - Log.d(TAG, "onClickStop"); - } - - @Override - public void onStartPrepared(String url, Object... objects) { - Log.d(TAG, "onStartPrepared"); - } - - @Override - public void onPrepared(String url, Object... objects) { - } - - @Override - public void onClickStartIcon(String url, Object... objects) { - } - - @Override - public void onClickStartError(String url, Object... objects) { - } - - @Override - public void onClickStopFullscreen(String url, Object... objects) { - } - - @Override - public void onClickResumeFullscreen(String url, Object... objects) { - } - - @Override - public void onClickSeekbar(String url, Object... objects) { - } - - @Override - public void onClickSeekbarFullscreen(String url, Object... objects) { - } - - @Override - public void onEnterFullscreen(String url, Object... objects) { - } - - @Override - public void onQuitFullscreen(String url, Object... objects) { - } - - @Override - public void onQuitSmallWidget(String url, Object... objects) { - } - - @Override - public void onEnterSmallWidget(String url, Object... objects) { - } - - @Override - public void onTouchScreenSeekVolume(String url, Object... objects) { - } - - @Override - public void onTouchScreenSeekPosition(String url, Object... objects) { - } - - @Override - public void onTouchScreenSeekLight(String url, Object... objects) { - } - - @Override - public void onPlayError(String url, Object... objects) { - - } - - @Override - public void onClickStartThumb(String url, Object... objects) { - } - - @Override - public void onClickBlank(String url, Object... objects) { - } - - @Override - public void onClickBlankFullscreen(String url, Object... objects) { - Log.d(TAG, "onClickBlankFullscreen"); - - } - }); - } - }).start(); - } - public void cancel() { } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/notice_dialog_traffic_police.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/notice_dialog_traffic_police.xml index c0cf14de98..338b51b386 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/notice_dialog_traffic_police.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/notice_dialog_traffic_police.xml @@ -31,7 +31,7 @@ app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" /> -