Michal Klimczak
12/03/2024, 7:32 AMclass MyDataStore(context: Context)
) / class MyDataStore
?
1. Create a separate module for each platform and use separate constructors. A lot of boilerplate.
2. Use nullable context and provide null on ios. Not pretty.
3. Provide koin's androidContext()
directly in the constructor like MyDataStore(context = androidContext())
. Not even sure if it's possible tbh.
4. Anything else?Dusan Stefanovic
12/03/2024, 10:04 AM// common code
expect class UiContext
@Composable
expect fun uiContext(): UiContext
//android code
actual typealias UiContext = Activity // or Context
@Composable
actual fun uiContext(): UiContext = requireActivity()
// ios code
actual typealias UiContext = UIViewController
@Composable
actual fun uiContext(): UiContext = LocalUIViewController.current