Move some package on core + try some stuff around sync/roomlist

This commit is contained in:
ganfra 2022-11-10 12:39:37 +01:00
parent 6cf010db44
commit 1ec8b3a994
18 changed files with 106 additions and 43 deletions

View file

@ -1,4 +1,4 @@
package io.element.android.x.core.data
package io.element.android.x.core.compose
import android.util.Log
import androidx.compose.runtime.Composable

View file

@ -0,0 +1,27 @@
package io.element.android.x.core.compose
import androidx.compose.runtime.Composable
import androidx.compose.runtime.DisposableEffect
import androidx.compose.runtime.rememberUpdatedState
import androidx.compose.ui.platform.LocalLifecycleOwner
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.LifecycleEventObserver
import androidx.lifecycle.LifecycleOwner
@Composable
fun OnLifecycleEvent(onEvent: (owner: LifecycleOwner, event: Lifecycle.Event) -> Unit) {
val eventHandler = rememberUpdatedState(onEvent)
val lifecycleOwner = rememberUpdatedState(LocalLifecycleOwner.current)
DisposableEffect(lifecycleOwner.value) {
val lifecycle = lifecycleOwner.value.lifecycle
val observer = LifecycleEventObserver { owner, event ->
eventHandler.value(owner, event)
}
lifecycle.addObserver(observer)
onDispose {
lifecycle.removeObserver(observer)
}
}
}

View file

@ -1,4 +1,4 @@
package io.element.android.x.core.data
package io.element.android.x.core.coroutine
import kotlinx.coroutines.CoroutineDispatcher