Skip to content

Commit b13516b

Browse files
committed
Merge branch 'feature/workmanager'
2 parents f704156 + 39f624f commit b13516b

File tree

4 files changed

+22
-1
lines changed

4 files changed

+22
-1
lines changed

DependencyProperty/build.gradle

+1
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,5 @@ android {
1313
dependencies {
1414
compileOnly "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
1515
compileOnly "androidx.fragment:fragment-ktx:1.2.5"
16+
compileOnly "androidx.work:work-runtime:2.4.0"
1617
}

DependencyProperty/src/main/java/com/wada811/dependencyproperty/DependencyModule.kt

+7
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import android.content.Context
88
import androidx.fragment.app.Fragment
99
import androidx.fragment.app.FragmentActivity
1010
import androidx.lifecycle.AndroidViewModel
11+
import androidx.work.ListenableWorker
1112

1213
/**
1314
* DependencyModule is maker interface.
@@ -52,3 +53,9 @@ fun <T : DependencyModule> Context.dependencyModule(clazz: Class<T>): T = depend
5253

5354
@Suppress("DEPRECATION")
5455
inline fun <reified T : DependencyModule> Context.dependencyModule(): T = dependencyModule(T::class.java)
56+
57+
@Deprecated("Use dependencyModule<T>()", ReplaceWith("this.dependencyModule<T>()"), DeprecationLevel.WARNING)
58+
fun <T : DependencyModule> ListenableWorker.dependencyModule(clazz: Class<T>): T = dependencyModules.findModule(clazz)
59+
60+
@Suppress("DEPRECATION")
61+
inline fun <reified T : DependencyModule> ListenableWorker.dependencyModule(): T = dependencyModule(T::class.java)

DependencyProperty/src/main/java/com/wada811/dependencyproperty/DependencyModules.kt

+2
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import android.content.Context
88
import androidx.fragment.app.Fragment
99
import androidx.fragment.app.FragmentActivity
1010
import androidx.lifecycle.AndroidViewModel
11+
import androidx.work.ListenableWorker
1112

1213
/**
1314
* DependencyModules is DependencyModule holder.
@@ -48,3 +49,4 @@ val Fragment.dependencyModules: DependencyModules get() = requireActivity().appl
4849
val AndroidViewModel.dependencyModules: DependencyModules get() = getApplication<Application>().dependencyModules
4950
val Service.dependencyModules: DependencyModules get() = application.dependencyModules
5051
val Context.dependencyModules: DependencyModules get() = (applicationContext as Application).dependencyModules
52+
val ListenableWorker.dependencyModules: DependencyModules get() = (applicationContext as Application).dependencyModules

DependencyProperty/src/main/java/com/wada811/dependencyproperty/DependencyProperty.kt

+12-1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import android.content.Context
88
import androidx.fragment.app.Fragment
99
import androidx.fragment.app.FragmentActivity
1010
import androidx.lifecycle.AndroidViewModel
11+
import androidx.work.ListenableWorker
1112

1213
@Suppress("DEPRECATION")
1314
@Deprecated("Use dependency<T, R>(resolve)", ReplaceWith("this.dependency<T, R>(resolve)"), DeprecationLevel.WARNING)
@@ -64,7 +65,6 @@ inline fun <reified T : DependencyModule, R> Service.dependency(noinline resolve
6465
return dependency(T::class.java, resolve)
6566
}
6667

67-
6868
@Suppress("DEPRECATION")
6969
@Deprecated("Use dependency<T, R>(resolve)", ReplaceWith("this.dependency<T, R>(resolve)"), DeprecationLevel.WARNING)
7070
fun <T : DependencyModule, R> Context.dependency(clazz: Class<T>, resolve: T.() -> R): Lazy<R> {
@@ -75,3 +75,14 @@ fun <T : DependencyModule, R> Context.dependency(clazz: Class<T>, resolve: T.()
7575
inline fun <reified T : DependencyModule, R> Context.dependency(noinline resolve: (T) -> R): Lazy<R> {
7676
return dependency(T::class.java, resolve)
7777
}
78+
79+
@Suppress("DEPRECATION")
80+
@Deprecated("Use dependency<T, R>(resolve)", ReplaceWith("this.dependency<T, R>(resolve)"), DeprecationLevel.WARNING)
81+
fun <T : DependencyModule, R> ListenableWorker.dependency(clazz: Class<T>, resolve: T.() -> R): Lazy<R> {
82+
return lazy { dependencyModule(clazz).resolve() }
83+
}
84+
85+
@Suppress("DEPRECATION")
86+
inline fun <reified T : DependencyModule, R> ListenableWorker.dependency(noinline resolve: (T) -> R): Lazy<R> {
87+
return dependency(T::class.java, resolve)
88+
}

0 commit comments

Comments
 (0)