Skip to content

Commit b85557d

Browse files
committed
完善库
1 parent 5311964 commit b85557d

15 files changed

Lines changed: 40 additions & 126 deletions

File tree

app/src/main/java/com/flyjingfish/modulecommunication/MainActivity.kt

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,8 @@ import android.content.Intent
44
import android.os.Bundle
55
import androidx.activity.ComponentActivity
66
import com.flyjingfish.login.LoginActivity
7-
import com.flyjingfish.login.LoginHelper
8-
import com.flyjingfish.login.LoginHelperImpl
9-
import com.flyjingfish.module_communication_core.BeanUtils
107
import com.flyjingfish.modulecommunication.databinding.ActivityMainBinding
118
import com.flyjingfish.user.UserActivity
12-
import com.flyjingfish.user.UserHelper
13-
import com.flyjingfish.user.UserHelperImpl
149

1510
class MainActivity : ComponentActivity() {
1611
private lateinit var binding : ActivityMainBinding

base-lib/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,6 @@ dependencies {
3030
testImplementation(libs.junit)
3131
androidTestImplementation(libs.androidx.test.ext.junit)
3232
androidTestImplementation(libs.espresso.core)
33-
api(project(":module-communication-core"))
33+
api(project(":module-communication-annotation"))
3434

3535
}

lib-login/build.gradle.kts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
plugins {
22
id("com.android.library")
33
id("org.jetbrains.kotlin.android")
4-
id("com.google.devtools.ksp")
4+
// id("com.google.devtools.ksp")
55
id("communication.export")
66
}
77

@@ -37,7 +37,7 @@ dependencies {
3737
androidTestImplementation(libs.espresso.core)
3838

3939
implementation(project(":base-lib"))
40-
implementation(project(":module-communication-annotation"))
4140
compileOnly(project(":communication2"))
42-
ksp(project(":module-communication-ksp"))
41+
// implementation(project(":module-communication-annotation"))
42+
// ksp(project(":module-communication-ksp"))
4343
}

lib-login/src/main/java/com/flyjingfish/login/LoginActivity.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package com.flyjingfish.login
33
import android.os.Bundle
44
import android.util.Log
55
import androidx.appcompat.app.AppCompatActivity
6-
import com.flyjingfish.module_communication_core.BeanUtils
6+
import com.flyjingfish.module_communication_annotation.BeanUtils
77
import com.flyjingfish.user.UserHelper
88

99
class LoginActivity: AppCompatActivity() {

lib-user/build.gradle.kts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
plugins {
22
id("com.android.library")
33
id("org.jetbrains.kotlin.android")
4-
id("com.google.devtools.ksp")
4+
// id("com.google.devtools.ksp")
55
id("communication.export")
66
}
77
communicationConfig{
@@ -34,7 +34,7 @@ dependencies {
3434
androidTestImplementation(libs.androidx.test.ext.junit)
3535
androidTestImplementation(libs.espresso.core)
3636
implementation(project(":base-lib"))
37-
implementation(project(":module-communication-annotation"))
3837
compileOnly(project(":communication"))
39-
ksp(project(":module-communication-ksp"))
38+
// implementation(project(":module-communication-annotation"))
39+
// ksp(project(":module-communication-ksp"))
4040
}

lib-user/src/main/java/com/flyjingfish/user/UserActivity.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import android.os.Bundle
44
import android.util.Log
55
import androidx.appcompat.app.AppCompatActivity
66
import com.flyjingfish.login.LoginHelper
7-
import com.flyjingfish.module_communication_core.BeanUtils
7+
import com.flyjingfish.module_communication_annotation.BeanUtils
88

99
class UserActivity : AppCompatActivity() {
1010
override fun onCreate(savedInstanceState: Bundle?) {
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package com.flyjingfish.module_communication_annotation
2+
3+
object BeanUtils {
4+
private val singleBean = mutableMapOf<Class<out Any>,Any>()
5+
6+
fun <T> getNewInstance(key:Class<out Any>):T{
7+
val clazzName = CommunicationPackage.BIND_CLASS_PACKAGE + "." + key.simpleName +"\$\$BindClass"
8+
val clazz = try {
9+
Class.forName(clazzName) as Class<out Any>
10+
} catch (e: ClassNotFoundException) {
11+
throw RuntimeException("没有找到 ${key.name} 的实现类")
12+
}
13+
val bindClass = clazz.getDeclaredConstructor()?.newInstance() as BindClass<*>
14+
val instance = bindClass.getImplementClassInstance()
15+
return instance as T
16+
}
17+
18+
fun <T> getSingleInstance(key:Class<out Any>):T{
19+
var instance = singleBean[key]
20+
if (instance == null){
21+
instance = getNewInstance(key)
22+
singleBean[key] = instance as Any
23+
}
24+
return instance as T
25+
}
26+
27+
}

module-communication-core/.gitignore

Lines changed: 0 additions & 1 deletion
This file was deleted.

module-communication-core/build.gradle.kts

Lines changed: 0 additions & 34 deletions
This file was deleted.

module-communication-core/gradle.properties

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)