diff --git a/bindings/matrix-sdk-ffi/src/room_list.rs b/bindings/matrix-sdk-ffi/src/room_list.rs index d4ea7d7fe..9b3e6cfa0 100644 --- a/bindings/matrix-sdk-ffi/src/room_list.rs +++ b/bindings/matrix-sdk-ffi/src/room_list.rs @@ -5,8 +5,7 @@ use futures_util::{pin_mut, StreamExt}; use ruma::RoomId; use crate::{ - Client, EventTimelineItem, Room, RoomListEntry, RoomSubscription, TaskHandle, TimelineDiff, - TimelineItem, TimelineListener, RUNTIME, + Client, EventTimelineItem, Room, RoomListEntry, RoomSubscription, TaskHandle, RUNTIME, }; #[uniffi::export] @@ -214,31 +213,9 @@ impl RoomListItem { self.inner.unsubscribe(); } - async fn timeline(&self, listener: Box) -> RoomListItemTimelineResult { - let timeline = self.inner.timeline().await; - let (items, items_stream) = timeline.subscribe().await; - - RoomListItemTimelineResult { - items: items.into_iter().map(TimelineItem::from_arc).collect(), - items_stream: Arc::new(TaskHandle::new(RUNTIME.spawn(async move { - pin_mut!(items_stream); - - while let Some(diff) = items_stream.next().await { - listener.on_update(Arc::new(TimelineDiff::new(diff))) - } - }))), - } - } - fn latest_event(&self) -> Option> { RUNTIME.block_on(async { self.inner.latest_event().await.map(EventTimelineItem).map(Arc::new) }) } } - -#[derive(uniffi::Record)] -pub struct RoomListItemTimelineResult { - pub items: Vec>, - pub items_stream: Arc, -}