diff --git a/.idea/gradle.xml b/.idea/gradle.xml
index 2f3e341856..bc64c45663 100644
--- a/.idea/gradle.xml
+++ b/.idea/gradle.xml
@@ -21,6 +21,7 @@
+
diff --git a/app/build.gradle b/app/build.gradle
index e4a2f32a5c..9159d3b55b 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -274,6 +274,8 @@ dependencies {
implementation rootProject.ext.dependencies.moduletanlu, {
exclude group: 'com.mogo.module', module: 'module-share'
}
+ implementation rootProject.ext.dependencies.moduletanluapi
+
} else {
launcherImplementation project(':main-extensions:mogo-module-main-launcher')
independentImplementation project(':main-extensions:mogo-module-main-independent')
@@ -288,6 +290,7 @@ dependencies {
implementation project(':modules:mogo-module-tanlu'), {
exclude group: 'com.mogo.module', module: 'module-share'
}
+ implementation project(':libraries:mogo-tanlu-api')
}
apply from: "./functions/baseservices.gradle"
diff --git a/app/src/main/java/com/mogo/launcher/MogoApplication.java b/app/src/main/java/com/mogo/launcher/MogoApplication.java
index 2a3c941289..34312b7381 100644
--- a/app/src/main/java/com/mogo/launcher/MogoApplication.java
+++ b/app/src/main/java/com/mogo/launcher/MogoApplication.java
@@ -30,6 +30,7 @@ import com.mogo.utils.logger.LogLevel;
import com.mogo.utils.logger.Logger;
import com.zhidao.boot.persistent.lib.PersistentManager;
import com.zhidao.mogo.module.left.panel.LeftPanelConst;
+import com.zhidao.mogo.tanlu.api.TanluApiConst;
/**
* @author congtaowang
@@ -63,6 +64,8 @@ public class MogoApplication extends AbsMogoApplication {
if(DebugConfig.getCarMachineType() != DebugConfig.CAR_MACHINE_TYPE_BYD){
MogoModulePaths.addModule( new MogoModule( CallChatConstant.PROVIDER, CallChatConstant.MODULE_NAME ) );
}
+ MogoModulePaths.addModule(new MogoModule(TanluApiConst.MODULE_PATH,
+ TanluApiConst.MODULE_NAME));
MogoModulePaths.addModule( new MogoModule( TanluConstants.TAG, TanluConstants.MODEL_NAME ) );
MogoModulePaths.addModule( new MogoModule( MogoServicePaths.PATH_SHARE, "ShareControl" ) );
diff --git a/config.gradle b/config.gradle
index 8cbaaddd98..ae89790599 100644
--- a/config.gradle
+++ b/config.gradle
@@ -82,6 +82,7 @@ targetSdkVersion : 22,
// modules
moduletanlu : "com.mogo.module:module-tanlu:${MOGO_MODULE_TANLU_VERSION}",
+ moduletanluapi : "com.mogo.module:module-tanlu-api:${MOGO_TANLU_API_VERSION}",
moduleshare : "com.mogo.module:module-share:${MOGO_MODULE_SHARE_VERSION}",
mogocommons : "com.mogo.commons:mogo-commons:${MOGO_COMMONS_VERSION}",
mogoutils : "com.mogo.commons:mogo-utils:${MOGO_UTILS_VERSION}",
diff --git a/gradle.properties b/gradle.properties
index 2d01adc565..fa56746e46 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -82,6 +82,8 @@ MOGO_MODULE_PUSH_NOOP_VERSION=1.1.5.6
MOGO_MODULE_AD_CARD_VERSION=1.0.1
# 探路上报和分享模块
TANLULIB_VERSION=1.3.1.24
+MOGO_TANLU_API_VERSION = 1.0.0-SNAPSHOT
+
MOGO_MODULE_EVENT_PANEL_VERSION = 1.0.0-SNAPSHOT
MOGO_MODULE_EVENT_PANEL_NOOP_VERSION = 1.0.0-SNAPSHOT
#左侧面板模块
diff --git a/libraries/mogo-tanlu-api/.gitignore b/libraries/mogo-tanlu-api/.gitignore
new file mode 100644
index 0000000000..42afabfd2a
--- /dev/null
+++ b/libraries/mogo-tanlu-api/.gitignore
@@ -0,0 +1 @@
+/build
\ No newline at end of file
diff --git a/libraries/mogo-tanlu-api/build.gradle b/libraries/mogo-tanlu-api/build.gradle
new file mode 100644
index 0000000000..2f628d2cd7
--- /dev/null
+++ b/libraries/mogo-tanlu-api/build.gradle
@@ -0,0 +1,52 @@
+apply plugin: 'com.android.library'
+apply plugin: '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")
+
+ javaCompileOptions {
+ annotationProcessorOptions {
+ arguments = [AROUTER_MODULE_NAME: project.getName()]
+ }
+ }
+
+ testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
+ consumerProguardFiles 'consumer-rules.pro'
+ }
+
+ buildTypes {
+ release {
+ minifyEnabled false
+ proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
+ }
+ }
+
+ compileOptions {
+ targetCompatibility 1.8
+ sourceCompatibility 1.8
+ }
+
+}
+
+dependencies {
+ implementation fileTree(dir: 'libs', include: ['*.jar'])
+ implementation rootProject.ext.dependencies.androidxappcompat
+ implementation rootProject.ext.dependencies.arouter
+ annotationProcessor rootProject.ext.dependencies.aroutercompiler
+
+ if (Boolean.valueOf(RELEASE)) {
+ compileOnly rootProject.ext.dependencies.modulecommon
+ implementation rootProject.ext.dependencies.tanluupload
+ } else {
+ compileOnly project(':modules:mogo-module-common')
+ implementation project(':libraries:tanlulib')
+ }
+}
+
+apply from: new File(rootProject.rootDir, "gradle/upload.gradle").toString()
diff --git a/libraries/mogo-tanlu-api/consumer-rules.pro b/libraries/mogo-tanlu-api/consumer-rules.pro
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/libraries/mogo-tanlu-api/gradle.properties b/libraries/mogo-tanlu-api/gradle.properties
new file mode 100644
index 0000000000..f043594823
--- /dev/null
+++ b/libraries/mogo-tanlu-api/gradle.properties
@@ -0,0 +1,3 @@
+GROUP=com.mogo.module
+POM_ARTIFACT_ID=module-tanlu-api
+VERSION_CODE=1
diff --git a/libraries/mogo-tanlu-api/proguard-rules.pro b/libraries/mogo-tanlu-api/proguard-rules.pro
new file mode 100644
index 0000000000..481bb43481
--- /dev/null
+++ b/libraries/mogo-tanlu-api/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/libraries/mogo-tanlu-api/src/androidTest/java/com/zhidao/mogo/tanlu/api/ExampleInstrumentedTest.java b/libraries/mogo-tanlu-api/src/androidTest/java/com/zhidao/mogo/tanlu/api/ExampleInstrumentedTest.java
new file mode 100644
index 0000000000..6a3204b743
--- /dev/null
+++ b/libraries/mogo-tanlu-api/src/androidTest/java/com/zhidao/mogo/tanlu/api/ExampleInstrumentedTest.java
@@ -0,0 +1,26 @@
+package com.zhidao.mogo.tanlu.api;
+
+import android.content.Context;
+
+import androidx.test.platform.app.InstrumentationRegistry;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import static org.junit.Assert.*;
+
+/**
+ * Instrumented test, which will execute on an Android device.
+ *
+ * @see Testing documentation
+ */
+@RunWith(AndroidJUnit4.class)
+public class ExampleInstrumentedTest {
+ @Test
+ public void useAppContext() {
+ // Context of the app under test.
+ Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
+ assertEquals("com.zhidao.mogo.tanlu.api.test", appContext.getPackageName());
+ }
+}
\ No newline at end of file
diff --git a/libraries/mogo-tanlu-api/src/main/AndroidManifest.xml b/libraries/mogo-tanlu-api/src/main/AndroidManifest.xml
new file mode 100644
index 0000000000..50cb87824e
--- /dev/null
+++ b/libraries/mogo-tanlu-api/src/main/AndroidManifest.xml
@@ -0,0 +1,5 @@
+
+
+ /
+
\ No newline at end of file
diff --git a/libraries/mogo-tanlu-api/src/main/java/com/zhidao/mogo/tanlu/api/MogoTanluApiProvider.java b/libraries/mogo-tanlu-api/src/main/java/com/zhidao/mogo/tanlu/api/MogoTanluApiProvider.java
new file mode 100644
index 0000000000..eaad336ca7
--- /dev/null
+++ b/libraries/mogo-tanlu-api/src/main/java/com/zhidao/mogo/tanlu/api/MogoTanluApiProvider.java
@@ -0,0 +1,45 @@
+package com.zhidao.mogo.tanlu.api;
+
+import android.content.Context;
+
+import com.alibaba.android.arouter.facade.annotation.Route;
+import com.mogo.service.tanlu.IMogoTanluProvider;
+import com.mogo.utils.logger.Logger;
+import com.zhidao.roadcondition.service.MainService;
+
+import static com.zhidao.mogo.tanlu.api.TanluApiConst.MODULE_NAME;
+import static com.zhidao.mogo.tanlu.api.TanluApiConst.MODULE_PATH;
+
+/**
+ * 探路api
+ *
+ * @author tongchenfei
+ */
+@Route(path = MODULE_PATH)
+public class MogoTanluApiProvider implements IMogoTanluProvider {
+ private Context context;
+ /**
+ * 上传情报
+ *
+ * @param type 情报类型
+ */
+ @Override
+ public void uploadRoadCondition(String type) {
+ Logger.d(MODULE_NAME, "uploadRoadCondition: " + type);
+ MainService.Companion.launchService(context, type);
+ }
+
+ /**
+ * 开启探路业务服务
+ */
+ @Override
+ public void startTanluService() {
+ Logger.d(MODULE_NAME, "startTanluService");
+ MainService.Companion.launchService(context, "0");
+ }
+
+ @Override
+ public void init(Context context) {
+ this.context = context;
+ }
+}
diff --git a/libraries/mogo-tanlu-api/src/main/java/com/zhidao/mogo/tanlu/api/TanluApiConst.java b/libraries/mogo-tanlu-api/src/main/java/com/zhidao/mogo/tanlu/api/TanluApiConst.java
new file mode 100644
index 0000000000..7b262a6af3
--- /dev/null
+++ b/libraries/mogo-tanlu-api/src/main/java/com/zhidao/mogo/tanlu/api/TanluApiConst.java
@@ -0,0 +1,10 @@
+package com.zhidao.mogo.tanlu.api;
+
+/**
+ * 探路api相关常量
+ * @author tongchenfei
+ */
+public class TanluApiConst {
+ public static final String MODULE_NAME = "MogoTanluApi";
+ public static final String MODULE_PATH = "/tanlulib/api";
+}
diff --git a/libraries/mogo-tanlu-api/src/test/java/com/zhidao/mogo/tanlu/api/ExampleUnitTest.java b/libraries/mogo-tanlu-api/src/test/java/com/zhidao/mogo/tanlu/api/ExampleUnitTest.java
new file mode 100644
index 0000000000..d5feacc0d0
--- /dev/null
+++ b/libraries/mogo-tanlu-api/src/test/java/com/zhidao/mogo/tanlu/api/ExampleUnitTest.java
@@ -0,0 +1,17 @@
+package com.zhidao.mogo.tanlu.api;
+
+import org.junit.Test;
+
+import static org.junit.Assert.*;
+
+/**
+ * Example local unit test, which will execute on the development machine (host).
+ *
+ * @see Testing documentation
+ */
+public class ExampleUnitTest {
+ @Test
+ public void addition_isCorrect() {
+ assertEquals(4, 2 + 2);
+ }
+}
\ No newline at end of file
diff --git a/modules/mogo-module-main/build.gradle b/modules/mogo-module-main/build.gradle
index 0973d16ea3..15cea46fba 100644
--- a/modules/mogo-module-main/build.gradle
+++ b/modules/mogo-module-main/build.gradle
@@ -51,7 +51,6 @@ dependencies {
api rootProject.ext.dependencies.moduleapps
api rootProject.ext.dependencies.moduleextensions
api rootProject.ext.dependencies.mogomoduleback
- implementation rootProject.ext.dependencies.tanluupload
} else {
api project(":foudations:mogo-utils")
api project(":foudations:mogo-commons")
@@ -63,7 +62,6 @@ dependencies {
api project(':modules:mogo-module-apps')
api project(':modules:mogo-module-extensions')
api project(':modules:mogo-module-back')
- implementation project(':libraries:tanlulib')
}
}
diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainPresenter.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainPresenter.java
index 66fbdfc738..ace4b835ad 100644
--- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainPresenter.java
+++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainPresenter.java
@@ -4,22 +4,12 @@ import android.content.Intent;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
-import android.text.TextUtils;
import androidx.annotation.NonNull;
import androidx.lifecycle.LifecycleOwner;
-import com.alibaba.android.arouter.launcher.ARouter;
import com.mogo.commons.mvp.Presenter;
import com.mogo.module.main.constants.MainConstants;
-import com.mogo.module.main.livedata.CardSwitchLiveData;
-import com.mogo.service.MogoServicePaths;
-import com.mogo.service.analytics.IMogoAnalytics;
-import com.mogo.service.module.IMogoModuleProvider;
-import com.zhidao.roadcondition.service.MainService;
-
-import java.util.HashMap;
-import java.util.Map;
/**
* @author congtaowang
diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/service/MogoMainService.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/service/MogoMainService.java
index 3a979612ae..788d0c81db 100644
--- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/service/MogoMainService.java
+++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/service/MogoMainService.java
@@ -18,7 +18,6 @@ import com.mogo.service.IMogoServiceApis;
import com.mogo.service.MogoServicePaths;
import com.mogo.utils.UiThreadHandler;
import com.mogo.utils.logger.Logger;
-import com.zhidao.roadcondition.service.MainService;
public
/**
@@ -82,7 +81,7 @@ class MogoMainService extends Service implements IMogoLocationListener {
private void startTanluService() {
UiThreadHandler.postDelayed(() -> {
Logger.d(TAG, "startTanluService ---------- ");
- MainService.Companion.launchService(getApplicationContext(), "0");
+ mServiceApis.getTanluApi().startTanluService();
}, 58_000L
);
}
diff --git a/modules/mogo-module-share/src/main/java/com/mogo/module/share/manager/UploadHelper.kt b/modules/mogo-module-share/src/main/java/com/mogo/module/share/manager/UploadHelper.kt
index 2e451ccd95..1dabb1193e 100644
--- a/modules/mogo-module-share/src/main/java/com/mogo/module/share/manager/UploadHelper.kt
+++ b/modules/mogo-module-share/src/main/java/com/mogo/module/share/manager/UploadHelper.kt
@@ -23,12 +23,13 @@ object UploadHelper {
AIAssist.getInstance(context).speakTTSVoice("感谢分享,正在上传")
}
Logger.d("UploadHelper", "upload ----> $type")
- val intent = Intent()
- intent.action = "com.zhidao.share.roadcondition.action"
- intent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND)
- intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES)
- intent.putExtra("type", type)
- context.sendBroadcast(intent)
+ ServiceApisManager.serviceApis.tanluApi.uploadRoadCondition(type)
+// val intent = Intent()
+// intent.action = "com.zhidao.share.roadcondition.action"
+// intent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND)
+// intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES)
+// intent.putExtra("type", type)
+// context.sendBroadcast(intent)
}
}
}
\ No newline at end of file
diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/MogoServicePaths.java b/services/mogo-service-api/src/main/java/com/mogo/service/MogoServicePaths.java
index 846b663ac1..b31bc4daee 100644
--- a/services/mogo-service-api/src/main/java/com/mogo/service/MogoServicePaths.java
+++ b/services/mogo-service-api/src/main/java/com/mogo/service/MogoServicePaths.java
@@ -234,8 +234,8 @@ public class MogoServicePaths {
public static final String PATH_LOG_LIB = "/loglib/api";
/**
- * 探路相关
+ * 探路api
*/
@Deprecated
- public static final String PATH_TANLU = "/tanlu/ui";
+ public static final String PATH_TANLU_API = "/tanlulib/api";
}
diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/tanlu/IMogoTanluProvider.java b/services/mogo-service-api/src/main/java/com/mogo/service/tanlu/IMogoTanluProvider.java
index 9b0d746cf6..388147da06 100644
--- a/services/mogo-service-api/src/main/java/com/mogo/service/tanlu/IMogoTanluProvider.java
+++ b/services/mogo-service-api/src/main/java/com/mogo/service/tanlu/IMogoTanluProvider.java
@@ -51,4 +51,9 @@ public interface IMogoTanluProvider extends IProvider {
* @param type 情报类型
*/
void uploadRoadCondition(String type);
+
+ /**
+ * 开启探路业务服务
+ */
+ void startTanluService();
}
diff --git a/services/mogo-service/src/main/java/com/mogo/service/impl/MogoServiceApis.java b/services/mogo-service/src/main/java/com/mogo/service/impl/MogoServiceApis.java
index 5543d1f9c8..43ab4a63f9 100644
--- a/services/mogo-service/src/main/java/com/mogo/service/impl/MogoServiceApis.java
+++ b/services/mogo-service/src/main/java/com/mogo/service/impl/MogoServiceApis.java
@@ -209,7 +209,7 @@ public class MogoServiceApis implements IMogoServiceApis {
@Override
public IMogoTanluProvider getTanluApi() {
- return getApiInstance(IMogoTanluProvider.class, MogoServicePaths.PATH_TANLU);
+ return getApiInstance(IMogoTanluProvider.class, MogoServicePaths.PATH_TANLU_API);
}
private static < T extends IProvider > T getApiInstance(Class< T > clazz, String path ) {
diff --git a/settings.gradle b/settings.gradle
index 83d8fa5d49..c3ab27e339 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -1,3 +1,4 @@
+include ':libraries:mogo-tanlu-api'
include ':foudations:mogo-base-services-apk'
include ':foudations:mogo-base-services-sdk'
include ':modules:mogo-module-splash-noop'