diff --git a/OCH/README.md b/OCH/README.md
new file mode 100644
index 0000000000..56d1764db2
--- /dev/null
+++ b/OCH/README.md
@@ -0,0 +1,7 @@
+# 网约车(Online Car Hailing)
+
+## 小巴
+
+## 出租车
+
+## 无实现
\ No newline at end of file
diff --git a/OCH/mogo-och-bus/.gitignore b/OCH/mogo-och-bus/.gitignore
new file mode 100644
index 0000000000..42afabfd2a
--- /dev/null
+++ b/OCH/mogo-och-bus/.gitignore
@@ -0,0 +1 @@
+/build
\ No newline at end of file
diff --git a/OCH/mogo-och-bus/build.gradle b/OCH/mogo-och-bus/build.gradle
new file mode 100644
index 0000000000..05bf3ff391
--- /dev/null
+++ b/OCH/mogo-och-bus/build.gradle
@@ -0,0 +1,54 @@
+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")
+
+
+ testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
+ consumerProguardFiles "consumer-rules.pro"
+
+ javaCompileOptions {
+ annotationProcessorOptions {
+ arguments = [AROUTER_MODULE_NAME: project.getName()]
+ }
+ }
+ }
+
+ compileOptions {
+ sourceCompatibility JavaVersion.VERSION_1_8
+ targetCompatibility JavaVersion.VERSION_1_8
+ }
+
+ buildTypes {
+ release {
+ minifyEnabled false
+ proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
+ }
+ }
+}
+
+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)) {
+ implementation rootProject.ext.dependencies.mogooch
+ implementation rootProject.ext.dependencies.mogoutils
+ implementation rootProject.ext.dependencies.mogocommons
+ } else {
+ implementation project(":OCH:mogo-och")
+ implementation project(":foudations:mogo-utils")
+ implementation project(":foudations:mogo-commons")
+ }
+}
+
+apply from: new File(rootProject.rootDir, "gradle/upload.gradle").toString()
\ No newline at end of file
diff --git a/OCH/mogo-och-bus/consumer-rules.pro b/OCH/mogo-och-bus/consumer-rules.pro
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/OCH/mogo-och-bus/gradle.properties b/OCH/mogo-och-bus/gradle.properties
new file mode 100644
index 0000000000..dd5c44ee62
--- /dev/null
+++ b/OCH/mogo-och-bus/gradle.properties
@@ -0,0 +1,3 @@
+GROUP=com.mogo.och
+POM_ARTIFACT_ID=och-bus
+VERSION_CODE=1
diff --git a/OCH/mogo-och-bus/proguard-rules.pro b/OCH/mogo-och-bus/proguard-rules.pro
new file mode 100644
index 0000000000..481bb43481
--- /dev/null
+++ b/OCH/mogo-och-bus/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/OCH/mogo-och-bus/src/main/AndroidManifest.xml b/OCH/mogo-och-bus/src/main/AndroidManifest.xml
new file mode 100644
index 0000000000..83e4053945
--- /dev/null
+++ b/OCH/mogo-och-bus/src/main/AndroidManifest.xml
@@ -0,0 +1,5 @@
+
+
+ /
+
\ No newline at end of file
diff --git a/OCH/mogo-och-noop/.gitignore b/OCH/mogo-och-noop/.gitignore
new file mode 100644
index 0000000000..42afabfd2a
--- /dev/null
+++ b/OCH/mogo-och-noop/.gitignore
@@ -0,0 +1 @@
+/build
\ No newline at end of file
diff --git a/OCH/mogo-och-noop/build.gradle b/OCH/mogo-och-noop/build.gradle
new file mode 100644
index 0000000000..05bf3ff391
--- /dev/null
+++ b/OCH/mogo-och-noop/build.gradle
@@ -0,0 +1,54 @@
+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")
+
+
+ testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
+ consumerProguardFiles "consumer-rules.pro"
+
+ javaCompileOptions {
+ annotationProcessorOptions {
+ arguments = [AROUTER_MODULE_NAME: project.getName()]
+ }
+ }
+ }
+
+ compileOptions {
+ sourceCompatibility JavaVersion.VERSION_1_8
+ targetCompatibility JavaVersion.VERSION_1_8
+ }
+
+ buildTypes {
+ release {
+ minifyEnabled false
+ proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
+ }
+ }
+}
+
+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)) {
+ implementation rootProject.ext.dependencies.mogooch
+ implementation rootProject.ext.dependencies.mogoutils
+ implementation rootProject.ext.dependencies.mogocommons
+ } else {
+ implementation project(":OCH:mogo-och")
+ implementation project(":foudations:mogo-utils")
+ implementation project(":foudations:mogo-commons")
+ }
+}
+
+apply from: new File(rootProject.rootDir, "gradle/upload.gradle").toString()
\ No newline at end of file
diff --git a/OCH/mogo-och-noop/consumer-rules.pro b/OCH/mogo-och-noop/consumer-rules.pro
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/OCH/mogo-och-noop/gradle.properties b/OCH/mogo-och-noop/gradle.properties
new file mode 100644
index 0000000000..a3c4fc4290
--- /dev/null
+++ b/OCH/mogo-och-noop/gradle.properties
@@ -0,0 +1,3 @@
+GROUP=com.mogo.och
+POM_ARTIFACT_ID=och-noop
+VERSION_CODE=1
diff --git a/OCH/mogo-och-noop/proguard-rules.pro b/OCH/mogo-och-noop/proguard-rules.pro
new file mode 100644
index 0000000000..481bb43481
--- /dev/null
+++ b/OCH/mogo-och-noop/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/OCH/mogo-och-noop/src/main/AndroidManifest.xml b/OCH/mogo-och-noop/src/main/AndroidManifest.xml
new file mode 100644
index 0000000000..83e4053945
--- /dev/null
+++ b/OCH/mogo-och-noop/src/main/AndroidManifest.xml
@@ -0,0 +1,5 @@
+
+
+ /
+
\ No newline at end of file
diff --git a/OCH/mogo-och-taxi/.gitignore b/OCH/mogo-och-taxi/.gitignore
new file mode 100644
index 0000000000..42afabfd2a
--- /dev/null
+++ b/OCH/mogo-och-taxi/.gitignore
@@ -0,0 +1 @@
+/build
\ No newline at end of file
diff --git a/OCH/mogo-och-taxi/build.gradle b/OCH/mogo-och-taxi/build.gradle
new file mode 100644
index 0000000000..05bf3ff391
--- /dev/null
+++ b/OCH/mogo-och-taxi/build.gradle
@@ -0,0 +1,54 @@
+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")
+
+
+ testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
+ consumerProguardFiles "consumer-rules.pro"
+
+ javaCompileOptions {
+ annotationProcessorOptions {
+ arguments = [AROUTER_MODULE_NAME: project.getName()]
+ }
+ }
+ }
+
+ compileOptions {
+ sourceCompatibility JavaVersion.VERSION_1_8
+ targetCompatibility JavaVersion.VERSION_1_8
+ }
+
+ buildTypes {
+ release {
+ minifyEnabled false
+ proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
+ }
+ }
+}
+
+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)) {
+ implementation rootProject.ext.dependencies.mogooch
+ implementation rootProject.ext.dependencies.mogoutils
+ implementation rootProject.ext.dependencies.mogocommons
+ } else {
+ implementation project(":OCH:mogo-och")
+ implementation project(":foudations:mogo-utils")
+ implementation project(":foudations:mogo-commons")
+ }
+}
+
+apply from: new File(rootProject.rootDir, "gradle/upload.gradle").toString()
\ No newline at end of file
diff --git a/OCH/mogo-och-taxi/consumer-rules.pro b/OCH/mogo-och-taxi/consumer-rules.pro
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/OCH/mogo-och-taxi/gradle.properties b/OCH/mogo-och-taxi/gradle.properties
new file mode 100644
index 0000000000..2d8ec933d9
--- /dev/null
+++ b/OCH/mogo-och-taxi/gradle.properties
@@ -0,0 +1,3 @@
+GROUP=com.mogo.och
+POM_ARTIFACT_ID=och-taxi
+VERSION_CODE=1
diff --git a/OCH/mogo-och-taxi/proguard-rules.pro b/OCH/mogo-och-taxi/proguard-rules.pro
new file mode 100644
index 0000000000..481bb43481
--- /dev/null
+++ b/OCH/mogo-och-taxi/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/OCH/mogo-och-taxi/src/main/AndroidManifest.xml b/OCH/mogo-och-taxi/src/main/AndroidManifest.xml
new file mode 100644
index 0000000000..fb42392054
--- /dev/null
+++ b/OCH/mogo-och-taxi/src/main/AndroidManifest.xml
@@ -0,0 +1,5 @@
+
+
+ /
+
\ No newline at end of file
diff --git a/OCH/mogo-och/.gitignore b/OCH/mogo-och/.gitignore
new file mode 100644
index 0000000000..42afabfd2a
--- /dev/null
+++ b/OCH/mogo-och/.gitignore
@@ -0,0 +1 @@
+/build
\ No newline at end of file
diff --git a/OCH/mogo-och/build.gradle b/OCH/mogo-och/build.gradle
new file mode 100644
index 0000000000..33c33d627e
--- /dev/null
+++ b/OCH/mogo-och/build.gradle
@@ -0,0 +1,44 @@
+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")
+
+
+ testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
+ consumerProguardFiles "consumer-rules.pro"
+
+ javaCompileOptions {
+ annotationProcessorOptions {
+ arguments = [AROUTER_MODULE_NAME: project.getName()]
+ }
+ }
+ }
+
+ compileOptions {
+ sourceCompatibility JavaVersion.VERSION_1_8
+ targetCompatibility JavaVersion.VERSION_1_8
+ }
+
+ buildTypes {
+ release {
+ minifyEnabled false
+ proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
+ }
+ }
+}
+
+dependencies {
+ implementation fileTree(dir: "libs", include: ["*.jar"])
+ implementation rootProject.ext.dependencies.androidxappcompat
+ implementation rootProject.ext.dependencies.arouter
+ annotationProcessor rootProject.ext.dependencies.aroutercompiler
+}
+
+apply from: new File(rootProject.rootDir, "gradle/upload.gradle").toString()
\ No newline at end of file
diff --git a/OCH/mogo-och/consumer-rules.pro b/OCH/mogo-och/consumer-rules.pro
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/OCH/mogo-och/gradle.properties b/OCH/mogo-och/gradle.properties
new file mode 100644
index 0000000000..48c034660a
--- /dev/null
+++ b/OCH/mogo-och/gradle.properties
@@ -0,0 +1,3 @@
+GROUP=com.mogo.och
+POM_ARTIFACT_ID=och
+VERSION_CODE=1
diff --git a/OCH/mogo-och/proguard-rules.pro b/OCH/mogo-och/proguard-rules.pro
new file mode 100644
index 0000000000..481bb43481
--- /dev/null
+++ b/OCH/mogo-och/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/OCH/mogo-och/src/main/AndroidManifest.xml b/OCH/mogo-och/src/main/AndroidManifest.xml
new file mode 100644
index 0000000000..e27819d70f
--- /dev/null
+++ b/OCH/mogo-och/src/main/AndroidManifest.xml
@@ -0,0 +1,5 @@
+
+
+ /
+
\ No newline at end of file
diff --git a/OCH/mogo-och/src/main/java/com/mogo/och/IMogoOCH.java b/OCH/mogo-och/src/main/java/com/mogo/och/IMogoOCH.java
new file mode 100644
index 0000000000..6eeb0133e4
--- /dev/null
+++ b/OCH/mogo-och/src/main/java/com/mogo/och/IMogoOCH.java
@@ -0,0 +1,24 @@
+package com.mogo.och;
+
+import androidx.annotation.IdRes;
+import androidx.fragment.app.FragmentActivity;
+
+import com.alibaba.android.arouter.facade.template.IProvider;
+
+public
+/**
+ * @author congtaowang
+ * @since 2021/1/15
+ *
+ * 网约车抽象接口
+ */
+interface IMogoOCH extends IProvider {
+
+ /**
+ * 初始化网约车容器
+ *
+ * @param activity
+ * @param containerId 容器ID
+ */
+ void init( FragmentActivity activity, @IdRes int containerId );
+}
diff --git a/OCH/mogo-och/src/main/java/com/mogo/och/OCHConstants.java b/OCH/mogo-och/src/main/java/com/mogo/och/OCHConstants.java
new file mode 100644
index 0000000000..09ab4955e0
--- /dev/null
+++ b/OCH/mogo-och/src/main/java/com/mogo/och/OCHConstants.java
@@ -0,0 +1,16 @@
+package com.mogo.och;
+
+public
+/**
+ * @author congtaowang
+ * @since 2021/1/15
+ *
+ * 网约车部分常量字段
+ */
+class OCHConstants {
+
+ /**
+ * arouter 路由地址
+ */
+ public static final String PATH = "/och/api";
+}
diff --git a/app/build.gradle b/app/build.gradle
index 65113267cc..c0cf3ad877 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -103,6 +103,58 @@ android {
// 是否支持目的地导航策略
buildConfigField 'boolean', 'IS_SUPPORT_SCHEDULE_CALCULATE_NOT_HOME_COMPANY_DISTANCE_FOR_PUSH', 'false'
}
+ // f系列-网约车-出租车
+ fochtaxi {
+ applicationId rootProject.ext.android.fLauncherApplicationId
+ dimension "product"
+ buildConfigField 'boolean', 'AI_ASSIST_ACTIVE_STAUTS', 'false'
+ // 车机类型,主要用于区分自研车机还是别人家的车机,自研车机类型为0
+ buildConfigField 'int', 'CAR_MACHINE_TYPE', '0'
+ buildConfigField 'boolean', 'ROAD_EVENT_ANIMATED', 'true'
+ manifestPlaceholders = [AMAP_API_VALUE: rootProject.ext.android.fLauncherAmapApiValue]
+ // 是否使用高德sdk自定义导航
+ buildConfigField 'boolean', 'USE_CUSTOM_NAVI', 'false'
+ // 是否支持换肤
+ buildConfigField 'boolean', 'IS_SKIN_SUPPORTED', 'true'
+ // 是否支持查询导航目的地车友
+ buildConfigField 'boolean', 'IS_SUPPORTED_SEARCH_DESTINATION_ONLINE_CAR_LIST', 'true'
+ // 是否支持桌面卡片刷新
+ buildConfigField 'boolean', 'IS_SUPPORT_LAUNCHER_CARD_REFRESH_STRATEGY', 'false'
+ // 是否基于地图
+ buildConfigField 'boolean', 'IS_MAP_BASED', 'true'
+ // 是否加载引导模块
+ buildConfigField 'boolean', 'IS_NEED_LOAD_GUIDE_MODULE', 'true'
+ // 分享时是否隐藏 adas
+ buildConfigField 'boolean', 'IS_NEED_HIDE_ADAS_WHEN_SHARE', 'false'
+ // 是否需要实时上报坐标
+ buildConfigField 'boolean', 'IS_NEED_UPLOAD_COORDINATES_IN_TIME', 'true'
+ }
+ // f系列-网约车-小巴车
+ fochbus {
+ applicationId rootProject.ext.android.fLauncherApplicationId
+ dimension "product"
+ buildConfigField 'boolean', 'AI_ASSIST_ACTIVE_STAUTS', 'false'
+ // 车机类型,主要用于区分自研车机还是别人家的车机,自研车机类型为0
+ buildConfigField 'int', 'CAR_MACHINE_TYPE', '0'
+ buildConfigField 'boolean', 'ROAD_EVENT_ANIMATED', 'true'
+ manifestPlaceholders = [AMAP_API_VALUE: rootProject.ext.android.fLauncherAmapApiValue]
+ // 是否使用高德sdk自定义导航
+ buildConfigField 'boolean', 'USE_CUSTOM_NAVI', 'false'
+ // 是否支持换肤
+ buildConfigField 'boolean', 'IS_SKIN_SUPPORTED', 'true'
+ // 是否支持查询导航目的地车友
+ buildConfigField 'boolean', 'IS_SUPPORTED_SEARCH_DESTINATION_ONLINE_CAR_LIST', 'true'
+ // 是否支持桌面卡片刷新
+ buildConfigField 'boolean', 'IS_SUPPORT_LAUNCHER_CARD_REFRESH_STRATEGY', 'false'
+ // 是否基于地图
+ buildConfigField 'boolean', 'IS_MAP_BASED', 'true'
+ // 是否加载引导模块
+ buildConfigField 'boolean', 'IS_NEED_LOAD_GUIDE_MODULE', 'true'
+ // 分享时是否隐藏 adas
+ buildConfigField 'boolean', 'IS_NEED_HIDE_ADAS_WHEN_SHARE', 'false'
+ // 是否需要实时上报坐标
+ buildConfigField 'boolean', 'IS_NEED_UPLOAD_COORDINATES_IN_TIME', 'true'
+ }
// f系列-分体机全系列,未细分
f8xx {
applicationId rootProject.ext.android.fLauncherApplicationId
@@ -521,6 +573,7 @@ dependencies {
apply from: "./functions/backwidget.gradle"
apply from: "./functions/mediaui.gradle"
apply from: "./functions/bizguide.gradle"
+ apply from: "./functions/och.gradle"
// implementation group: "com.tencent.matrix", name: "matrix-android-lib", version: '0.6.6', changing: true
// implementation group: "com.tencent.matrix", name: "matrix-android-commons", version: '0.6.6', changing: true
diff --git a/app/functions/abiFilters.gradle b/app/functions/abiFilters.gradle
index 6fd6edaaba..a70034e044 100644
--- a/app/functions/abiFilters.gradle
+++ b/app/functions/abiFilters.gradle
@@ -1,6 +1,24 @@
// 将 install 和 assemble 任务按功能分组
project.android.productFlavors {
+ // f系列-网约车-出租车
+ fochtaxi {
+ externalNativeBuild {
+ ndk {
+ // 设置支持的SO库架构
+ abiFilters "arm64-v8a"
+ }
+ }
+ }
+ // f系列-网约车小巴车
+ fochbus {
+ externalNativeBuild {
+ ndk {
+ // 设置支持的SO库架构
+ abiFilters "arm64-v8a"
+ }
+ }
+ }
// f系列-分体机全系列,未细分
f8xx {
externalNativeBuild {
diff --git a/app/functions/basedmap.gradle b/app/functions/basedmap.gradle
index 3e38ddad78..50a9a13ad7 100644
--- a/app/functions/basedmap.gradle
+++ b/app/functions/basedmap.gradle
@@ -5,6 +5,8 @@ project.dependencies {
f8xxImplementation rootProject.ext.dependencies.mapcustom
f80xImplementation rootProject.ext.dependencies.mapcustom
+ fochtaxiImplementation rootProject.ext.dependencies.mapcustom
+ fochbusImplementation rootProject.ext.dependencies.mapcustom
f8AmapImplementation rootProject.ext.dependencies.mapamap
bydautoImplementation rootProject.ext.dependencies.mapamap
@@ -20,6 +22,8 @@ project.dependencies {
} else {
f8xxImplementation project(':libraries:map-custom')
f80xImplementation project(':libraries:map-custom')
+ fochtaxiImplementation project(':libraries:map-custom')
+ fochbusImplementation project(':libraries:map-custom')
f8AmapImplementation project(':libraries:map-amap')
bydautoImplementation project(':libraries:map-amap')
diff --git a/app/functions/baseservices.gradle b/app/functions/baseservices.gradle
index 46a690b86b..eafa452c14 100644
--- a/app/functions/baseservices.gradle
+++ b/app/functions/baseservices.gradle
@@ -15,6 +15,8 @@ project.dependencies {
f80xImplementation rootProject.ext.dependencies.mogobaseserviceapk
f8AmapImplementation rootProject.ext.dependencies.mogobaseserviceapk
em3Implementation rootProject.ext.dependencies.mogobaseserviceapk
+ fochtaxiImplementation rootProject.ext.dependencies.mogobaseserviceapk
+ fochbusImplementation rootProject.ext.dependencies.mogobaseserviceapk
} else {
bydautoImplementation project(':foudations:mogo-base-services-sdk')
@@ -29,5 +31,7 @@ project.dependencies {
f80xImplementation project(':foudations:mogo-base-services-apk')
f8AmapImplementation project(':foudations:mogo-base-services-apk')
em3Implementation project(':foudations:mogo-base-services-apk')
+ fochtaxiImplementation project(':foudations:mogo-base-services-apk')
+ fochbusImplementation project(':foudations:mogo-base-services-apk')
}
}
\ No newline at end of file
diff --git a/app/functions/bizguide.gradle b/app/functions/bizguide.gradle
index 7e515af462..d67a083542 100644
--- a/app/functions/bizguide.gradle
+++ b/app/functions/bizguide.gradle
@@ -11,6 +11,8 @@ project.dependencies {
f80xImplementation rootProject.ext.dependencies.mogomoduleguide
f8AmapImplementation rootProject.ext.dependencies.mogomoduleguide
em3Implementation rootProject.ext.dependencies.mogomoduleguide
+ fochtaxiImplementation rootProject.ext.dependencies.mogomoduleguide
+ fochbusImplementation rootProject.ext.dependencies.mogomoduleguide
} else {
bydautoImplementation project(':modules:mogo-module-guide')
d8xxImplementation project(':modules:mogo-module-guide')
@@ -21,5 +23,7 @@ project.dependencies {
f80xImplementation project(':modules:mogo-module-guide')
f8AmapImplementation project(':modules:mogo-module-guide')
em3Implementation project(':modules:mogo-module-guide')
+ fochtaxiImplementation project(':modules:mogo-module-guide')
+ fochbusImplementation project(':modules:mogo-module-guide')
}
}
\ No newline at end of file
diff --git a/app/functions/leftpanel.gradle b/app/functions/leftpanel.gradle
index a18486b725..4d2718189d 100644
--- a/app/functions/leftpanel.gradle
+++ b/app/functions/leftpanel.gradle
@@ -16,6 +16,8 @@ project.dependencies {
f80xImplementation rootProject.ext.dependencies.moduleleftpanelnoop
f8AmapImplementation rootProject.ext.dependencies.moduleleftpanelnoop
em3Implementation rootProject.ext.dependencies.moduleleftpanelnoop
+ fochtaxiImplementation rootProject.ext.dependencies.moduleleftpanelnoop
+ fochbusImplementation rootProject.ext.dependencies.moduleleftpanelnoop
} else {
bydautoImplementation project(':modules:mogo-module-left-panel')
@@ -30,5 +32,7 @@ project.dependencies {
f80xImplementation project(':modules:mogo-module-left-panel-noop')
f8AmapImplementation project(':modules:mogo-module-left-panel-noop')
em3Implementation project(':modules:mogo-module-left-panel-noop')
+ fochtaxiImplementation project(':modules:mogo-module-left-panel-noop')
+ fochbusImplementation project(':modules:mogo-module-left-panel-noop')
}
}
\ No newline at end of file
diff --git a/app/functions/och.gradle b/app/functions/och.gradle
new file mode 100644
index 0000000000..490b59c65e
--- /dev/null
+++ b/app/functions/och.gradle
@@ -0,0 +1,33 @@
+project.dependencies {
+ if (Boolean.valueOf(RELEASE)) {
+ bydautoImplementation rootProject.ext.dependencies.mogoochnoop
+ d82xImplementation rootProject.ext.dependencies.mogoochnoop
+ em1Implementation rootProject.ext.dependencies.mogoochnoop
+ em2Implementation rootProject.ext.dependencies.mogoochnoop
+ em3Implementation rootProject.ext.dependencies.mogoochnoop
+ d8xxImplementation rootProject.ext.dependencies.mogoochnoop
+ d80xImplementation rootProject.ext.dependencies.mogoochnoop
+ f8xxImplementation rootProject.ext.dependencies.mogoochnoop
+ f80xImplementation rootProject.ext.dependencies.mogoochnoop
+ f8AmapImplementation rootProject.ext.dependencies.mogoochnoop
+ em4Implementation rootProject.ext.dependencies.mogoochnoop
+ e8xxImplementation rootProject.ext.dependencies.mogoochnoop
+ fochtaxiImplementation rootProject.ext.dependencies.mogoochtaxi
+ fochbusImplementation rootProject.ext.dependencies.mogoochbus
+ } else {
+ bydautoImplementation project(':OCH:mogo-och-noop')
+ d82xImplementation project(':OCH:mogo-och-noop')
+ em1Implementation project(':OCH:mogo-och-noop')
+ em2Implementation project(':OCH:mogo-och-noop')
+ em3Implementation project(':OCH:mogo-och-noop')
+ d8xxImplementation project(':OCH:mogo-och-noop')
+ d80xImplementation project(':OCH:mogo-och-noop')
+ f8xxImplementation project(':OCH:mogo-och-noop')
+ f80xImplementation project(':OCH:mogo-och-noop')
+ f8AmapImplementation project(':OCH:mogo-och-noop')
+ em4Implementation project(':OCH:mogo-och-noop')
+ e8xxImplementation project(':OCH:mogo-och-noop')
+ fochtaxiImplementation project(':OCH:mogo-och-taxi')
+ fochbusImplementation project(':OCH:mogo-och-bus')
+ }
+}
\ No newline at end of file
diff --git a/app/functions/skin.gradle b/app/functions/skin.gradle
index 091ed3f2c0..45b2077b06 100644
--- a/app/functions/skin.gradle
+++ b/app/functions/skin.gradle
@@ -14,6 +14,8 @@ project.dependencies {
f8AmapImplementation rootProject.ext.dependencies.skinsupportimpl
em4Implementation rootProject.ext.dependencies.skinsupportimpl
e8xxImplementation rootProject.ext.dependencies.skinsupportimpl
+ fochtaxiImplementation rootProject.ext.dependencies.skinsupportimpl
+ fochbusImplementation rootProject.ext.dependencies.skinsupportimpl
f8xxImplementation rootProject.ext.dependencies.skinsupportlight
f80xImplementation rootProject.ext.dependencies.skinsupportlight
@@ -23,6 +25,8 @@ project.dependencies {
d8xxImplementation rootProject.ext.dependencies.skinsupportlight
d80xImplementation rootProject.ext.dependencies.skinsupportlight
em3Implementation rootProject.ext.dependencies.skinsupportlight
+ fochtaxiImplementation rootProject.ext.dependencies.skinsupportlight
+ fochbusImplementation rootProject.ext.dependencies.skinsupportlight
} else {
@@ -40,6 +44,8 @@ project.dependencies {
f8AmapImplementation project(':skin:mogo-skin-support-impl')
em4Implementation project(':skin:mogo-skin-support-impl')
e8xxImplementation project(':skin:mogo-skin-support-impl')
+ fochtaxiImplementation project(':skin:mogo-skin-support-impl')
+ fochbusImplementation project(':skin:mogo-skin-support-impl')
f8xxImplementation project(':skin:mogo-skin-light')
f80xImplementation project(':skin:mogo-skin-light')
@@ -49,5 +55,7 @@ project.dependencies {
d8xxImplementation project(':skin:mogo-skin-light')
d80xImplementation project(':skin:mogo-skin-light')
em3Implementation project(':skin:mogo-skin-light')
+ fochtaxiImplementation project(':skin:mogo-skin-light')
+ fochbusImplementation project(':skin:mogo-skin-light')
}
}
\ No newline at end of file
diff --git a/app/functions/tts.gradle b/app/functions/tts.gradle
index 57ba189d2b..50a0d3c653 100644
--- a/app/functions/tts.gradle
+++ b/app/functions/tts.gradle
@@ -12,6 +12,8 @@ project.dependencies {
f8AmapImplementation rootProject.ext.dependencies.ttszhi
em4Implementation rootProject.ext.dependencies.ttszhi
e8xxImplementation rootProject.ext.dependencies.ttszhi
+ fochtaxiImplementation rootProject.ext.dependencies.ttszhi
+ fochbusImplementation rootProject.ext.dependencies.ttszhi
} else {
bydautoImplementation project(':tts:tts-di')
d82xImplementation project(':tts:tts-zhi')
@@ -25,5 +27,7 @@ project.dependencies {
f8AmapImplementation project(':tts:tts-zhi')
em4Implementation project(':tts:tts-zhi')
e8xxImplementation project(':tts:tts-zhi')
+ fochtaxiImplementation project(':tts:tts-zhi')
+ fochbusImplementation project(':tts:tts-zhi')
}
}
\ No newline at end of file
diff --git a/app/regroup.gradle b/app/regroup.gradle
index 8a155ea5ef..acfe42e811 100644
--- a/app/regroup.gradle
+++ b/app/regroup.gradle
@@ -3,7 +3,7 @@
afterEvaluate {
def independent = ["em3", "em1", "d80x", "d82x", "bydauto", "em2"]
- def launcher = ["f80x", "f8xx","f8amap", "em4", "e8xx"]
+ def launcher = ["f80x", "f8xx", "f8amap", "em4", "e8xx", "fochtaxi", "fochbus"]
it.getTasks().iterator().forEachRemaining {
def task = it
@@ -12,7 +12,7 @@ afterEvaluate {
&& taskName.contains("Independent")
&& (taskName.endsWith("Debug") || taskName.endsWith("Release"))) {
independent.forEach {
- if( taskName.toLowerCase().contains(it) ){
+ if (taskName.toLowerCase().contains(it)) {
task.group = "assembleIndependent"
}
}
@@ -20,7 +20,7 @@ afterEvaluate {
&& taskName.contains("Launcher")
&& (taskName.endsWith("Debug") || taskName.endsWith("Release"))) {
launcher.forEach {
- if( taskName.toLowerCase().contains(it) ){
+ if (taskName.toLowerCase().contains(it)) {
task.group = "assembleLauncher"
}
}
@@ -28,7 +28,7 @@ afterEvaluate {
&& taskName.contains("Independent")
&& (taskName.endsWith("Debug") || taskName.endsWith("Release"))) {
independent.forEach {
- if( taskName.toLowerCase().contains(it) ){
+ if (taskName.toLowerCase().contains(it)) {
task.group = "installIndependent"
}
}
@@ -36,7 +36,7 @@ afterEvaluate {
&& taskName.contains("Launcher")
&& (taskName.endsWith("Debug") || taskName.endsWith("Release"))) {
launcher.forEach {
- if( taskName.toLowerCase().contains(it) ){
+ if (taskName.toLowerCase().contains(it)) {
task.group = "installLauncher"
}
}
diff --git a/config.gradle b/config.gradle
index 3ba7562f62..4af7b0b377 100644
--- a/config.gradle
+++ b/config.gradle
@@ -53,7 +53,7 @@ ext {
glideanno : 'com.github.bumptech.glide:annotations:4.8.0',
glidecompiler : 'com.github.bumptech.glide:compiler:4.8.0',
supportannos : "com.android.support:support-annotations:28.0.0",
- okhttpinterceptor :"com.squareup.okhttp3:logging-interceptor:3.12.0",
+ okhttpinterceptor : "com.squareup.okhttp3:logging-interceptor:3.12.0",
// fresco
fresco : 'com.facebook.fresco:fresco:1.9.0',
// 公司服务 - 语音
@@ -176,7 +176,7 @@ ext {
mogobaseservicesdk : "com.mogo.base:services-sdk:${MOGO_BASE_SERVICES_SDK_VERSION}",
mogobaseserviceapk : "com.mogo.base:services-apk:${MOGO_BASE_SERVICES_APK_VERSION}",
mogobasewebsocketsdk : "com.mogo.base:websocket-sdk:${MOGO_BASE_WEBSOCKET_SDK_VERSION}",
- mogowebsocket : "com.mogo.module.carchatting:module-carchatt-socket:${WEBSOCKET_VERSION}",
+ mogowebsocket : "com.mogo.module.carchatting:module-carchatt-socket:${WEBSOCKET_VERSION}",
// loglib
mogologlib : "com.mogo.module:module-loglib:${LOGLIB_VERSION}",
// monitor
@@ -224,6 +224,11 @@ ext {
httpdnsnoop : "com.mogo.httpdns:httpdns-noop:${HTTPDNS_NOOP_VERSION}",
httpdnstencent : "com.mogo.httpdns:httpdns-tencent:${HTTPDNS_TENCENT_VERSION}",
httpdnsmogo : "com.mogo.httpdns:httpdns-mogo:${HTTPDNS_MOGO_VERSION}",
+
+ mogooch : "com.mogo.och:och:${MOGO_OCH_VERSION}",
+ mogoochbus : "com.mogo.och:och-bus:${MOGO_OCH_BUS_VERSION}",
+ mogoochtaxi : "com.mogo.och:och-taxi:${MOGO_OCH_TAXI_VERSION}",
+ mogoochnoop : "com.mogo.och:och-noop:${MOGO_OCH_NOOP_VERSION}",
]
}
\ No newline at end of file
diff --git a/gradle.properties b/gradle.properties
index d49d9ff3bd..d28199cc55 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -137,6 +137,12 @@ HTTPDNS_MOGO_VERSION=2.0.12
HTTPDNS_BASE_VERSION = 2.0.13
HTTPDNS_NOOP_VERSION = 2.0.12
+# OCH
+MOGO_OCH_VERSION=1.0.0
+MOGO_OCH_BUS_VERSION=1.0.0
+MOGO_OCH_NOOP_VERSION=1.0.0
+MOGO_OCH_TAXI_VERSION=1.0.0
+
######## 外部依赖引用
# 车聊聊
CARCHATTING_VERSION=2.2.70
diff --git a/main-extensions/mogo-module-main-launcher/build.gradle b/main-extensions/mogo-module-main-launcher/build.gradle
index 7d208f4876..3de4bf61cd 100644
--- a/main-extensions/mogo-module-main-launcher/build.gradle
+++ b/main-extensions/mogo-module-main-launcher/build.gradle
@@ -42,8 +42,10 @@ dependencies {
annotationProcessor rootProject.ext.dependencies.aroutercompiler
if (Boolean.valueOf(RELEASE)) {
api rootProject.ext.dependencies.modulemain
+ implementation rootProject.ext.dependencies.mogooch
} else {
api project(":modules:mogo-module-main")
+ implementation project(":OCH:mogo-och")
}
}
diff --git a/main-extensions/mogo-module-main-launcher/src/main/java/com/zhidao/mogo/module/main/launcher/MainLauncherActivity.java b/main-extensions/mogo-module-main-launcher/src/main/java/com/zhidao/mogo/module/main/launcher/MainLauncherActivity.java
index 1c73531d6c..9cccae807c 100644
--- a/main-extensions/mogo-module-main-launcher/src/main/java/com/zhidao/mogo/module/main/launcher/MainLauncherActivity.java
+++ b/main-extensions/mogo-module-main-launcher/src/main/java/com/zhidao/mogo/module/main/launcher/MainLauncherActivity.java
@@ -9,11 +9,13 @@ import android.widget.FrameLayout;
import androidx.annotation.Nullable;
+import com.alibaba.android.arouter.launcher.ARouter;
import com.mogo.commons.debug.DebugConfig;
import com.mogo.map.uicontroller.EnumMapUI;
import com.mogo.module.common.MogoApisHandler;
import com.mogo.module.main.MainActivity;
import com.mogo.module.main.cards.MogoModulesManager;
+import com.mogo.och.IMogoOCH;
import com.mogo.service.intent.IMogoIntentListener;
import com.mogo.service.statusmanager.IMogoStatusChangedListener;
import com.mogo.service.statusmanager.StatusDescriptor;
@@ -96,6 +98,22 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis
return !mIsHomeKeyDown;
}
+ @Override
+ protected void loadOthersModules() {
+ super.loadOthersModules();
+ loadOCHModule();
+ }
+
+ /**
+ * 加载网约车模块
+ */
+ private void loadOCHModule(){
+ IMogoOCH och = ARouter.getInstance().navigation( IMogoOCH.class );
+ if ( och != null ) {
+ och.init( this, R.id.module_main_id_och_fragment );
+ }
+ }
+
@Override
protected void onDestroy() {
super.onDestroy();
diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java
index 7581fd5bfd..1fc72806d6 100644
--- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java
+++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java
@@ -209,7 +209,7 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
MapCenterPointStrategy.setMapCenterPointByScene( mServiceApis.getMapServiceApi().getMapUIController(), Scene.AIMLESS );
}
- private void loadOthersModules() {
+ protected void loadOthersModules() {
// 加载地图,触发地图加载完毕回调,在初始化其他卡片模块,保证卡片模块可以正确获取地图相关服务。
loadContainerModules();
MogoModulesManager.getInstance().loadModules();
@@ -217,6 +217,7 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
// 启动一些基本的服务:定位等
startBaseService();
+
}
private void initAdasControlStatusListener() {
diff --git a/modules/mogo-module-main/src/main/res/layout/module_main_activity_main.xml b/modules/mogo-module-main/src/main/res/layout/module_main_activity_main.xml
index fb58d8aef2..cf39291154 100644
--- a/modules/mogo-module-main/src/main/res/layout/module_main_activity_main.xml
+++ b/modules/mogo-module-main/src/main/res/layout/module_main_activity_main.xml
@@ -74,6 +74,11 @@
android:layout_width="match_parent"
android:layout_height="match_parent" />
+
+