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