From d30f1a9afdfdeaec5d6f3931c2d252ce1b572865 Mon Sep 17 00:00:00 2001 From: liujing Date: Mon, 1 Nov 2021 19:33:49 +0800 Subject: [PATCH] =?UTF-8?q?[de]=20=E5=BC=95=E5=85=A5=E6=96=B9=E5=BC=8F?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=BAapi=20=20+301001receiver?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hmi/ui/notice/NoticeBannerView.java | 15 ++++++-- .../hmi/ui/notice/NoticeTrafficDialog.java | 33 +++++++++++++++++- .../layout/notice_dialog_traffic_police.xml | 4 +-- .../function/notice/NoticeSocketManager.java | 23 +++++++++--- .../receiver/NoticeMessageListener.java | 26 -------------- .../test/TestNoticeBroadcastReceiver.kt | 2 +- .../notice/NoticeTrafficStylePushData.java | 14 ++++---- core/mogo-core-res/build.gradle | 8 ++--- .../drawable/notice_banner_icon_video.png | Bin 3031 -> 836 bytes 9 files changed, 78 insertions(+), 47 deletions(-) delete mode 100644 core/function-impl/mogo-core-function-notice/src/main/java/com/mogo/eagle/core/function/notice/receiver/NoticeMessageListener.java diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/notice/NoticeBannerView.java b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/notice/NoticeBannerView.java index 95b9104103..d424a7c4f4 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/notice/NoticeBannerView.java +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/notice/NoticeBannerView.java @@ -3,6 +3,7 @@ package com.mogo.eagle.core.function.hmi.ui.notice; import android.content.Context; import android.util.AttributeSet; import android.view.LayoutInflater; +import android.view.View; import android.widget.ImageView; import android.widget.TextView; @@ -28,6 +29,7 @@ public class NoticeBannerView extends ConstraintLayout { private TextView noticeBannerCheck; private NoticeTrafficDialog mNoticeTrafficDialog; private Context mContext; + private NoticeTrafficStylePushData mPushData; public NoticeBannerView(@NonNull Context context) { super(context); @@ -48,10 +50,17 @@ public class NoticeBannerView extends ConstraintLayout { super(context, attrs, defStyleAttr, defStyleRes); } - public void refreshWithData(NoticeTrafficStylePushData pushData){ + public void refreshWithData(NoticeTrafficStylePushData pushData) { + mPushData = pushData; noticePushTitle.setText(pushData.getMsg()); noticePushContent.setText(pushData.getContent()); + if (pushData.getIsVideo()) { + iconImageView.setVisibility(View.VISIBLE); + } else { + iconImageView.setVisibility(View.INVISIBLE); + } } + public void initView() { styleImageView = findViewById(R.id.notice_push_style_image); iconImageView = findViewById(R.id.notice_push_icon_video); @@ -60,13 +69,13 @@ public class NoticeBannerView extends ConstraintLayout { noticeBannerCheck = findViewById(R.id.notice_push_banner_check); noticeBannerCheck.setOnClickListener(v -> { - mNoticeTrafficDialog = new NoticeTrafficDialog(mContext); + mNoticeTrafficDialog = new NoticeTrafficDialog(mContext, mPushData); mNoticeTrafficDialog.show(); }); } //数据改变刷新UI - public void pushBeanChanged(NoticeTrafficStyleInfo info){ + public void pushBeanChanged(NoticeTrafficStyleInfo info) { } } 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 8dd4767063..4fe0f6e1aa 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 @@ -1,12 +1,15 @@ package com.mogo.eagle.core.function.hmi.ui.notice; import android.content.Context; +import android.widget.ImageView; import androidx.annotation.NonNull; import androidx.recyclerview.widget.GridLayoutManager; import androidx.recyclerview.widget.RecyclerView; +import com.mogo.eagle.core.data.notice.NoticeTrafficStylePushData; import com.mogo.eagle.core.function.hmi.R; +import com.mogo.eagle.core.widget.media.video.SimpleVideoPlayer; import com.mogo.module.common.dialog.BaseFloatDialog; import com.mogo.module.common.view.SpacesItemDecoration; import com.mogo.utils.ResourcesHelper; @@ -21,10 +24,14 @@ import java.util.List; public class NoticeTrafficDialog extends BaseFloatDialog { private Context mContext; private RecyclerView mRecyclerView; + private SimpleVideoPlayer mVideoPlayer; + private NoticeTrafficStylePushData mPushData; + private ImageView close; - public NoticeTrafficDialog(@NonNull Context context) { + public NoticeTrafficDialog(@NonNull Context context, NoticeTrafficStylePushData pushData) { super(context); mContext = context; + mPushData = pushData; initView(); } @@ -34,6 +41,11 @@ public class NoticeTrafficDialog extends BaseFloatDialog { public void initView() { setContentView(R.layout.notice_dialog_traffic_police); + mVideoPlayer = findViewById(R.id.video_player); + close = findViewById(R.id.notice_traffic_dialog_close); + close.setOnClickListener(v -> { + dismiss(); + }); //网格绘制 try { mRecyclerView = findViewById(R.id.traffic_info_recyclerView); @@ -49,5 +61,24 @@ public class NoticeTrafficDialog extends BaseFloatDialog { } NoticeTrafficAdapter adapter = new NoticeTrafficAdapter(mContext); mRecyclerView.setAdapter(adapter); + startLive(); + } + + /** + * 视频播放 + */ + private void startLive() { + if (mPushData != null && mPushData.getIsVideo() == true) { + + } + } + + public void cancel() { + + } + + @Override + public void dismiss() { + super.dismiss(); } } 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 2e7e119cd3..c69d6efcd2 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,8 +31,8 @@ app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" /> - mNormalNoticeListener = new IMogoOnMessageListener< NoticeNormalData >() { + private IMogoOnMessageListener mNormalNoticeListener = new IMogoOnMessageListener() { @Override public Class target() { return NoticeNormalData.class; @@ -77,5 +75,22 @@ class NoticeSocketManager { } }; + + /** + * 交警类型公告弹窗 + */ + private IMogoOnMessageListener mNoticeMessageListener = new IMogoOnMessageListener() { + + @Override + public Class target() { + return NoticeTrafficStylePushData.class; + } + + @Override + public void onMsgReceived(NoticeTrafficStylePushData obj) { + Logger.i(TAG, "301001-- 交警类型公告数据:" + GsonUtil.jsonFromObject(obj)); + CallerHmiManager.INSTANCE.showTrafficBanner(obj); + } + }; } diff --git a/core/function-impl/mogo-core-function-notice/src/main/java/com/mogo/eagle/core/function/notice/receiver/NoticeMessageListener.java b/core/function-impl/mogo-core-function-notice/src/main/java/com/mogo/eagle/core/function/notice/receiver/NoticeMessageListener.java deleted file mode 100644 index d4bb9cc532..0000000000 --- a/core/function-impl/mogo-core-function-notice/src/main/java/com/mogo/eagle/core/function/notice/receiver/NoticeMessageListener.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.mogo.eagle.core.function.notice.receiver; - -import android.content.Context; -import android.util.Log; - -import com.mogo.service.cloud.socket.IMogoOnMessageListener; - -/** - * @author Jing - * @description push云公告消息接收 - * @since: 10/27/21 - */ -public class NoticeMessageListener implements IMogoOnMessageListener { - private String TAG = "AINotice"; - private Context mContext; - - @Override - public Class target() { - return null; - } - - @Override - public void onMsgReceived(Object obj) { - Log.d(TAG, obj.toString()); - } -} diff --git a/core/function-impl/mogo-core-function-notice/src/main/java/com/mogo/eagle/core/function/notice/test/TestNoticeBroadcastReceiver.kt b/core/function-impl/mogo-core-function-notice/src/main/java/com/mogo/eagle/core/function/notice/test/TestNoticeBroadcastReceiver.kt index d6f4b07399..b7d15df12b 100644 --- a/core/function-impl/mogo-core-function-notice/src/main/java/com/mogo/eagle/core/function/notice/test/TestNoticeBroadcastReceiver.kt +++ b/core/function-impl/mogo-core-function-notice/src/main/java/com/mogo/eagle/core/function/notice/test/TestNoticeBroadcastReceiver.kt @@ -30,7 +30,7 @@ class TestNoticeBroadcastReceiver : BroadcastReceiver() { } private fun dispatchSceneTest(sceneType: Int) { - Log.d(TAG, "dispatchSceneTest::"+sceneType.toString()); + Log.d(TAG, "dispatchSceneTest::" + sceneType.toString()); if (sceneType == 301001) { val pushData = NoticeTrafficStylePushData() pushData.msg = "交警测试公告" diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/notice/NoticeTrafficStylePushData.java b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/notice/NoticeTrafficStylePushData.java index 5426355b49..62670a7962 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/notice/NoticeTrafficStylePushData.java +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/notice/NoticeTrafficStylePushData.java @@ -3,6 +3,7 @@ package com.mogo.eagle.core.data.notice; /** * @author Jing * @description 交警任务公告推送消息体 + * 接口 http://wiki.zhidaohulian.com/pages/viewpage.action?pageId=66917469 * @since: 10/28/21 */ public class NoticeTrafficStylePushData { @@ -10,7 +11,7 @@ public class NoticeTrafficStylePushData { private String infoId; private String poiImgUrl; private String title; - private String isVideo; + private boolean isVideo; private String content; public String getMsg() { @@ -45,11 +46,11 @@ public class NoticeTrafficStylePushData { this.poiImgUrl = poiImgUrl; } - public String getIsVideo() { + public boolean getIsVideo() { return isVideo; } - public void setIsVideo(String isVideo) { + public void setIsVideo(boolean isVideo) { this.isVideo = isVideo; } @@ -63,11 +64,12 @@ public class NoticeTrafficStylePushData { @Override public String toString() { - return "NoticePushData{" + + return "NoticeTrafficStylePushData{" + "msg='" + msg + '\'' + ", infoId='" + infoId + '\'' + - ", imageUrl='" + poiImgUrl + '\'' + - ", isVideo='" + isVideo + '\'' + + ", poiImgUrl='" + poiImgUrl + '\'' + + ", title='" + title + '\'' + + ", isVideo=" + isVideo + ", content='" + content + '\'' + '}'; } diff --git a/core/mogo-core-res/build.gradle b/core/mogo-core-res/build.gradle index 6716b28530..df91edd4fa 100644 --- a/core/mogo-core-res/build.gradle +++ b/core/mogo-core-res/build.gradle @@ -67,10 +67,10 @@ dependencies { implementation rootProject.ext.dependencies.androidxrecyclerview implementation rootProject.ext.dependencies.androidxconstraintlayout - implementation rootProject.ext.dependencies.videoarmv7 - implementation rootProject.ext.dependencies.videoarm64 - implementation rootProject.ext.dependencies.videojava - implementation rootProject.ext.dependencies.livesdk + api rootProject.ext.dependencies.videoarmv7 + api rootProject.ext.dependencies.videoarm64 + api rootProject.ext.dependencies.videojava + api rootProject.ext.dependencies.livesdk if (Boolean.valueOf(RELEASE)) { implementation rootProject.ext.dependencies.mogo_core_utils diff --git a/core/mogo-core-res/src/main/function-hmi-res/drawable/notice_banner_icon_video.png b/core/mogo-core-res/src/main/function-hmi-res/drawable/notice_banner_icon_video.png index d187488084d9553fe29a13a392705cae9d5813e0..051c803e349fe6028719a02f53e4fab45b9dfef6 100644 GIT binary patch delta 720 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 ebZMF&^8N=|elv|SRYs}+0000