3 Commits

Author SHA1 Message Date
Adnan Begovic
5c99ccb5b1 launcher3: Expose coroutine contexts from concurrency module.
UiContext, LightweightContext, ThreadPoolContext, and BackgroundContext are provided from the provided implementations.

This is for convenience usage at call sites to quickly create a coroutine scope matched to a particular context.

Bug: 407593767
Test: N/A
Flag: NONE - new module
Change-Id: Id4127db3586e903d83605bac8fd61e33c9a29db5
2025-04-15 09:05:32 -07:00
Adnan Begovic
3b0dd96093 launcher3: Implement ExecutorsModule
Implement the ExecutorsModule interface
to provide the necessary dependencies needed
for having injectable executors.

Bug: 407593767
Test: N/A
Flag: NONE - new module
Change-Id: I4a53fc6be31664b7a6fa907761ea93a2d0377f08
2025-04-14 09:16:57 -07:00
Adnan Begovic
01d3f6f210 launcher3: Introduce executors modules.
The following change contains three parts:

1. Qualifiers for executor types.
2. A mapping of any provided-for-those-qualifier-types to
executors, executor services, or scheduled executor servies.
3. The exposure of the existing dagger qualifiers as a specific build target.

With this change, any host(launcher) can provide bindings for
these annotations stipulating whatever pool or thread allocations
as they see fit, while any dependent modules that want to isolate
their code from launcher can build against the qualifiers library
to ensure that they receive the right kind of executor at injection.

Bug: 407593767
Test: N/A
Flag: NONE - new module
Change-Id: I7e6ba623c7f85ec11bb86d1d3a66486f68efe7f6
2025-04-14 09:16:48 -07:00