package Ġcom . bw aim . theme Ċ Ċ import Ġcom . bw aim . coroutines . IO Dispatcher Ċ import Ġkotlinx . coroutines . Coroutine Dispatcher Ċ import Ġkotlinx . coroutines . flow . Flow Ċ import Ġkotlinx . coroutines . flow . flow On Ċ import Ġkotlinx . coroutines . with Context Ċ import Ġjavax . inject . Inject Ċ Ċ public Ġclass ĠTheme Service Ġ@ Inject Ġinternal Ġconstructor ( ĊĠĠĠ Ġ@ IO Dispatcher Ġprivate Ġval Ġio Dispatcher : ĠCor outine Dispatcher , ĊĠĠĠ Ġprivate Ġval Ġtheme Repository : ĠTheme Repository Ċ ) Ġ{ ĊĠĠĠ Ġpublic Ġfun Ġobserve Theme (): ĠFlow < Theme > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtheme Repository ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe Theme () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. flow On ( io Dispatcher ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġpublic Ġsuspend Ġfun Ġset Theme ( theme : ĠTheme ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwith Context ( io Dispatcher ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtheme Repository . set Theme ( theme ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