Skip to content
This repository was archived by the owner on Sep 3, 2023. It is now read-only.

Commit 1b0ad91

Browse files
committed
Runtime dependencies should be passed up the chain
1 parent df37c0e commit 1b0ad91

File tree

3 files changed

+10
-3
lines changed

3 files changed

+10
-3
lines changed

processor/src/main/kotlin/com/afollestad/ulfberht/components/ComponentBuilder.kt

+5-1
Original file line numberDiff line numberDiff line change
@@ -264,8 +264,12 @@ internal class ComponentBuilder(
264264
if ($PARENT_NAME != null && $CALLED_BY === $PARENT_NAME) return null
265265
val runtimeProvider = $GET_RUNTIME_DEP_NAME<%T>($QUALIFIER)
266266
?.run { $FACTORY_EXTENSION_NAME { this } }
267-
return runtimeProvider ?: $PARENT_NAME?.$GET_PROVIDER_NAME($WANTED_TYPE, $GENERIC_ARGS, $QUALIFIER, $CALLED_BY)
267+
return runtimeProvider ?: $PARENT_NAME?.let {
268+
it.$RUNTIME_DEPS_NAME = $RUNTIME_DEPS_NAME
269+
it.$GET_PROVIDER_NAME<%T>($WANTED_TYPE, $GENERIC_ARGS, $QUALIFIER, $CALLED_BY)
270+
}
268271
""".trimIndent() + "\n",
272+
TYPE_VARIABLE_T,
269273
TYPE_VARIABLE_T
270274
)
271275
)

sample-android/build.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ android {
1010
}
1111

1212
defaultConfig {
13-
applicationId "com.afollestad.statemachinesample"
13+
applicationId "com.afollestad.ulfberhtsample"
1414
minSdkVersion versions.minSdk
1515
targetSdkVersion versions.compileSdk
1616
versionCode versions.publishVersionCode

sample-android/src/main/kotlin/com/afollestad/ulfberhtsample/main/MainActivity.kt

+4-1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import androidx.appcompat.app.AppCompatActivity
2222
import com.afollestad.ulfberht.annotation.Inject
2323
import com.afollestad.ulfberht.annotation.ScopeOwner
2424
import com.afollestad.ulfberht.component
25+
import com.afollestad.ulfberhtsample.ParamNames.APP_CONTEXT
2526
import com.afollestad.ulfberhtsample.ScopeNames.MAIN
2627
import com.afollestad.ulfberhtsample.api.Client
2728
import com.afollestad.ulfberhtsample.api.Session
@@ -35,7 +36,9 @@ class MainActivity : AppCompatActivity() {
3536

3637
override fun onCreate(savedInstanceState: Bundle?) {
3738
super.onCreate(savedInstanceState)
38-
component<MainComponent>().inject(this)
39+
component<MainComponent>(
40+
APP_CONTEXT to applicationContext
41+
).inject(this)
3942
// TODO use client
4043
}
4144

0 commit comments

Comments
 (0)