diff --git a/.idea/gradle.xml b/.idea/gradle.xml
index c23be79b9d..1faa2f8f12 100644
--- a/.idea/gradle.xml
+++ b/.idea/gradle.xml
@@ -20,6 +20,7 @@
+
diff --git a/core/function-impl/mogo-core-function-notice/.gitignore b/core/function-impl/mogo-core-function-notice/.gitignore
new file mode 100644
index 0000000000..42afabfd2a
--- /dev/null
+++ b/core/function-impl/mogo-core-function-notice/.gitignore
@@ -0,0 +1 @@
+/build
\ No newline at end of file
diff --git a/core/function-impl/mogo-core-function-notice/build.gradle b/core/function-impl/mogo-core-function-notice/build.gradle
new file mode 100644
index 0000000000..9da8588b39
--- /dev/null
+++ b/core/function-impl/mogo-core-function-notice/build.gradle
@@ -0,0 +1,65 @@
+plugins {
+ id 'com.android.library'
+ id 'kotlin-android'
+ id 'kotlin-android-extensions'
+ id 'kotlin-kapt'
+ id 'com.alibaba.arouter'
+}
+android {
+ compileSdkVersion rootProject.ext.android.compileSdkVersion
+ // buildToolsVersion rootProject.ext.android.buildToolsVersion
+ defaultConfig {
+ minSdkVersion rootProject.ext.android.minSdkVersion
+ targetSdkVersion rootProject.ext.android.targetSdkVersion
+ versionCode Integer.valueOf(VERSION_CODE)
+ versionName getValueFromRootProperties("${project.name.replace("-", "_").toUpperCase()}_VERSION")
+
+ testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
+ consumerProguardFiles 'consumer-rules.pro'
+ //ARouter apt 参数
+ kapt {
+ useBuildCache = false
+ arguments {
+ arg("AROUTER_MODULE_NAME", project.getName())
+ }
+ }
+
+ }
+
+ buildTypes {
+ release {
+ minifyEnabled false
+ proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
+ }
+ }
+
+ compileOptions {
+ sourceCompatibility JavaVersion.VERSION_1_8
+ targetCompatibility JavaVersion.VERSION_1_8
+ }
+
+}
+
+dependencies {
+ implementation fileTree(dir: 'libs', include: ['*.jar'])
+ implementation rootProject.ext.dependencies.kotlinstdlibjdk7
+ implementation rootProject.ext.dependencies.androidxccorektx
+ implementation rootProject.ext.dependencies.androidxappcompat
+ implementation rootProject.ext.dependencies.androidxconstraintlayout
+ implementation rootProject.ext.dependencies.arouter
+ implementation rootProject.ext.dependencies.rxandroid
+
+ kapt rootProject.ext.dependencies.aroutercompiler
+
+ if (Boolean.valueOf(RELEASE)) {
+
+ } else {
+
+ implementation project(':core:mogo-core-data')
+ implementation project(':core:mogo-core-utils')
+ implementation project(':core:mogo-core-function-api')
+ implementation project(':core:mogo-core-function-call')
+ }
+}
+
+apply from: new File(rootProject.rootDir, "gradle/upload.gradle").toString()
diff --git a/core/function-impl/mogo-core-function-notice/consumer-rules.pro b/core/function-impl/mogo-core-function-notice/consumer-rules.pro
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/core/function-impl/mogo-core-function-notice/gradle.properties b/core/function-impl/mogo-core-function-notice/gradle.properties
new file mode 100644
index 0000000000..de3e7b3fbe
--- /dev/null
+++ b/core/function-impl/mogo-core-function-notice/gradle.properties
@@ -0,0 +1,3 @@
+GROUP=com.mogo.eagle.core
+POM_ARTIFACT_ID=function-notice
+VERSION_CODE=1
diff --git a/core/function-impl/mogo-core-function-notice/proguard-rules.pro b/core/function-impl/mogo-core-function-notice/proguard-rules.pro
new file mode 100644
index 0000000000..481bb43481
--- /dev/null
+++ b/core/function-impl/mogo-core-function-notice/proguard-rules.pro
@@ -0,0 +1,21 @@
+# Add project specific ProGuard rules here.
+# You can control the set of applied configuration files using the
+# proguardFiles setting in build.gradle.
+#
+# For more details, see
+# http://developer.android.com/guide/developing/tools/proguard.html
+
+# If your project uses WebView with JS, uncomment the following
+# and specify the fully qualified class name to the JavaScript interface
+# class:
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
+# public *;
+#}
+
+# Uncomment this to preserve the line number information for
+# debugging stack traces.
+#-keepattributes SourceFile,LineNumberTable
+
+# If you keep the line number information, uncomment this to
+# hide the original source file name.
+#-renamesourcefileattribute SourceFile
\ No newline at end of file
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
new file mode 100644
index 0000000000..7e30806cb7
--- /dev/null
+++ b/core/function-impl/mogo-core-function-notice/src/main/AndroidManifest.xml
@@ -0,0 +1,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/MoGoNoticeProvider.java b/core/function-impl/mogo-core-function-notice/src/main/java/com/mogo/eagle/core/function/notice/MoGoNoticeProvider.java
new file mode 100644
index 0000000000..39d79f4609
--- /dev/null
+++ b/core/function-impl/mogo-core-function-notice/src/main/java/com/mogo/eagle/core/function/notice/MoGoNoticeProvider.java
@@ -0,0 +1,17 @@
+package com.mogo.eagle.core.function.notice;
+
+import android.content.Context;
+
+import com.mogo.eagle.core.function.api.notice.IMoGoNoticeProvider;
+
+/**
+ * @author xiaoyuzhou
+ * @date 2021/9/18 11:44 上午
+ * 处理云端下发通知、公告类的逻辑的接口
+ */
+public class MoGoNoticeProvider implements IMoGoNoticeProvider {
+ @Override
+ public void init(Context context) {
+
+ }
+}
diff --git a/core/function-impl/mogo-core-function-smp/src/main/java/com/mogo/eagle/core/function/smp/SmallMapProvider.java b/core/function-impl/mogo-core-function-smp/src/main/java/com/mogo/eagle/core/function/smp/SmallMapProvider.java
index 489d3ace6c..cc32402ad7 100644
--- a/core/function-impl/mogo-core-function-smp/src/main/java/com/mogo/eagle/core/function/smp/SmallMapProvider.java
+++ b/core/function-impl/mogo-core-function-smp/src/main/java/com/mogo/eagle/core/function/smp/SmallMapProvider.java
@@ -1,16 +1,20 @@
package com.mogo.eagle.core.function.smp;
import android.content.Context;
+import android.os.Bundle;
import android.util.Log;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentActivity;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.mogo.eagle.core.data.map.MogoLatLng;
+import com.mogo.eagle.core.function.api.map.smp.IMogoSmallMapProvider;
import com.mogo.module.common.MogoApisHandler;
import com.mogo.service.MogoServicePaths;
import com.mogo.service.adas.IMogoAdasRouteCallBack;
-import com.mogo.eagle.core.function.api.map.smp.IMogoSmallMapProvider;
import com.mogo.service.statusmanager.IMogoStatusChangedListener;
import com.mogo.service.statusmanager.StatusDescriptor;
@@ -22,7 +26,7 @@ import java.util.List;
*/
@Route(path = MogoServicePaths.PATH_SMALL_MAP)
public class SmallMapProvider implements IMogoSmallMapProvider, IMogoStatusChangedListener, IMogoAdasRouteCallBack {
- private final String TAG = "SmallVisionProvider";
+ private final String TAG = "SmallMapProvider";
private Context mContext;
private int mContainerId;
@@ -132,4 +136,21 @@ public class SmallMapProvider implements IMogoSmallMapProvider, IMogoStatusChang
clearPolyline();
}
}
+
+ @Nullable
+ @Override
+ public Fragment createCoverage(@Nullable Context context, @Nullable Bundle data) {
+ return null;
+ }
+
+ @NonNull
+ @Override
+ public String getFunctionName() {
+ return TAG;
+ }
+
+ @Override
+ public void onDestroy() {
+
+ }
}
diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/base/IMoGoFunctionProvider.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/base/IMoGoFunctionProvider.kt
index e62bb3c66c..efc39c893e 100644
--- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/base/IMoGoFunctionProvider.kt
+++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/base/IMoGoFunctionProvider.kt
@@ -9,7 +9,7 @@ import com.alibaba.android.arouter.facade.template.IProvider
/**
* @author xiaoyuzhou
* @date 2021/9/16 4:40 下午
- * 功能提供者基础
+ * 功能提供者基础,带有UI相关的逻辑的需要继承这个
*/
interface IMoGoFunctionProvider : IProvider {
/**
diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/base/IMoGoFunctionServerProvider.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/base/IMoGoFunctionServerProvider.kt
new file mode 100644
index 0000000000..6cc65b1f90
--- /dev/null
+++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/base/IMoGoFunctionServerProvider.kt
@@ -0,0 +1,12 @@
+package com.mogo.eagle.core.function.api.base
+
+import com.alibaba.android.arouter.facade.template.IProvider
+
+/**
+ *@author xiaoyuzhou
+ *@date 2021/9/18 11:41 上午
+ * 处理没有页面的服务及交互逻辑的提供者
+ */
+interface IMoGoFunctionServerProvider : IProvider {
+
+}
\ No newline at end of file
diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/map/smp/IMogoSmallMapProvider.java b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/map/smp/IMogoSmallMapProvider.java
index f6468c625e..64bd946e6f 100644
--- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/map/smp/IMogoSmallMapProvider.java
+++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/map/smp/IMogoSmallMapProvider.java
@@ -5,6 +5,7 @@ import androidx.fragment.app.FragmentActivity;
import com.alibaba.android.arouter.facade.template.IProvider;
import com.mogo.eagle.core.data.map.MogoLatLng;
+import com.mogo.eagle.core.function.api.base.IMoGoFunctionProvider;
import java.util.List;
@@ -12,7 +13,7 @@ import java.util.List;
* @author donghongyu
* @date 12/10/20 1:36 PM
*/
-public interface IMogoSmallMapProvider extends IProvider {
+public interface IMogoSmallMapProvider extends IMoGoFunctionProvider {
/**
* 初始化网约车容器
diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/notice/IMoGoNoticeProvider.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/notice/IMoGoNoticeProvider.kt
new file mode 100644
index 0000000000..048e468b2f
--- /dev/null
+++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/notice/IMoGoNoticeProvider.kt
@@ -0,0 +1,13 @@
+package com.mogo.eagle.core.function.api.notice
+
+import com.mogo.eagle.core.function.api.base.IMoGoFunctionServerProvider
+
+/**
+ * @author xiaoyuzhou
+ * @date 2021/9/18 11:25 上午
+ * 处理云端下发通知、公告类的逻辑的接口
+ */
+interface IMoGoNoticeProvider : IMoGoFunctionServerProvider {
+
+
+}
\ No newline at end of file
diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/check/CallerCheckManager.java b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/check/CallerCheckManager.java
index dfdf7e3ce4..6069a9c8f8 100644
--- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/check/CallerCheckManager.java
+++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/check/CallerCheckManager.java
@@ -10,6 +10,8 @@ import com.mogo.eagle.core.function.call.base.CallerBase;
/**
* @author xiaoyuzhou
* @date 2021/9/17 8:26 下午
+ *
+ * HMI 调用者管理,这里对外及其他模块提供功能的调用,用啥写啥,不要过度设计,不允许直接将Provider暴露出去
*/
public class CallerCheckManager extends CallerBase {
diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiManager.kt
index 4c5a21c981..0e0fe6b589 100644
--- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiManager.kt
+++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiManager.kt
@@ -9,6 +9,8 @@ import com.mogo.eagle.core.function.call.base.CallerBase
/**
* @author xiaoyuzhou
* @date 2021/9/17 3:59 下午
+ *
+ * HMI 调用者管理,这里对外及其他模块提供功能的调用,用啥写啥,不要过度设计,不允许直接将Provider暴露出去
*/
object CallerHmiManager : CallerBase() {
private val waringProviderApi: IMoGoWaringProvider
diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/map/CallerSmpManager.java b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/map/CallerSmpManager.java
index fc9d3a2178..e891f1dc50 100644
--- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/map/CallerSmpManager.java
+++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/map/CallerSmpManager.java
@@ -10,6 +10,7 @@ import java.util.List;
/**
* @author xiaoyuzhou
* @date 2021/9/17 6:15 下午
+ * 小地图调用者管理,这里对外及其他模块提供小地图功能的调用,用啥写啥,不要过度设计,不允许直接将Provider暴露出去
*/
public class CallerSmpManager extends CallerBase {
private static IMogoSmallMapProvider getMogoSmallMapProvider() {
diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/notice/CallerNoticeManager.java b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/notice/CallerNoticeManager.java
new file mode 100644
index 0000000000..99bdaabb35
--- /dev/null
+++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/notice/CallerNoticeManager.java
@@ -0,0 +1,9 @@
+package com.mogo.eagle.core.function.call.notice;
+
+/**
+ * @author xiaoyuzhou
+ * @date 2021/9/18 11:48 上午
+ * 云端公告、通知类的 调用者管理,这里对外及其他模块提供功能的调用,用啥写啥,不要过度设计,不允许直接将Provider暴露出去
+ */
+public class CallerNoticeManager {
+}
diff --git a/settings.gradle b/settings.gradle
index c29eb4d19d..ffdf14d7f9 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -25,6 +25,8 @@ include ':core:function-impl:mogo-core-function-smp'
include ':core:function-impl:mogo-core-function-obu-mogo'
// 车辆及自动驾驶状态检测模块
include ':core:function-impl:mogo-core-function-check'
+// 云公告相关的业务,UI写到HMI,这里只处理数据及功能逻辑
+include ':core:function-impl:mogo-core-function-notice'
// 服务