From 6aad2a661d37dcb87576ffaa87fe979f7ee20661 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20Commaille?= Date: Mon, 6 Feb 2023 13:39:45 +0100 Subject: [PATCH] refactor(sdk): Rename ProfileProvider to RoomDataProvider MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Kévin Commaille --- .../src/room/timeline/event_item.rs | 8 ++-- crates/matrix-sdk/src/room/timeline/inner.rs | 38 +++++++++---------- .../matrix-sdk/src/room/timeline/tests/mod.rs | 10 ++--- 3 files changed, 28 insertions(+), 28 deletions(-) diff --git a/crates/matrix-sdk/src/room/timeline/event_item.rs b/crates/matrix-sdk/src/room/timeline/event_item.rs index 24d36c195..b40f84993 100644 --- a/crates/matrix-sdk/src/room/timeline/event_item.rs +++ b/crates/matrix-sdk/src/room/timeline/event_item.rs @@ -52,7 +52,7 @@ use ruma::{ OwnedTransactionId, OwnedUserId, TransactionId, UserId, }; -use super::inner::ProfileProvider; +use super::inner::RoomDataProvider; use crate::{Error, Result}; /// An item in the timeline that represents at least one event. @@ -571,9 +571,9 @@ impl RepliedToEvent { &self.sender_profile } - pub(super) async fn try_from_timeline_event( + pub(super) async fn try_from_timeline_event( timeline_event: TimelineEvent, - profile_provider: &P, + room_data_provider: &P, ) -> Result { let event = match timeline_event.event.deserialize() { Ok(AnyTimelineEvent::MessageLike(event)) => event, @@ -593,7 +593,7 @@ impl RepliedToEvent { }; let sender = event.sender().to_owned(); let sender_profile = - TimelineDetails::from_initial_value(profile_provider.profile(&sender).await); + TimelineDetails::from_initial_value(room_data_provider.profile(&sender).await); Ok(Self { message, sender, sender_profile }) } diff --git a/crates/matrix-sdk/src/room/timeline/inner.rs b/crates/matrix-sdk/src/room/timeline/inner.rs index c966a2f76..992f9be53 100644 --- a/crates/matrix-sdk/src/room/timeline/inner.rs +++ b/crates/matrix-sdk/src/room/timeline/inner.rs @@ -58,9 +58,9 @@ use crate::{ }; #[derive(Debug)] -pub(super) struct TimelineInner { +pub(super) struct TimelineInner { state: Mutex, - profile_provider: P, + room_data_provider: P, } #[derive(Debug, Default)] @@ -78,8 +78,8 @@ pub(super) struct TimelineInnerState { pub(super) fully_read_event_in_timeline: bool, } -impl TimelineInner

