Realm-kotlin: makes timelineScope child of sessionScope
This commit is contained in:
parent
e6f911a64b
commit
ca4ed5c822
@ -61,6 +61,7 @@ internal class DefaultTimeline(
|
||||
private val settings: TimelineSettings,
|
||||
private val coroutineDispatchers: MatrixCoroutineDispatchers,
|
||||
private val clock: Clock,
|
||||
sessionCoroutineScope: CoroutineScope,
|
||||
stateEventDataSource: StateEventDataSource,
|
||||
paginationTask: PaginationTask,
|
||||
getEventTask: GetContextOfEventTask,
|
||||
@ -85,7 +86,7 @@ internal class DefaultTimeline(
|
||||
private val backwardState = AtomicReference(Timeline.PaginationState())
|
||||
|
||||
private val timelineDispatcher = BACKGROUND_HANDLER.asCoroutineDispatcher()
|
||||
private val timelineScope = CoroutineScope(SupervisorJob() + timelineDispatcher)
|
||||
private val timelineScope = CoroutineScope(sessionCoroutineScope.coroutineContext + SupervisorJob() + timelineDispatcher)
|
||||
private val sequencer = SemaphoreCoroutineSequencer()
|
||||
private val postSnapshotSignalFlow = MutableSharedFlow<Unit>(0)
|
||||
|
||||
|
@ -20,6 +20,7 @@ import androidx.lifecycle.LiveData
|
||||
import dagger.assisted.Assisted
|
||||
import dagger.assisted.AssistedFactory
|
||||
import dagger.assisted.AssistedInject
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import org.matrix.android.sdk.api.MatrixCoroutineDispatchers
|
||||
import org.matrix.android.sdk.api.session.room.timeline.Timeline
|
||||
import org.matrix.android.sdk.api.session.room.timeline.TimelineEvent
|
||||
@ -29,6 +30,7 @@ import org.matrix.android.sdk.api.settings.LightweightSettingsStorage
|
||||
import org.matrix.android.sdk.api.util.Optional
|
||||
import org.matrix.android.sdk.internal.database.RealmInstance
|
||||
import org.matrix.android.sdk.internal.database.mapper.TimelineEventMapper
|
||||
import org.matrix.android.sdk.internal.di.SessionCoroutineScope
|
||||
import org.matrix.android.sdk.internal.di.SessionDatabase
|
||||
import org.matrix.android.sdk.internal.session.room.membership.LoadRoomMembersTask
|
||||
import org.matrix.android.sdk.internal.session.room.relation.threads.FetchThreadTimelineTask
|
||||
@ -40,6 +42,7 @@ import org.matrix.android.sdk.internal.util.time.Clock
|
||||
internal class DefaultTimelineService @AssistedInject constructor(
|
||||
@Assisted private val roomId: String,
|
||||
@SessionDatabase private val realmInstance: RealmInstance,
|
||||
@SessionCoroutineScope private val sessionCoroutineScope: CoroutineScope,
|
||||
private val timelineInput: TimelineInput,
|
||||
private val contextOfEventTask: GetContextOfEventTask,
|
||||
private val eventDecryptor: TimelineEventDecryptor,
|
||||
@ -68,6 +71,7 @@ internal class DefaultTimelineService @AssistedInject constructor(
|
||||
initialEventId = eventId,
|
||||
settings = settings,
|
||||
realmInstance = realmInstance,
|
||||
sessionCoroutineScope = sessionCoroutineScope,
|
||||
coroutineDispatchers = coroutineDispatchers,
|
||||
paginationTask = paginationTask,
|
||||
fetchTokenAndPaginateTask = fetchTokenAndPaginateTask,
|
||||
|
Loading…
x
Reference in New Issue
Block a user