Skip to content

Commit 9bf19d1

Browse files
committed
Use CommandKU
1 parent 2ce6262 commit 9bf19d1

File tree

25 files changed

+85
-651
lines changed

25 files changed

+85
-651
lines changed

app/src/main/java/com/hadilq/guidomia/CustomApplication.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@
1616
package com.hadilq.guidomia
1717

1818
import android.app.Application
19+
import com.github.hadilq.commandku.api.CommandHook
20+
import com.github.hadilq.commandku.api.CommandRegister
1921
import com.hadilq.guidomia.di.AppComponent
2022
import com.hadilq.guidomia.di.DaggerAppComponent
2123
import com.hadilq.guidomia.di.api.AppScope
2224
import com.hadilq.guidomia.di.api.SingleIn
23-
import com.hadilq.guidomia.featureflags.api.CommandHook
24-
import com.hadilq.guidomia.featureflags.api.CommandRegister
2525
import com.hadilq.guidomia.singleactivity.impl.di.SingleActivityComponent
2626
import com.hadilq.guidomia.singleactivity.impl.di.SingleActivityComponentProvider
2727
import javax.inject.Inject

app/src/main/java/com/hadilq/guidomia/di/AppModule.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@
1616
package com.hadilq.guidomia.di
1717

1818
import android.content.Context
19+
import com.github.hadilq.commandku.api.CommandHook
20+
import com.github.hadilq.commandku.api.CommandRegister
1921
import com.hadilq.guidomia.CustomApplication
2022
import com.hadilq.guidomia.di.api.AppScope
21-
import com.hadilq.guidomia.featureflags.api.CommandHook
22-
import com.hadilq.guidomia.featureflags.api.CommandRegister
2323
import com.squareup.anvil.annotations.ContributesMultibinding
2424
import dagger.Binds
2525
import dagger.Module

build.gradle.kts

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,4 @@ allprojects {
3030
google()
3131
mavenCentral()
3232
}
33-
}
33+
}

buildSrc/src/main/kotlin/Depends.kt

+2
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ object Depends {
3333
const val roomRuntime = "androidx.room:room-runtime:${Versions.room}"
3434
const val roomCompiler = "androidx.room:room-compiler:${Versions.room}"
3535
const val roomKtx = "androidx.room:room-ktx:${Versions.room}"
36+
const val commandKuApi = "com.github.hadilq:command-ku-api:${Versions.commandKu}"
37+
const val commandKuImpl = "com.github.hadilq:command-ku-impl:${Versions.commandKu}"
3638

3739
const val junit = "junit:junit:${Versions.junit}"
3840
const val junitJupiterApi = "org.junit.jupiter:junit-jupiter-api:${Versions.junitJupiter}"

buildSrc/src/main/kotlin/Versions.kt

+1
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ object Versions {
3333
const val serialization = "1.4.30"
3434
const val jsonSerialization = "1.1.0"
3535
const val room = "2.2.6"
36+
const val commandKu = "0.0.1.1623900535009-SNAPSHOT"
3637

3738
const val junit = "4.13.2"
3839
const val junitJupiter = "5.7.1"

database/impl/src/main/java/com/hadilq/guidomia/database/impl/CarDataEntityCommandHook.kt

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package com.hadilq.guidomia.database.impl
22

3+
import com.github.hadilq.commandku.api.*
34
import com.hadilq.guidomia.database.api.GetCarEntityCommand
45
import com.hadilq.guidomia.database.api.GetCarEntityCommandResult
56
import com.hadilq.guidomia.di.api.AppScope
6-
import com.hadilq.guidomia.featureflags.api.*
77
import com.squareup.anvil.annotations.ContributesMultibinding
88
import javax.inject.Inject
99

@@ -15,8 +15,8 @@ class CarDataEntityCommandHook @Inject constructor(
1515

1616
override fun hookUp(commandRegister: CommandRegister) {
1717
commandRegister.register(GetCarEntityCommand::class,
18-
CommandCallbackImpl(commandShooter, GetCarEntityCommandResult::class) {
19-
Available(GetCarEntityCommandResult(carDataEntityCommand))
18+
CommandCallbackImpl(commandShooter) {
19+
GetCarEntityCommandResult(carDataEntityCommand)
2020
})
2121
}
2222
}

database/public/src/main/java/com/hadilq/guidomia/database/api/GetCarEntityCommand.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.hadilq.guidomia.database.api
22

3-
import com.hadilq.guidomia.featureflags.api.Command
3+
import com.github.hadilq.commandku.api.Command
44

55
class GetCarEntityCommand : Command
66

feature-flags/impl/build.gradle.kts

+1-9
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,6 @@ plugins {
1919
id("com.squareup.anvil") version Versions.anvil
2020
}
2121

22-
tasks.test {
23-
useJUnitPlatform()
24-
}
25-
2622
anvil {
2723
generateDaggerFactories = true
2824
}
@@ -31,12 +27,8 @@ dependencies {
3127
implementation(project(Modules.featureFlagsPublic))
3228
implementation(project(Modules.diPublic))
3329

30+
api(Depends.commandKuImpl)
3431
implementation(Depends.dagger)
3532
implementation(Depends.kotlinStdLib)
3633
implementation(Depends.coroutines)
37-
38-
testImplementation(Depends.kotlinTest)
39-
testImplementation(Depends.junitJupiterApi)
40-
testRuntimeOnly(Depends.junitJupiterEngine)
41-
testImplementation(Depends.mockk)
4234
}

feature-flags/impl/src/main/java/com/hadilq/guidomia/featureflags/impl/CommandExecutorImpl.kt

-65
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
/**
2+
* Copyright 2021 Hadi Lashkari Ghouchani
3+
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
package com.hadilq.guidomia.featureflags.impl
17+
18+
import com.github.hadilq.commandku.api.*
19+
import com.github.hadilq.commandku.impl.CommandExecutorImpl
20+
import com.github.hadilq.commandku.impl.CommandKU
21+
import com.hadilq.guidomia.di.api.AppScope
22+
import com.hadilq.guidomia.di.api.SingleIn
23+
import com.squareup.anvil.annotations.ContributesTo
24+
import dagger.Binds
25+
import dagger.Module
26+
import dagger.Provides
27+
28+
29+
@ContributesTo(AppScope::class)
30+
@Module
31+
abstract class CommandKuModule {
32+
33+
@Binds
34+
abstract fun commandRegister(commandKU: CommandKU): CommandRegister
35+
36+
@Binds
37+
abstract fun commandResultRegister(commandKU: CommandKU): CommandResultRegister
38+
39+
@Binds
40+
abstract fun commandShooter(commandKU: CommandKU): CommandShooter
41+
42+
@Binds
43+
abstract fun commandResultShooter(commandKU: CommandKU): CommandResultShooter
44+
45+
@Binds
46+
abstract fun commandExecutor(commandExecutorImpl: CommandExecutorImpl): CommandExecutor
47+
48+
companion object {
49+
@Provides
50+
@SingleIn(AppScope::class)
51+
fun commandKU(): CommandKU = CommandKU()
52+
53+
@Provides
54+
@SingleIn(AppScope::class)
55+
fun commandExecutorImpl(
56+
commandShooter: CommandShooter,
57+
commandResultRegister: CommandResultRegister,
58+
): CommandExecutorImpl = CommandExecutorImpl(commandShooter, commandResultRegister)
59+
}
60+
}

feature-flags/impl/src/main/java/com/hadilq/guidomia/featureflags/impl/CommandRegisterImpl.kt

-151
This file was deleted.

0 commit comments

Comments
 (0)