{ - pub(super) fn new(profile_provider: P) -> Self { +impl TimelineInner

{ + pub(super) fn new(room_data_provider: P) -> Self { let state = TimelineInnerState { // Upstream default capacity is currently 16, which is making // sliding-sync tests with 20 events lag. This should still be @@ -87,7 +87,7 @@ impl TimelineInner

{ items: ObservableVector::with_capacity(32), ..Default::default() }; - Self { state: Mutex::new(state), profile_provider } + Self { state: Mutex::new(state), room_data_provider } } /// Get a copy of the current items in the list. @@ -123,7 +123,7 @@ impl TimelineInner

{ event.encryption_info, TimelineItemPosition::End, state, - &self.profile_provider, + &self.room_data_provider, ) .await; } @@ -152,7 +152,7 @@ impl TimelineInner

{ encryption_info, TimelineItemPosition::End, &mut state, - &self.profile_provider, + &self.room_data_provider, ) .await; } @@ -164,8 +164,8 @@ impl TimelineInner

{ txn_id: OwnedTransactionId, content: AnyMessageLikeEventContent, ) { - let sender = self.profile_provider.own_user_id().to_owned(); - let sender_profile = self.profile_provider.profile(&sender).await; + let sender = self.room_data_provider.own_user_id().to_owned(); + let sender_profile = self.room_data_provider.profile(&sender).await; let event_meta = TimelineEventMetadata { sender, sender_profile, @@ -241,7 +241,7 @@ impl TimelineInner

{ event.encryption_info, TimelineItemPosition::Start, &mut state, - &self.profile_provider, + &self.room_data_provider, ) .await } @@ -387,7 +387,7 @@ impl TimelineInner

{ event.encryption_info, TimelineItemPosition::Update(idx), &mut state, - &self.profile_provider, + &self.room_data_provider, ) .await; @@ -431,7 +431,7 @@ impl TimelineInner

{ Some(event_item) => event_item.sender().to_owned(), None => continue, }; - let maybe_profile = self.profile_provider.profile(&sender).await; + let maybe_profile = self.room_data_provider.profile(&sender).await; assert_eq!(state.items.len(), num_items); @@ -458,7 +458,7 @@ impl TimelineInner

{ impl TimelineInner { pub(super) fn room(&self) -> &room::Common { - &self.profile_provider + &self.room_data_provider } pub(super) async fn fetch_in_reply_to_details( @@ -559,13 +559,13 @@ async fn fetch_replied_to_event( } #[async_trait] -pub(super) trait ProfileProvider { +pub(super) trait RoomDataProvider { fn own_user_id(&self) -> &UserId; async fn profile(&self, user_id: &UserId) -> Option; } #[async_trait] -impl ProfileProvider for room::Common { +impl RoomDataProvider for room::Common { fn own_user_id(&self) -> &UserId { (**self).own_user_id() } @@ -594,12 +594,12 @@ impl ProfileProvider for room::Common { /// Handle a remote event. /// /// Returns the number of timeline updates that were made. -async fn handle_remote_event( +async fn handle_remote_event( raw: Raw, encryption_info: Option, position: TimelineItemPosition, timeline_state: &mut TimelineInnerState, - profile_provider: &P, + room_data_provider: &P, ) -> HandleEventResult { let (event_id, sender, origin_server_ts, txn_id, relations, event_kind) = match raw.deserialize() { @@ -629,8 +629,8 @@ async fn handle_remote_event( }, }; - let is_own_event = sender == profile_provider.own_user_id(); - let sender_profile = profile_provider.profile(&sender).await; + let is_own_event = sender == room_data_provider.own_user_id(); + let sender_profile = room_data_provider.profile(&sender).await; let event_meta = TimelineEventMetadata { sender, sender_profile, is_own_event, relations, encryption_info }; let flow = Flow::Remote { event_id, origin_server_ts, raw_event: raw, txn_id, position }; diff --git a/crates/matrix-sdk/src/room/timeline/tests/mod.rs b/crates/matrix-sdk/src/room/timeline/tests/mod.rs index eb0650f9f..4b0c656f8 100644 --- a/crates/matrix-sdk/src/room/timeline/tests/mod.rs +++ b/crates/matrix-sdk/src/room/timeline/tests/mod.rs @@ -36,7 +36,7 @@ use ruma::{ }; use serde_json::{json, Value as JsonValue}; -use super::{inner::ProfileProvider, Profile, TimelineInner, TimelineItem}; +use super::{inner::RoomDataProvider, Profile, TimelineInner, TimelineItem}; mod basic; mod echo; @@ -48,13 +48,13 @@ static ALICE: Lazy<&UserId> = Lazy::new(|| user_id!("@alice:server.name")); static BOB: Lazy<&UserId> = Lazy::new(|| user_id!("@bob:other.server")); struct TestTimeline { - inner: TimelineInner, + inner: TimelineInner, next_ts: AtomicU64, } impl TestTimeline { fn new() -> Self { - Self { inner: TimelineInner::new(TestProfileProvider), next_ts: AtomicU64::new(0) } + Self { inner: TimelineInner::new(TestRoomDataProvider), next_ts: AtomicU64::new(0) } } async fn subscribe(&self) -> impl Stream>> { @@ -255,10 +255,10 @@ impl TestTimeline { } } -struct TestProfileProvider; +struct TestRoomDataProvider; #[async_trait] -impl ProfileProvider for TestProfileProvider { +impl RoomDataProvider for TestRoomDataProvider { fn own_user_id(&self) -> &UserId { &ALICE }