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/MoGoHmiFragment.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt
index 970fe13bec..2dac3b397b 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt
+++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt
@@ -9,12 +9,13 @@ import android.view.animation.OvershootInterpolator
import com.mogo.commons.mvp.MvpFragment
import com.mogo.commons.voice.AIAssist
import com.mogo.eagle.core.data.enums.WarningDirectionEnum
-import com.mogo.eagle.core.data.notice.NoticePushData
+import com.mogo.eagle.core.data.notice.NoticeTrafficStylePushData
import com.mogo.eagle.core.function.api.hmi.warning.IMoGoWarningStatusListener
import com.mogo.eagle.core.function.hmi.R
import com.mogo.eagle.core.function.hmi.notification.WarningFloat
import com.mogo.eagle.core.function.hmi.notification.anim.DefaultAnimator
import com.mogo.eagle.core.function.hmi.notification.enums.SidePattern
+import com.mogo.eagle.core.function.hmi.ui.notice.NoticeBannerView
import com.mogo.eagle.core.function.hmi.ui.widget.V2XNotificationView
import com.mogo.module.common.enums.EventTypeEnum
import com.mogo.utils.logger.Logger
@@ -209,10 +210,13 @@ class MoGoHmiFragment : MvpFragment
/**
* 展示云公告顶部弹窗
- * @param pushData
+ * @param trafficStylePushData
*/
- override fun showNoticeForTrafficWithData(pushData: NoticePushData) {
+ override fun showNoticeForTrafficWithData(trafficStylePushData: NoticeTrafficStylePushData) {
+ activity.let {
+ val noticeBannerView = this.getContext()?.let { it1 -> NoticeBannerView(it1) }
+ }
}
}
\ No newline at end of file
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoWarningContract.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoWarningContract.kt
index e635cd947a..a22ee3ede8 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoWarningContract.kt
+++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoWarningContract.kt
@@ -2,7 +2,7 @@ package com.mogo.eagle.core.function.hmi.ui
import com.mogo.commons.mvp.IView
import com.mogo.eagle.core.data.enums.WarningDirectionEnum
-import com.mogo.eagle.core.data.notice.NoticePushData
+import com.mogo.eagle.core.data.notice.NoticeTrafficStylePushData
import com.mogo.eagle.core.function.api.hmi.warning.IMoGoWarningStatusListener
@@ -99,8 +99,8 @@ interface MoGoWarningContract {
/**
* 展示云公告顶部弹窗
- * @param pushData
+ * @param trafficStylePushData
*/
- fun showNoticeForTrafficWithData(pushData: NoticePushData)
+ fun showNoticeForTrafficWithData(trafficStylePushData: NoticeTrafficStylePushData)
}
}
\ No newline at end of file
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 c010b81109..92f4dac050 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
@@ -10,7 +10,7 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.constraintlayout.widget.ConstraintLayout;
-import com.mogo.eagle.core.data.notice.NoticeTrafficInfo;
+import com.mogo.eagle.core.data.notice.NoticeTrafficStyleInfo;
import com.mogo.eagle.core.function.hmi.R;
/**
@@ -61,7 +61,7 @@ public class NoticeBannerView extends ConstraintLayout {
}
//数据改变刷新UI
- public void pushBeanChanged(NoticeTrafficInfo 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/widget/SpeedChartView.java b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SpeedChartView.java
index f6d69a53ee..6560fadda6 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SpeedChartView.java
+++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SpeedChartView.java
@@ -13,6 +13,7 @@ import android.view.View;
import androidx.annotation.Nullable;
import com.mogo.eagle.core.function.hmi.R;
+import com.mogo.eagle.core.function.hmi.ui.notice.NoticeBannerView;
/**
diff --git a/core/function-impl/mogo-core-function-notice/build.gradle b/core/function-impl/mogo-core-function-notice/build.gradle
index 6a98988a2b..8168c3e0d0 100644
--- a/core/function-impl/mogo-core-function-notice/build.gradle
+++ b/core/function-impl/mogo-core-function-notice/build.gradle
@@ -56,6 +56,7 @@ dependencies {
implementation rootProject.ext.dependencies.mogocommons
implementation rootProject.ext.dependencies.mogoserviceapi
implementation rootProject.ext.dependencies.modulecommon
+ implementation rootProject.ext.dependencies.moduleHmi
} else {
implementation project(":foudations:mogo-commons")
implementation project(':services:mogo-service-api')
@@ -66,6 +67,7 @@ dependencies {
implementation project(':core:mogo-core-res')
implementation project(':core:mogo-core-data')
implementation project(':core:mogo-core-network')
+ implementation project(':core:function-impl:mogo-core-function-hmi')
}
}
diff --git a/core/function-impl/mogo-core-function-notice/src/main/AndroidManifest.xml b/core/function-impl/mogo-core-function-notice/src/main/AndroidManifest.xml
index 810055ae58..9f65d6f79c 100644
--- a/core/function-impl/mogo-core-function-notice/src/main/AndroidManifest.xml
+++ b/core/function-impl/mogo-core-function-notice/src/main/AndroidManifest.xml
@@ -2,13 +2,5 @@
-
-
-
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/core/function-impl/mogo-core-function-notice/src/main/java/com/mogo/eagle/core/function/notice/NoticeProvider.java b/core/function-impl/mogo-core-function-notice/src/main/java/com/mogo/eagle/core/function/notice/NoticeProvider.java
index 5aad2103e8..fe06e5e7e6 100644
--- a/core/function-impl/mogo-core-function-notice/src/main/java/com/mogo/eagle/core/function/notice/NoticeProvider.java
+++ b/core/function-impl/mogo-core-function-notice/src/main/java/com/mogo/eagle/core/function/notice/NoticeProvider.java
@@ -8,8 +8,10 @@ import androidx.fragment.app.Fragment;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.mogo.eagle.core.data.constants.MogoServicePaths;
-import com.mogo.eagle.core.data.notice.NoticePushData;
+import com.mogo.eagle.core.data.notice.NoticeNormalData;
+import com.mogo.eagle.core.data.notice.NoticeTrafficStylePushData;
import com.mogo.eagle.core.function.api.notice.IMoGoNoticeProvider;
+import com.mogo.eagle.core.function.hmi.ui.MoGoHmiFragment;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -24,11 +26,13 @@ import org.jetbrains.annotations.Nullable;
public class NoticeProvider implements IMoGoNoticeProvider {
private String TAG = "AINotice";
private Context mContext;
+ private MoGoHmiFragment mMoGoHmiFragment;
@Nullable
@Override
public Fragment createCoverage(@Nullable Context context, @Nullable Bundle data) {
- return null;
+ mMoGoHmiFragment = new MoGoHmiFragment();
+ return mMoGoHmiFragment;
}
@NotNull
@@ -50,7 +54,12 @@ public class NoticeProvider implements IMoGoNoticeProvider {
}
@Override
- public void showNoticeForTrafficWithData(NoticePushData pushData) {
+ public void showNoticeForTrafficWithData(NoticeTrafficStylePushData pushData) {
+ mMoGoHmiFragment.showNoticeForTrafficWithData(pushData);
+ }
+
+ @Override
+ public void showNoticeNormalData(NoticeNormalData normalData) {
}
}
diff --git a/core/function-impl/mogo-core-function-notice/src/main/java/com/mogo/eagle/core/function/notice/test/TestNoticeBroadcastReceiver.java b/core/function-impl/mogo-core-function-notice/src/main/java/com/mogo/eagle/core/function/notice/test/TestNoticeBroadcastReceiver.java
deleted file mode 100644
index 109299995f..0000000000
--- a/core/function-impl/mogo-core-function-notice/src/main/java/com/mogo/eagle/core/function/notice/test/TestNoticeBroadcastReceiver.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package com.mogo.eagle.core.function.notice.test;
-
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-
-import com.mogo.eagle.core.data.notice.NoticePushData;
-import com.mogo.eagle.core.utilcode.mogo.logger.Logger;
-
-/**
- * @author Jing
- * @description 描述
- * @since: 10/28/21
- */
-public class TestNoticeBroadcastReceiver extends BroadcastReceiver {
- private String TAG = "notice";
- private Context mContext;
-
- @Override
- public void onReceive(Context context, Intent intent) {
- try {
- this.mContext = context;
- int sceneType = intent.getIntExtra("sceneType", 0);
- Logger.d(TAG, "textPanelOpenType:" + sceneType);
- // 分发场景
- dispatchSceneTest(sceneType);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- private void dispatchSceneTest(int sceneType) {
- if (sceneType == 301001) {
- NoticePushData pushData = new NoticePushData();
- pushData.setMsg("交警测试公告");
- pushData.setContent("交警测试公告内容");
-// CallerHmiManager.showTrafficBanner(pushData);
- }
- }
-
-}
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
new file mode 100644
index 0000000000..c73a67cf36
--- /dev/null
+++ b/core/function-impl/mogo-core-function-notice/src/main/java/com/mogo/eagle/core/function/notice/test/TestNoticeBroadcastReceiver.kt
@@ -0,0 +1,39 @@
+package com.mogo.eagle.core.function.notice.test
+
+import android.content.BroadcastReceiver
+import android.content.Context
+import android.content.Intent
+import com.mogo.eagle.core.data.notice.NoticeTrafficStylePushData
+import com.mogo.eagle.core.function.call.hmi.CallerHmiManager
+import com.mogo.utils.logger.Logger
+
+/**
+ * @author Jing
+ * @description 测试类
+ * @since: 10/29/21
+ */
+class TestNoticeBroadcastReceiver: BroadcastReceiver() {
+ private val TAG = "notice"
+ private var mContext: Context? = null
+
+ override fun onReceive(context: Context?, intent: Intent) {
+ try {
+ mContext = context
+ val sceneType = intent.getIntExtra("sceneType", 0)
+ Logger.d(TAG, "textPanelOpenType:$sceneType")
+ // 分发场景
+ dispatchSceneTest(sceneType)
+ } catch (e: Exception) {
+ e.printStackTrace()
+ }
+ }
+
+ private fun dispatchSceneTest(sceneType: Int) {
+ if (sceneType == 301001) {
+ val pushData = NoticeTrafficStylePushData()
+ pushData.msg = "交警测试公告"
+ pushData.content = "交警测试公告内容"
+ CallerHmiManager.showTrafficBanner(pushData)
+ }
+ }
+}
\ No newline at end of file
diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/notice/NoticeNormalData.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/notice/NoticeNormalData.kt
new file mode 100644
index 0000000000..9c8b94a339
--- /dev/null
+++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/notice/NoticeNormalData.kt
@@ -0,0 +1,36 @@
+package com.mogo.eagle.core.data.notice
+
+import androidx.annotation.Keep
+
+/**
+ * @description 普通公告数据类型
+ *
+ * @author lixiaopeng
+ * @since 2021/10/29
+ */
+@Keep
+data class NoticeNormalData(
+ var appIcon: String = "", //目标app icon图标地址
+ var title: String = "", //标题
+ var content: String = "", //内容
+ var dbId: String = "", //公告id
+ var imageUrl: String = "", //图片地址
+ var videoUrl: String = "", //视频地址
+ var fileType: Int = 0, // 1图片,2视频
+ val tts: String = "", //语音播报词
+ val speedLimit: Int = 0, //超过速度后延迟显示
+ var showTimeout: Int = 0, //显示等待时长
+ var showTimeoutShadow: Int = 0, // 显示等待时长备份
+ var QRCode: String = "", //二维码地址
+ var mainSchema: String = "", //schema跳转协议
+ val mainVoiceCmd: List? = null, //触发主schema 命令词
+ val cancelVoiceCmd: List? = null, //隐藏当前push命令词
+ val buttons: List