From 954fae75e052927056c963f169256de6f6a93f64 Mon Sep 17 00:00:00 2001 From: liujing Date: Wed, 27 Oct 2021 19:44:03 +0800 Subject: [PATCH] =?UTF-8?q?[add]=20=E6=B7=BB=E5=8A=A01.=E6=B3=A8=E5=86=8C?= =?UTF-8?q?=E6=B6=88=E6=81=AF=E7=B1=BB=E5=9E=8B=202.=E7=9B=91=E5=90=AC?= =?UTF-8?q?=E7=B1=BB=203.=E4=BA=91=E5=85=AC=E5=91=8A=E6=A8=A1=E5=9D=97?= =?UTF-8?q?=E8=B7=AF=E7=94=B1PATH=204.Caller=20java=E6=96=87=E4=BB=B6=20?= =?UTF-8?q?=E9=95=BF=E9=93=BE=E6=8E=A5=E6=9C=AA=E8=B0=83=E9=80=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mogo/launcher/MogoApplication.java | 3 +- .../mogo-core-function-notice/build.gradle | 13 +++-- .../function/notice/MoGoNoticeManager.java | 10 ---- .../core/function/notice/NoticeProvider.java | 54 +++++++++++++++++++ .../function/notice/NoticeSocketManager.java | 53 ++++++++++++++++++ .../receiver/NoticeMessageListener.java | 28 ++++++++++ .../notice/receiver/NoticeReceiver.java | 19 ------- .../core/data/constants/MogoServicePaths.java | 7 +++ .../api/notice/IMoGoNoticeListener.java | 10 ---- .../api/notice/IMoGoNoticeProvider.java | 12 +++++ .../call/notice/CallerNoticeManager.java | 6 +-- 11 files changed, 168 insertions(+), 47 deletions(-) delete mode 100644 core/function-impl/mogo-core-function-notice/src/main/java/com/mogo/eagle/core/function/notice/MoGoNoticeManager.java create mode 100644 core/function-impl/mogo-core-function-notice/src/main/java/com/mogo/eagle/core/function/notice/NoticeProvider.java create mode 100644 core/function-impl/mogo-core-function-notice/src/main/java/com/mogo/eagle/core/function/notice/NoticeSocketManager.java create mode 100644 core/function-impl/mogo-core-function-notice/src/main/java/com/mogo/eagle/core/function/notice/receiver/NoticeMessageListener.java delete mode 100644 core/function-impl/mogo-core-function-notice/src/main/java/com/mogo/eagle/core/function/notice/receiver/NoticeReceiver.java delete mode 100644 core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/notice/IMoGoNoticeListener.java create mode 100644 core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/notice/IMoGoNoticeProvider.java diff --git a/app/src/main/java/com/mogo/launcher/MogoApplication.java b/app/src/main/java/com/mogo/launcher/MogoApplication.java index bc835850ee..5c6abc3da7 100644 --- a/app/src/main/java/com/mogo/launcher/MogoApplication.java +++ b/app/src/main/java/com/mogo/launcher/MogoApplication.java @@ -304,7 +304,8 @@ public class MogoApplication extends AbsMogoApplication { MogoModulePaths.addBaseModule(new MogoModule(MogoServicePaths.PATH_V2X_FRONT_CRASH_WARNING, "IV2XManagerProvider")); // 全局语音唤醒 MogoModulePaths.addBaseModule(new MogoModule(MogoServicePaths.PATH_GLOBAL_UNWAKE, "GlobalUnwake")); - + // 云公告发布 + MogoModulePaths.addModuleFunction(new MogoModule(MogoServicePaths.PATH_AI_NOTICE, "IMoGoNoticeProvider")); if (!DebugConfig.isLauncher()) { PersistentManager.getInstance().initManager(this); diff --git a/core/function-impl/mogo-core-function-notice/build.gradle b/core/function-impl/mogo-core-function-notice/build.gradle index 9da8588b39..e8c776714b 100644 --- a/core/function-impl/mogo-core-function-notice/build.gradle +++ b/core/function-impl/mogo-core-function-notice/build.gradle @@ -48,17 +48,22 @@ dependencies { implementation rootProject.ext.dependencies.androidxconstraintlayout implementation rootProject.ext.dependencies.arouter implementation rootProject.ext.dependencies.rxandroid + implementation project(path: ':services:mogo-service-api') kapt rootProject.ext.dependencies.aroutercompiler if (Boolean.valueOf(RELEASE)) { - + api rootProject.ext.dependencies.mogocommons + api rootProject.ext.dependencies.mogoserviceapi + implementation rootProject.ext.dependencies.modulecommon } else { - - implementation project(':core:mogo-core-data') + api project(":foudations:mogo-commons") + api project(':services:mogo-service-api') implementation project(':core:mogo-core-utils') - implementation project(':core:mogo-core-function-api') + implementation project(':modules:mogo-module-common') implementation project(':core:mogo-core-function-call') + implementation project(':core:mogo-core-res') + implementation project(':core:mogo-core-data') } } diff --git a/core/function-impl/mogo-core-function-notice/src/main/java/com/mogo/eagle/core/function/notice/MoGoNoticeManager.java b/core/function-impl/mogo-core-function-notice/src/main/java/com/mogo/eagle/core/function/notice/MoGoNoticeManager.java deleted file mode 100644 index d4190d8adc..0000000000 --- a/core/function-impl/mogo-core-function-notice/src/main/java/com/mogo/eagle/core/function/notice/MoGoNoticeManager.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.mogo.eagle.core.function.notice; - -/** - * @author liujing - * @description 云公告注册 - * @since: 10/27/21 - */ -public class MoGoNoticeManager { - -} 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 new file mode 100644 index 0000000000..69af9d10d4 --- /dev/null +++ b/core/function-impl/mogo-core-function-notice/src/main/java/com/mogo/eagle/core/function/notice/NoticeProvider.java @@ -0,0 +1,54 @@ +package com.mogo.eagle.core.function.notice; + +import android.content.Context; +import android.os.Bundle; +import android.util.Log; + +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.function.api.notice.IMoGoNoticeProvider; +import com.mogo.eagle.core.function.notice.receiver.NoticeMessageListener; +import com.mogo.module.common.MogoApisHandler; +import com.mogo.service.cloud.socket.IMogoLifecycleListener; + +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + + +/** + * @author Jing + * @description 云公告 + * @since: 10/27/21 + */ +@Route(path = MogoServicePaths.PATH_AI_NOTICE) +public class NoticeProvider implements IMoGoNoticeProvider { + private String TAG = "AINotice"; + private Context mContext; + + @Nullable + @Override + public Fragment createCoverage(@Nullable Context context, @Nullable Bundle data) { + return null; + } + + @NotNull + @Override + public String getFunctionName() { + return null; + } + + @Override + public void onDestroy() { + NoticeSocketManager.getInstance().unRegisterSocketMessage(); + } + + @Override + public void init(Context context) { + Log.d(TAG, "init"); + mContext = context; + NoticeSocketManager.getInstance().registerSocketMessage(context); + } + +} diff --git a/core/function-impl/mogo-core-function-notice/src/main/java/com/mogo/eagle/core/function/notice/NoticeSocketManager.java b/core/function-impl/mogo-core-function-notice/src/main/java/com/mogo/eagle/core/function/notice/NoticeSocketManager.java new file mode 100644 index 0000000000..082c7505b6 --- /dev/null +++ b/core/function-impl/mogo-core-function-notice/src/main/java/com/mogo/eagle/core/function/notice/NoticeSocketManager.java @@ -0,0 +1,53 @@ +package com.mogo.eagle.core.function.notice; + +import android.content.Context; +import android.util.Log; + +import com.alibaba.android.arouter.launcher.ARouter; +import com.mogo.eagle.core.function.notice.receiver.NoticeMessageListener; +import com.mogo.module.common.MogoApisHandler; +import com.mogo.service.IMogoServiceApis; + +/** + * @author Jing + * @description 云公告注册、反注册 + * @since: 10/27/21 + */ +class NoticeSocketManager { + private String TAG = "AINotice"; + private static NoticeSocketManager mNoticeSocketManager; + private NoticeMessageListener mNoticeMessageListener; + private static IMogoServiceApis mMoGoServiceApis; + private Context mContext; + + public static synchronized NoticeSocketManager getInstance() { + synchronized (NoticeSocketManager.class) { + if (mNoticeSocketManager == null) { + mNoticeSocketManager = new NoticeSocketManager(); + } + } + return mNoticeSocketManager; + } + + public void registerSocketMessage(Context context) { + Log.d(TAG, "registerSocketMessage"); + mContext = context; + mNoticeMessageListener = new NoticeMessageListener(); + if (mMoGoServiceApis == null) { + mMoGoServiceApis = (IMogoServiceApis) ARouter.getInstance().build(com.mogo.eagle.core.data.constants. + MogoServicePaths.PATH_SERVICE_APIS).navigation(context); + } + mMoGoServiceApis. + getSocketManagerApi(context). + registerOnMessageListener(100, mNoticeMessageListener); + } + + public void unRegisterSocketMessage() { + if (mNoticeMessageListener != null) { + mMoGoServiceApis + .getSocketManagerApi(mContext). + unregisterOnMessageListener(100, mNoticeMessageListener); + } + } +} + 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 new file mode 100644 index 0000000000..da3bc2570d --- /dev/null +++ b/core/function-impl/mogo-core-function-notice/src/main/java/com/mogo/eagle/core/function/notice/receiver/NoticeMessageListener.java @@ -0,0 +1,28 @@ +package com.mogo.eagle.core.function.notice.receiver; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +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/receiver/NoticeReceiver.java b/core/function-impl/mogo-core-function-notice/src/main/java/com/mogo/eagle/core/function/notice/receiver/NoticeReceiver.java deleted file mode 100644 index a008846c2f..0000000000 --- a/core/function-impl/mogo-core-function-notice/src/main/java/com/mogo/eagle/core/function/notice/receiver/NoticeReceiver.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.mogo.eagle.core.function.notice.receiver; - -import android.content.BroadcastReceiver; -import android.content.Context; -import android.content.Intent; - -/** - * @author Jing - * @description push云公告消息接收 - * @since: 10/27/21 - */ -public class NoticeReceiver extends BroadcastReceiver { - private Context mContext; - - @Override - public void onReceive(Context context, Intent intent) { - mContext = context; - } -} diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/constants/MogoServicePaths.java b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/constants/MogoServicePaths.java index 97c7094d5b..c44ef7d437 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/constants/MogoServicePaths.java +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/constants/MogoServicePaths.java @@ -361,4 +361,11 @@ public class MogoServicePaths { @Keep @Deprecated public static final String PATH_AUTO_PILOT = "/auto_pilot/api"; + + /** + * 云公告 模块 + */ + @Keep + @Deprecated + public static final String PATH_AI_NOTICE = "/ai/notice"; } diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/notice/IMoGoNoticeListener.java b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/notice/IMoGoNoticeListener.java deleted file mode 100644 index 50ca9f3333..0000000000 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/notice/IMoGoNoticeListener.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.mogo.eagle.core.function.api.notice; - -/** - * @author Jing - * @description 云公告监听者 - * @since: 10/27/21 - */ -public interface IMoGoNoticeListener { - -} diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/notice/IMoGoNoticeProvider.java b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/notice/IMoGoNoticeProvider.java new file mode 100644 index 0000000000..59ec7f1081 --- /dev/null +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/notice/IMoGoNoticeProvider.java @@ -0,0 +1,12 @@ +package com.mogo.eagle.core.function.api.notice; + +import com.mogo.eagle.core.function.api.base.IMoGoFunctionProvider; + +/** + * @author Jing + * @description 云公告监听者 + * @since: 10/27/21 + */ +public interface IMoGoNoticeProvider extends IMoGoFunctionProvider { + +} 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 index 791a87f2a4..03094b70e2 100644 --- 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 @@ -1,6 +1,6 @@ package com.mogo.eagle.core.function.call.notice; -import com.mogo.eagle.core.function.api.notice.IMoGoNoticeListener; +import com.mogo.eagle.core.function.api.notice.IMoGoNoticeProvider; import com.mogo.eagle.core.function.call.base.CallerBase; import java.util.HashMap; @@ -9,12 +9,12 @@ import java.util.HashMap; * @author xiaoyuzhou */ public class CallerNoticeManager extends CallerBase { - private HashMap mListeners = new HashMap<>(); + private HashMap mListeners = new HashMap<>(); /** * 添加监听者 */ - void addListener(String tag, IMoGoNoticeListener listener) { + void addListener(String tag, IMoGoNoticeProvider listener) { mListeners.put(tag, listener); }