top of page
droidcon+icon.png

20 NOVEMBER 2026

BANGALORE

DroidCon_icon_rotatet.png
Anita_Singh_edited.jpg

( SPEAKER )

Vikas Kumar Jha

Lead Android Engineer

IG group

I am a Lean Android engineer with 11 years of experience building IG Group's multi-region trading app, working across UK, EU, and APAC regulatory markets. I focus on Android architecture, Jetpack Compose, and Kotlin coroutines at production scale.

Session

CompositionLocal Is Not Just Theming: Scoping Your DI Graph to the Compose Tree

Most Compose talks treat CompositionLocal as a theming mechanism — colors, typography, and not much else. It's also a legitimate way to scope your dependency graph to a Composable subtree instead of a lifecycle owner, and this talk shows a real, production implementation of that idea using Dagger's subcomponents (CompositionLocalProvider(LocalDealingComponent provides component) { content() }). Whether you use Dagger, Hilt, or Koin, the underlying question is the same: what happens to your DI scope's lifetime when it's tied to a Composable instead of an Activity or Fragment? This talk covers why we made that trade-off, what it buys you (feature-scoped graphs that die with the UI tree, not the Activity), where it gets risky (scope-lifetime confusion, misuse for graphs that should stay static), and a second pattern built on the same primitive: swapping in fake composables for UI testing with zero production code changes.
bottom of page