Skip to content

Commit 6764b34

Browse files
committed
Add DummyService
1 parent 533f04c commit 6764b34

File tree

7 files changed

+103
-0
lines changed

7 files changed

+103
-0
lines changed

dummy_service/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/build

dummy_service/build.gradle

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
plugins {
2+
id 'com.android.library'
3+
id 'kotlin-android'
4+
id 'kotlin-android-extensions'
5+
id 'kotlin-kapt'
6+
}
7+
8+
apply from: '../core_dependencies.gradle'
9+
apply from: '../test_dependencies.gradle'
10+
11+
12+
android {
13+
compileSdkVersion 29
14+
buildToolsVersion "29.0.3"
15+
16+
defaultConfig {
17+
minSdkVersion 23
18+
targetSdkVersion 29
19+
versionCode 1
20+
versionName "1.0"
21+
22+
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
23+
}
24+
25+
buildTypes {
26+
release {
27+
minifyEnabled false
28+
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
29+
}
30+
}
31+
}
32+
33+
dependencies {
34+
implementation project(":core")
35+
36+
kapt 'com.google.dagger:dagger-compiler:2.27'
37+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
2+
package="cz.skywal.mutimoduleexmaple.dummy_service">
3+
4+
<application>
5+
<service android:name=".DummyService" />
6+
</application>
7+
</manifest>
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package cz.skywal.mutimoduleexmaple.dummy_service
2+
3+
import android.app.Application
4+
import android.app.Service
5+
import android.content.Intent
6+
import android.os.IBinder
7+
import android.util.Log
8+
import cz.skywal.mutimoduleexmaple.dummy_service.injection.DaggerDummyServiceComponent
9+
import cz.skywall.multimoduleexample.core.injection.CoreComponentHolder
10+
11+
class DummyService : Service() {
12+
13+
override fun onCreate() {
14+
super.onCreate()
15+
DaggerDummyServiceComponent
16+
.factory()
17+
.create(CoreComponentHolder.getInstance(applicationContext as Application))
18+
.inject(this)
19+
20+
Log.d("DummyService", "I'm alive")
21+
}
22+
23+
override fun onBind(intent: Intent?): IBinder? {
24+
return null
25+
}
26+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package cz.skywal.mutimoduleexmaple.dummy_service.injection
2+
3+
import cz.skywal.mutimoduleexmaple.dummy_service.DummyService
4+
import cz.skywall.multimoduleexample.core.injection.CoreComponent
5+
import dagger.Component
6+
7+
@DummyServiceScope
8+
@Component(
9+
dependencies = [
10+
CoreComponent::class
11+
]
12+
)
13+
interface DummyServiceComponent {
14+
15+
@Component.Factory
16+
interface Factory {
17+
fun create(coreComponent: CoreComponent): DummyServiceComponent
18+
}
19+
20+
fun inject(service: DummyService)
21+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package cz.skywal.mutimoduleexmaple.dummy_service.injection
2+
3+
import javax.inject.Scope
4+
5+
@Scope
6+
@Retention(AnnotationRetention.RUNTIME)
7+
annotation class DummyServiceScope

home/src/main/java/cz/skywall/multimoduleexample/home/ui/home/HomeFragment.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
package cz.skywall.multimoduleexample.home.ui.home
22

3+
import android.content.Intent
34
import android.content.SharedPreferences
45
import android.os.Bundle
56
import android.view.LayoutInflater
67
import android.view.View
78
import android.view.ViewGroup
89
import android.widget.TextView
10+
import cz.skywal.mutimoduleexmaple.dummy_service.DummyService
911
import cz.skywall.multimoduleexample.home.base.BaseFragment
1012
import cz.skywall.multimoduleexample.home.data.repository.DummyRepository
1113
import cz.skywall.multimoduleexample.home.data.repository.DummyRepository2
@@ -37,6 +39,8 @@ class HomeFragment : BaseFragment() {
3739

3840
override fun inject() {
3941
homeComponent.plus(HomeFragmentModule()).inject(this)
42+
43+
requireActivity().startService(Intent(requireActivity(), DummyService::class.java))
4044
}
4145

4246
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {

0 commit comments

Comments
 (0)