From 11bcd42a6c6ec817367978bd0a0d1e8a441c431c Mon Sep 17 00:00:00 2001 From: liujing Date: Mon, 25 Jan 2021 17:25:55 +0800 Subject: [PATCH] no message --- modules/mogo-realtime/build.gradle | 13 +++++++ .../realtime/Imp/RealTimeDelegateManager.java | 37 +++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 modules/mogo-realtime/src/main/java/com/mogo/realtime/Imp/RealTimeDelegateManager.java diff --git a/modules/mogo-realtime/build.gradle b/modules/mogo-realtime/build.gradle index dc28e0e..5972374 100644 --- a/modules/mogo-realtime/build.gradle +++ b/modules/mogo-realtime/build.gradle @@ -25,6 +25,17 @@ android { } } +allprojects { + repositories { + maven { + url 'http://nexus.zhidaoauto.com/repository/maven-releases/' + } + maven { + url 'http://nexus.zhidaoauto.com/repository/maven-public/' + } + } +} + dependencies { implementation fileTree(dir: "libs", include: ["*.jar"]) implementation project(path: ':foudations:mogo-passport') @@ -36,5 +47,7 @@ dependencies { implementation project(":foudations:mogo-socket") implementation project(":foudations:mogo-commons") } + implementation 'com.elegant.spi:api:1.0.9' //运行时库 + annotationProcessor 'com.elegant.spi:compiler:1.0.3' //编译时库 } \ No newline at end of file diff --git a/modules/mogo-realtime/src/main/java/com/mogo/realtime/Imp/RealTimeDelegateManager.java b/modules/mogo-realtime/src/main/java/com/mogo/realtime/Imp/RealTimeDelegateManager.java new file mode 100644 index 0000000..8c4e603 --- /dev/null +++ b/modules/mogo-realtime/src/main/java/com/mogo/realtime/Imp/RealTimeDelegateManager.java @@ -0,0 +1,37 @@ +package com.mogo.realtime.Imp; + + +import com.elegant.spi.AbstractDelegateManager; +import com.mogo.cloud.passport.MoGoAiCloudClient; +import com.mogo.realtime.Interface.RealTimeProvider; + +/** + * @author liujing + * @description 描述 + * @since: 2021/1/25 + */ +class RealTimeDelegateManager extends AbstractDelegateManager { + private static RealTimeDelegateManager sInstance = null; + private Class mRealTimeProvider = null; + + public static RealTimeDelegateManager getInstance() { + if (sInstance == null) { + synchronized (RealTimeDelegateManager.class) { + if (sInstance == null) { + sInstance = new RealTimeDelegateManager(); + } + } + } + return sInstance; + } + + public RealTimeDelegateManager() { + loadDelegateClasses(MoGoAiCloudClient.getInstance().getContext(), RealTimeProvider.class, new DelegateListener>() { + @Override + public void onDelegate(String unit, Class p) { + mRealTimeProvider = p; + } + }); + } + +}