diff --git a/Android/java/app/doraemonkit.gradle b/Android/java/app/doraemonkit.gradle
index fbb4d2893502c6b657b62167c524edaf5aadc28a..1657a4e4cf6d46a592a98a67d9f547a8724aa515 100644
--- a/Android/java/app/doraemonkit.gradle
+++ b/Android/java/app/doraemonkit.gradle
@@ -6,7 +6,7 @@ if (runType == 0) {
// 这里引用正常库
dependencies {
//外部平台依赖
- debugImplementation project(":doraemonkit-mc")
+// debugImplementation project(":doraemonkit-mc")
debugImplementation project(":doraemonkit")
// debugImplementation project(":doraemonkit-weex")
// releaseImplementation project(":doraemonkit-no-op")
diff --git a/Android/java/app/src/main/java/com/didichuxing/doraemondemo/amap/NaviRouteOverlay.kt b/Android/java/app/src/main/java/com/didichuxing/doraemondemo/amap/NaviRouteOverlay.kt
index d92d3dbf9e6588e5a021e67334f5f20d4c4867e1..763a449ddbbe3c2724ee7f5c49eddd3d5b09f16a 100644
--- a/Android/java/app/src/main/java/com/didichuxing/doraemondemo/amap/NaviRouteOverlay.kt
+++ b/Android/java/app/src/main/java/com/didichuxing/doraemondemo/amap/NaviRouteOverlay.kt
@@ -24,7 +24,7 @@ import com.didichuxing.doraemonkit.util.ReflectUtils
class NaviRouteOverlay(
private val aMap: AMap,
aMapNaviPath: AMapNaviPath?,
- private val mContext: Context
+ val mContext: Context
) : RouteOverLay(
aMap, aMapNaviPath, mContext
) {
@@ -41,10 +41,10 @@ class NaviRouteOverlay(
private fun setupOptions(shadow: Boolean) {
val options: RouteOverlayOptions
if (shadow) {
- options = customShadowRouteTexture(mContext)
+ options = customShadowRouteTexture()
setZindex(ROUTE_SHADOW_Z_INDEX)
} else {
- options = customRouteTexture(mContext)
+ options = customRouteTexture()
setZindex(ROUTE_NORMAL_Z_INDEX)
}
options.setOnRouteCameShow(false)
@@ -94,7 +94,7 @@ class NaviRouteOverlay(
}
}
- private fun customShadowRouteTexture(context: Context?): RouteOverlayOptions {
+ private fun customShadowRouteTexture(): RouteOverlayOptions {
val routeOverlayOptions = RouteOverlayOptions()
var fis =
BitmapDescriptorFactory::class.java.getResourceAsStream("/assets/img/dk_custtexture_aolr.png")
@@ -132,7 +132,7 @@ class NaviRouteOverlay(
companion object {
private const val LINE_WIDTH_DP = 14
- fun customRouteTexture(context: Context?): RouteOverlayOptions {
+ fun customRouteTexture(): RouteOverlayOptions {
val routeOverlayOptions = RouteOverlayOptions()
var fis =
BitmapDescriptorFactory::class.java.getResourceAsStream("/assets/img/dk_custtexture_aolr.png")
diff --git a/Android/java/config.gradle b/Android/java/config.gradle
index 4eed4f5be6943367813d6db4a6ea709ae328481a..95392fb7fd1c6c6f2f18c8394e960c57afbc650d 100755
--- a/Android/java/config.gradle
+++ b/Android/java/config.gradle
@@ -35,7 +35,7 @@ ext {
"appcompat" : 'androidx.appcompat:appcompat:1.1.0',
"cardview" : 'androidx.cardview:cardview:1.0.0',
"recyclerview" : 'androidx.recyclerview:recyclerview:1.1.0',
- "material" : 'com.google.android.material:material:1.1.0',
+ "material" : 'com.google.android.material:material:1.1.0',
"annotation" : "androidx.annotation:annotation:1.1.0",
"kotlin" : "org.jetbrains.kotlin:kotlin-stdlib-jdk7:${android["kotlin_version"]}",
"core-ktx" : "androidx.core:core-ktx:1.3.0",
@@ -133,8 +133,8 @@ ext {
//tencent x5 浏览器 https://x5.tencent.com/
"tbs" : "com.tencent.tbs.tbssdk:sdk:43903",
// "swipeback" : "me.imid.swipebacklayout.lib:library:1.1.0"
- "tencent-map" : "com.tencent.map:tencent-map-vector-sdk:4.3.4",
"flexbox" : 'com.google.android:flexbox:1.0.0',
+ "auto_service" : "com.google.auto.service:auto-service:1.0-rc7"
]
}
diff --git a/Android/java/doraemonkit-comm/.gitignore b/Android/java/doraemonkit-comm/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..42afabfd2abebf31384ca7797186a27a4b7dbee8
--- /dev/null
+++ b/Android/java/doraemonkit-comm/.gitignore
@@ -0,0 +1 @@
+/build
\ No newline at end of file
diff --git a/Android/java/doraemonkit-comm/build.gradle b/Android/java/doraemonkit-comm/build.gradle
new file mode 100644
index 0000000000000000000000000000000000000000..eff4792db77450b0f7e7a9f75d847152cfcf3912
--- /dev/null
+++ b/Android/java/doraemonkit-comm/build.gradle
@@ -0,0 +1,42 @@
+apply plugin: 'com.android.library'
+apply plugin: 'kotlin-android'
+apply plugin: 'kotlin-android-extensions'
+apply from: '../upload.gradle'
+
+android {
+ compileSdkVersion rootProject.ext.android["compileSdkVersion"]
+
+ defaultConfig {
+ minSdkVersion rootProject.ext.android["minSdkVersion"]
+ targetSdkVersion rootProject.ext.android["targetSdkVersion"]
+ versionCode rootProject.ext.android["versionCode"]
+ versionName rootProject.ext.android["versionName"]
+
+ testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
+ javaCompileOptions { annotationProcessorOptions { includeCompileClasspath = true } }
+ }
+
+ buildTypes {
+ debug {
+ minifyEnabled false
+ proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
+ }
+ release {
+ minifyEnabled false
+ proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
+ }
+ }
+
+ lintOptions {
+ abortOnError false
+ }
+
+}
+
+dependencies {
+ implementation fileTree(include: ['*.jar'], dir: 'libs')
+ //implementation rootProject.ext.dependencies["appcompat"]
+ //compileOnly rootProject.ext.dependencies["okio"]
+ implementation rootProject.ext.dependencies["kotlin"]
+
+}
\ No newline at end of file
diff --git a/Android/java/doraemonkit-comm/gradle.properties b/Android/java/doraemonkit-comm/gradle.properties
new file mode 100644
index 0000000000000000000000000000000000000000..df0c363e700a3b1a02b99b9e495e52361ac6197e
--- /dev/null
+++ b/Android/java/doraemonkit-comm/gradle.properties
@@ -0,0 +1 @@
+ARTIFACT_ID=dokitx-comm
\ No newline at end of file
diff --git a/Android/java/doraemonkit-comm/proguard-rules.pro b/Android/java/doraemonkit-comm/proguard-rules.pro
new file mode 100644
index 0000000000000000000000000000000000000000..fed85b436c2c5d92238207e53b0f9f9cbb258940
--- /dev/null
+++ b/Android/java/doraemonkit-comm/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 from file name.
+#-renamesourcefileattribute SourceFile
\ No newline at end of file
diff --git a/Android/java/doraemonkit-comm/src/main/AndroidManifest.xml b/Android/java/doraemonkit-comm/src/main/AndroidManifest.xml
new file mode 100644
index 0000000000000000000000000000000000000000..abd74370d7a5a4d25a9baccb5179d25b98cef1b0
--- /dev/null
+++ b/Android/java/doraemonkit-comm/src/main/AndroidManifest.xml
@@ -0,0 +1,5 @@
+
+
+
+
\ No newline at end of file
diff --git a/Android/java/doraemonkit-comm/upload.sh b/Android/java/doraemonkit-comm/upload.sh
new file mode 100755
index 0000000000000000000000000000000000000000..26d23a617e8ba51800ee26b7bd83bfc6e09331f4
--- /dev/null
+++ b/Android/java/doraemonkit-comm/upload.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+echo -n "please enter bintray userid ->"
+read userid_bintray
+echo -n "please enter bintray apikey ->"
+read apikey_bintray
+../gradlew clean build --stacktrace --info bintrayUpload -PbintrayUser=${userid_bintray} -PbintrayKey=${apikey_bintray} -PdryRun=false
\ No newline at end of file
diff --git a/Android/java/doraemonkit-mc/build.gradle b/Android/java/doraemonkit-mc/build.gradle
index 804c20417c93515d668115f46d06b648b065bc57..e8abe38729cc540e1ccd4e6bdaf092243bbaddff 100644
--- a/Android/java/doraemonkit-mc/build.gradle
+++ b/Android/java/doraemonkit-mc/build.gradle
@@ -1,6 +1,7 @@
apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
+apply plugin: 'kotlin-kapt'
apply from: '../upload.gradle'
android {
@@ -69,6 +70,9 @@ dependencies {
compileOnly rootProject.ext.dependencies["ktor_server_cio"]
//此处需要使用api的形式 向上暴露内部api
api project(':doraemonkit')
+ //auto-service
+ implementation rootProject.ext.dependencies["auto_service"]
+ kapt rootProject.ext.dependencies["auto_service"]
}
publish.dependsOn(':doraemonkit:publish')
\ No newline at end of file
diff --git a/Android/java/doraemonkit-mc/src/main/java/com/didichuxing/doraemonkit/kit/mc/all/McActivityOverrideImpl.kt b/Android/java/doraemonkit-mc/src/main/java/com/didichuxing/doraemonkit/kit/mc/all/McDoKitServiceImpl.kt
similarity index 61%
rename from Android/java/doraemonkit-mc/src/main/java/com/didichuxing/doraemonkit/kit/mc/all/McActivityOverrideImpl.kt
rename to Android/java/doraemonkit-mc/src/main/java/com/didichuxing/doraemonkit/kit/mc/all/McDoKitServiceImpl.kt
index 036d9e4fb10d79b203354b6e6aea2dc9321f8991..c6bbb50e499368735db29a8c682db1ae69714fb8 100644
--- a/Android/java/doraemonkit-mc/src/main/java/com/didichuxing/doraemonkit/kit/mc/all/McActivityOverrideImpl.kt
+++ b/Android/java/doraemonkit-mc/src/main/java/com/didichuxing/doraemonkit/kit/mc/all/McDoKitServiceImpl.kt
@@ -4,9 +4,10 @@ import android.app.Activity
import com.didichuxing.doraemonkit.constant.DoKitConstant
import com.didichuxing.doraemonkit.constant.WSEType
import com.didichuxing.doraemonkit.constant.WSMode
-import com.didichuxing.doraemonkit.kit.core.DoKitActivityOverrideListener
+import com.didichuxing.doraemonkit.kit.core.DoKitServiceAbs
+import com.didichuxing.doraemonkit.kit.core.DoKitServiceInterface
import com.didichuxing.doraemonkit.kit.mc.server.DoKitWsServer
-import com.didichuxing.doraemonkit.util.LogHelper
+import com.google.auto.service.AutoService
/**
* ================================================
@@ -17,47 +18,12 @@ import com.didichuxing.doraemonkit.util.LogHelper
* 修订历史:
* ================================================
*/
-class McActivityOverrideImpl : DoKitActivityOverrideListener {
+@AutoService(DoKitServiceInterface::class)
+class McDoKitServiceImpl : DoKitServiceAbs() {
companion object {
const val TAG = "McActivityOverrideImpl"
}
- override fun onCreate(activity: Activity) {
- }
-
- override fun onStart(activity: Activity) {
- }
-
- override fun onResume(activity: Activity) {
- }
-
- override fun onPause(activity: Activity) {
- }
-
- override fun onStop(activity: Activity) {
- }
-
- override fun onDestroy(activity: Activity) {
- }
-
- override fun finish(activity: Activity) {
-// if (DoKitConstant.WS_MODE == WSMode.HOST) {
-// val wsEvent = WSEvent(
-// WSMode.HOST,
-// WSEType.ACTIVITY_FINISH,
-// mutableMapOf(
-// "activityName" to activity::class.java.canonicalName!!,
-// "command" to "finish"
-// ),
-// null
-// )
-// DoKitWsServer.send(wsEvent)
-// }
- }
-
- override fun onConfigurationChanged(activity: Activity) {
-
- }
override fun onBackPressed(activity: Activity) {
if (DoKitConstant.WS_MODE == WSMode.HOST) {
@@ -74,12 +40,6 @@ class McActivityOverrideImpl : DoKitActivityOverrideListener {
}
}
- override fun dispatchTouchEvent(activity: Activity) {
-
- }
-
- override fun other(activity: Activity) {
- }
override fun onForeground(className: String) {
if (DoKitConstant.WS_MODE == WSMode.HOST) {
diff --git a/Android/java/doraemonkit/build.gradle b/Android/java/doraemonkit/build.gradle
index 1027a831632edb6a88a7de41cad7e98072ba9c00..710426602f39ceaac2cded84b96fa1a704e350d8 100644
--- a/Android/java/doraemonkit/build.gradle
+++ b/Android/java/doraemonkit/build.gradle
@@ -95,6 +95,10 @@ dependencies {
// implementation rootProject.ext.dependencies["ktor-gson"]
kapt rootProject.ext.dependencies["room_compile"]
+ //auto-service
+ implementation rootProject.ext.dependencies["auto_service"]
+ kapt rootProject.ext.dependencies["auto_service"]
+
//三大图片框架
compileOnly rootProject.ext.dependencies["glide"]
diff --git a/Android/java/doraemonkit/src/main/java/com/didichuxing/doraemonkit/DoraemonKitReal.kt b/Android/java/doraemonkit/src/main/java/com/didichuxing/doraemonkit/DoraemonKitReal.kt
index e93e756138adeb88e0842e2930d11a0304c00c5c..3a05abe4c5387f075069375f3daa393f6e5b5278 100644
--- a/Android/java/doraemonkit/src/main/java/com/didichuxing/doraemonkit/DoraemonKitReal.kt
+++ b/Android/java/doraemonkit/src/main/java/com/didichuxing/doraemonkit/DoraemonKitReal.kt
@@ -146,7 +146,8 @@ object DoraemonKitReal {
it
)
} as MutableList
- DoKitConstant.GLOBAL_KITS[DoKitCommUtil.getString(R.string.dk_category_biz)] = kitWraps
+ DoKitConstant.GLOBAL_KITS[DoKitCommUtil.getString(R.string.dk_category_biz)] =
+ kitWraps
}
}
@@ -179,8 +180,6 @@ object DoraemonKitReal {
}
-
-
/**
* 注册全局回调
*/
@@ -189,16 +188,16 @@ object DoraemonKitReal {
AppUtils.registerAppStatusChangedListener(object : Utils.OnAppStatusChangedListener {
//进入前台
override fun onForeground(activity: Activity?) {
- DoKitActivityOverrideManager.dispatch(
- DoKitActivityOverrideEnum.onForeground,
+ DoKitServiceManager.dispatch(
+ DoKitServiceEnum.onForeground,
activity!!
)
}
//进入后台
override fun onBackground(activity: Activity?) {
- DoKitActivityOverrideManager.dispatch(
- DoKitActivityOverrideEnum.onBackground,
+ DoKitServiceManager.dispatch(
+ DoKitServiceEnum.onBackground,
activity!!
)
}
@@ -206,12 +205,10 @@ object DoraemonKitReal {
})
//跨模块通信监听
try {
- val doKitActivityOverrideListeners = mutableListOf()
- val mcOverrideListener: DoKitActivityOverrideListener =
- ReflectUtils.reflect("com.didichuxing.doraemonkit.kit.mc.all.McActivityOverrideImpl")
- .newInstance().get()
- doKitActivityOverrideListeners.add(mcOverrideListener)
- DoKitActivityOverrideManager.register(doKitActivityOverrideListeners)
+ val dokitServices =
+ ServiceLoader.load(DoKitServiceInterface::class.java, javaClass.classLoader)
+ .toList()
+ DoKitServiceManager.register(dokitServices)
} catch (e: Exception) {
}
@@ -236,9 +233,11 @@ object DoraemonKitReal {
ToolPanelUtil.jsonConfig2InnerKits(json)
//悬浮窗模式
- DoKitConstant.GLOBAL_KITS[DoKitCommUtil.getString(R.string.dk_category_mode)] = mutableListOf()
+ DoKitConstant.GLOBAL_KITS[DoKitCommUtil.getString(R.string.dk_category_mode)] =
+ mutableListOf()
//添加退出项
- DoKitConstant.GLOBAL_KITS[DoKitCommUtil.getString(R.string.dk_category_exit)] = mutableListOf()
+ DoKitConstant.GLOBAL_KITS[DoKitCommUtil.getString(R.string.dk_category_exit)] =
+ mutableListOf()
//版本号
DoKitConstant.GLOBAL_KITS[DoKitCommUtil.getString(R.string.dk_category_version)] =
mutableListOf()
diff --git a/Android/java/doraemonkit/src/main/java/com/didichuxing/doraemonkit/aop/mc/DoKitProxyActivity.kt b/Android/java/doraemonkit/src/main/java/com/didichuxing/doraemonkit/aop/mc/DoKitProxyActivity.kt
index 3d495304a9a9daab7c97d03ea6d405194e16c4c5..932d1f8367805e9779cb20fbd31c97df5e24a474 100644
--- a/Android/java/doraemonkit/src/main/java/com/didichuxing/doraemonkit/aop/mc/DoKitProxyActivity.kt
+++ b/Android/java/doraemonkit/src/main/java/com/didichuxing/doraemonkit/aop/mc/DoKitProxyActivity.kt
@@ -2,15 +2,12 @@ package com.didichuxing.doraemonkit.aop.mc
import android.app.Activity
import android.content.res.Configuration
-import android.nfc.Tag
import android.os.Build
import android.os.Bundle
import android.view.MotionEvent
import androidx.annotation.RequiresApi
-import com.didichuxing.doraemonkit.kit.core.DoKitActivityOverrideEnum
-import com.didichuxing.doraemonkit.kit.core.DoKitActivityOverrideManager
-import com.didichuxing.doraemonkit.util.LogHelper
-import java.util.logging.Logger
+import com.didichuxing.doraemonkit.kit.core.DoKitServiceEnum
+import com.didichuxing.doraemonkit.kit.core.DoKitServiceManager
/**
@@ -31,26 +28,26 @@ public open class DoKitProxyActivity : Activity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
- DoKitActivityOverrideManager.dispatch(DoKitActivityOverrideEnum.onCreate, this)
+ DoKitServiceManager.dispatch(DoKitServiceEnum.onCreate, this)
}
override fun onStart() {
super.onStart()
- DoKitActivityOverrideManager.dispatch(DoKitActivityOverrideEnum.onStart, this)
+ DoKitServiceManager.dispatch(DoKitServiceEnum.onStart, this)
}
override fun onResume() {
super.onResume()
- DoKitActivityOverrideManager.dispatch(DoKitActivityOverrideEnum.onResume, this)
+ DoKitServiceManager.dispatch(DoKitServiceEnum.onResume, this)
}
@RequiresApi(Build.VERSION_CODES.M)
override fun dispatchTouchEvent(ev: MotionEvent): Boolean {
- DoKitActivityOverrideManager.dispatch(DoKitActivityOverrideEnum.dispatchTouchEvent, this)
+ DoKitServiceManager.dispatch(DoKitServiceEnum.dispatchTouchEvent, this)
return super.dispatchTouchEvent(ev)
@@ -59,8 +56,8 @@ public open class DoKitProxyActivity : Activity() {
override fun onConfigurationChanged(newConfig: Configuration) {
super.onConfigurationChanged(newConfig)
- DoKitActivityOverrideManager.dispatch(
- DoKitActivityOverrideEnum.onConfigurationChanged,
+ DoKitServiceManager.dispatch(
+ DoKitServiceEnum.onConfigurationChanged,
this
)
}
@@ -68,29 +65,29 @@ public open class DoKitProxyActivity : Activity() {
override fun onBackPressed() {
super.onBackPressed()
- DoKitActivityOverrideManager.dispatch(DoKitActivityOverrideEnum.onBackPressed, this)
+ DoKitServiceManager.dispatch(DoKitServiceEnum.onBackPressed, this)
}
override fun onPause() {
super.onPause()
- DoKitActivityOverrideManager.dispatch(DoKitActivityOverrideEnum.onPause, this)
+ DoKitServiceManager.dispatch(DoKitServiceEnum.onPause, this)
}
override fun onStop() {
super.onStop()
- DoKitActivityOverrideManager.dispatch(DoKitActivityOverrideEnum.onStop, this)
+ DoKitServiceManager.dispatch(DoKitServiceEnum.onStop, this)
}
override fun onDestroy() {
super.onDestroy()
- DoKitActivityOverrideManager.dispatch(DoKitActivityOverrideEnum.onDestroy, this)
+ DoKitServiceManager.dispatch(DoKitServiceEnum.onDestroy, this)
}
override fun finish() {
super.finish()
- DoKitActivityOverrideManager.dispatch(DoKitActivityOverrideEnum.finish, this)
+ DoKitServiceManager.dispatch(DoKitServiceEnum.finish, this)
}
override fun onAttachedToWindow() {
diff --git a/Android/java/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/core/DoKitActivityOverrideManager.kt b/Android/java/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/core/DoKitActivityOverrideManager.kt
deleted file mode 100644
index 1255770f09b459347a7d4154ef3c6bb3ee6a4d95..0000000000000000000000000000000000000000
--- a/Android/java/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/core/DoKitActivityOverrideManager.kt
+++ /dev/null
@@ -1,46 +0,0 @@
-package com.didichuxing.doraemonkit.kit.core
-
-import android.app.Activity
-
-/**
- * ================================================
- * 作 者:jint(金台)
- * 版 本:1.0
- * 创建日期:2020/12/9-17:00
- * 描 述:
- * 修订历史:
- * ================================================
- */
-object DoKitActivityOverrideManager {
- private val activityOverrideListener: MutableList by lazy {
- mutableListOf()
- }
-
- fun register(doKitActivityOverrideListeners: MutableList) {
- activityOverrideListener.clear()
- activityOverrideListener.addAll(doKitActivityOverrideListeners)
- }
-
- fun dispatch(activityOverrideEnum: DoKitActivityOverrideEnum, activity: Activity) {
- activityOverrideListener.forEach {
- when (activityOverrideEnum) {
- DoKitActivityOverrideEnum.onCreate -> it.onCreate(activity)
- DoKitActivityOverrideEnum.onStart -> it.onStart(activity)
- DoKitActivityOverrideEnum.onResume -> it.onResume(activity)
- DoKitActivityOverrideEnum.onPause -> it.onPause(activity)
- DoKitActivityOverrideEnum.onStop -> it.onStop(activity)
- DoKitActivityOverrideEnum.onDestroy -> it.onDestroy(activity)
- DoKitActivityOverrideEnum.finish -> it.finish(activity)
- DoKitActivityOverrideEnum.onConfigurationChanged -> it.onConfigurationChanged(
- activity
- )
- DoKitActivityOverrideEnum.onBackPressed -> it.onBackPressed(activity)
- DoKitActivityOverrideEnum.dispatchTouchEvent -> it.dispatchTouchEvent(activity)
- DoKitActivityOverrideEnum.onBackground -> it.onBackground()
- DoKitActivityOverrideEnum.onForeground -> it.onForeground(activity::class.java.canonicalName!!)
- else -> it.other(activity)
-
- }
- }
- }
-}
\ No newline at end of file
diff --git a/Android/java/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/core/DoKitServiceAbs.kt b/Android/java/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/core/DoKitServiceAbs.kt
new file mode 100644
index 0000000000000000000000000000000000000000..56f4905b1e88607a2174d06f7e6de6601c2feda1
--- /dev/null
+++ b/Android/java/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/core/DoKitServiceAbs.kt
@@ -0,0 +1,43 @@
+package com.didichuxing.doraemonkit.kit.core
+
+import android.app.Activity
+
+/**
+ * ================================================
+ * 作 者:jint(金台)
+ * 版 本:1.0
+ * 创建日期:2020/12/9-17:00
+ * 描 述:
+ * 修订历史:
+ * ================================================
+ */
+abstract class DoKitServiceAbs : DoKitServiceInterface {
+ /**
+ * 生命周期
+ */
+ override fun onCreate(activity: Activity) {}
+ override fun onStart(activity: Activity) {}
+ override fun onResume(activity: Activity) {}
+ override fun onPause(activity: Activity) {}
+ override fun onStop(activity: Activity) {}
+ override fun onDestroy(activity: Activity) {}
+ override fun finish(activity: Activity) {}
+
+ /**
+ * 页面事件
+ */
+ override fun onConfigurationChanged(activity: Activity) {}
+ override fun onBackPressed(activity: Activity) {}
+ override fun dispatchTouchEvent(activity: Activity) {}
+ override fun other(activity: Activity) {}
+
+ /**
+ * app 切换到前台
+ */
+ override fun onForeground(className: String) {}
+
+ /**
+ * app 切换到后台
+ */
+ override fun onBackground() {}
+}
\ No newline at end of file
diff --git a/Android/java/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/core/DoKitActivityOverrideEnum.kt b/Android/java/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/core/DoKitServiceEnum.kt
similarity index 94%
rename from Android/java/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/core/DoKitActivityOverrideEnum.kt
rename to Android/java/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/core/DoKitServiceEnum.kt
index 506c7ced0d14e8cbc8d0fb1ae46dd0ea145c7ba7..d8b47922d6ef55837b43a01582438192788c8e58 100644
--- a/Android/java/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/core/DoKitActivityOverrideEnum.kt
+++ b/Android/java/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/core/DoKitServiceEnum.kt
@@ -9,7 +9,7 @@ package com.didichuxing.doraemonkit.kit.core
* 修订历史:
* ================================================
*/
-enum class DoKitActivityOverrideEnum {
+enum class DoKitServiceEnum {
/**
* 页面生命周期
*/
diff --git a/Android/java/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/core/DoKitActivityOverrideListener.kt b/Android/java/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/core/DoKitServiceInterface.kt
similarity index 95%
rename from Android/java/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/core/DoKitActivityOverrideListener.kt
rename to Android/java/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/core/DoKitServiceInterface.kt
index f448feb0001a1edbed5d2b8a8b95eb51ac8cf51c..6eb11f507059abef9acee590b031663d004219cf 100644
--- a/Android/java/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/core/DoKitActivityOverrideListener.kt
+++ b/Android/java/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/core/DoKitServiceInterface.kt
@@ -11,7 +11,7 @@ import android.app.Activity
* 修订历史:
* ================================================
*/
-interface DoKitActivityOverrideListener {
+interface DoKitServiceInterface {
/**
* 生命周期
*/
diff --git a/Android/java/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/core/DoKitServiceManager.kt b/Android/java/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/core/DoKitServiceManager.kt
new file mode 100644
index 0000000000000000000000000000000000000000..bd5daab4b7a41046786b94670e322e61f5dc6d6e
--- /dev/null
+++ b/Android/java/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/core/DoKitServiceManager.kt
@@ -0,0 +1,46 @@
+package com.didichuxing.doraemonkit.kit.core
+
+import android.app.Activity
+
+/**
+ * ================================================
+ * 作 者:jint(金台)
+ * 版 本:1.0
+ * 创建日期:2020/12/9-17:00
+ * 描 述:
+ * 修订历史:
+ * ================================================
+ */
+object DoKitServiceManager {
+ private var mDokitServices: List? = null
+
+ fun register(dokitServices: List) {
+ mDokitServices = dokitServices
+ }
+
+ fun dispatch(activityOverrideEnum: DoKitServiceEnum, activity: Activity) {
+ if (mDokitServices == null) {
+ return
+ }
+ mDokitServices?.forEach {
+ when (activityOverrideEnum) {
+ DoKitServiceEnum.onCreate -> it.onCreate(activity)
+ DoKitServiceEnum.onStart -> it.onStart(activity)
+ DoKitServiceEnum.onResume -> it.onResume(activity)
+ DoKitServiceEnum.onPause -> it.onPause(activity)
+ DoKitServiceEnum.onStop -> it.onStop(activity)
+ DoKitServiceEnum.onDestroy -> it.onDestroy(activity)
+ DoKitServiceEnum.finish -> it.finish(activity)
+ DoKitServiceEnum.onConfigurationChanged -> it.onConfigurationChanged(
+ activity
+ )
+ DoKitServiceEnum.onBackPressed -> it.onBackPressed(activity)
+ DoKitServiceEnum.dispatchTouchEvent -> it.dispatchTouchEvent(activity)
+ DoKitServiceEnum.onBackground -> it.onBackground()
+ DoKitServiceEnum.onForeground -> it.onForeground(activity::class.java.canonicalName!!)
+ else -> it.other(activity)
+
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Android/java/doraemonkit/src/main/java/com/didichuxing/doraemonkit/util/LogHelper.java b/Android/java/doraemonkit/src/main/java/com/didichuxing/doraemonkit/util/LogHelper.java
index c28ecd5a42f84fdcd2eb9dd187a88b5c0e622cdf..f1198b6bab2f39c8f8663276cf10bd42bf5c6cce 100644
--- a/Android/java/doraemonkit/src/main/java/com/didichuxing/doraemonkit/util/LogHelper.java
+++ b/Android/java/doraemonkit/src/main/java/com/didichuxing/doraemonkit/util/LogHelper.java
@@ -1,7 +1,5 @@
package com.didichuxing.doraemonkit.util;
-import com.didichuxing.doraemonkit.util.LogUtils;
-
/**
* Created by wanglikun on 2018/9/10.
*/
diff --git a/Android/java/settings.gradle b/Android/java/settings.gradle
index bebb29b88a64fa39cf6d67e7dff7c72ae358fe9c..42e8089c2efcb551330d54d7894daedaa776002d 100644
--- a/Android/java/settings.gradle
+++ b/Android/java/settings.gradle
@@ -1,8 +1,9 @@
include ':app'
+include ':doraemonkit-util'
+include ':doraemonkit-comm'
include ':doraemonkit'
include ':doraemonkit-mc'
include ':doraemonkit-plugin'
-include ':doraemonkit-util'
include ':doraemonkit-no-op'
include ':doraemonkit-okhttp-v3'
include ':doraemonkit-okhttp-v4'