SP3.1: Update room settings for Spaces element-ios#5231

- Changed the Room Settings screen according to the new design
- Implemented the room access flow
- Added room upgrade support
- Implemented the room suggestion screen
This commit is contained in:
Gil Eluard
2022-01-13 15:53:45 +01:00
parent 069e79e24e
commit 086afb1835
78 changed files with 3755 additions and 196 deletions
+25 -5
View File
@@ -711,6 +711,12 @@ const NSTimeInterval kResizeComposerAnimationDuration = .05;
// Screen tracking
[self.screenTimer start];
if (self.showSettingsInitially)
{
[self showRoomInfoWithInitialSection:RoomInfoSectionSettings animated:NO];
}
self.showSettingsInitially = NO;
}
- (void)viewDidDisappear:(BOOL)animated
@@ -1957,7 +1963,7 @@ const NSTimeInterval kResizeComposerAnimationDuration = .05;
- (void)showRoomAvatarChange
{
[self showRoomInfoWithInitialSection:RoomInfoSectionChangeAvatar];
[self showRoomInfoWithInitialSection:RoomInfoSectionChangeAvatar animated:YES];
}
- (void)showAddParticipants
@@ -1969,22 +1975,22 @@ const NSTimeInterval kResizeComposerAnimationDuration = .05;
- (void)showRoomTopicChange
{
[self showRoomInfoWithInitialSection:RoomInfoSectionChangeTopic];
[self showRoomInfoWithInitialSection:RoomInfoSectionChangeTopic animated:YES];
}
- (void)showRoomInfo
{
[self showRoomInfoWithInitialSection:RoomInfoSectionNone];
[self showRoomInfoWithInitialSection:RoomInfoSectionNone animated:YES];
}
- (void)showRoomInfoWithInitialSection:(RoomInfoSection)roomInfoSection
- (void)showRoomInfoWithInitialSection:(RoomInfoSection)roomInfoSection animated:(BOOL)animated
{
RoomInfoCoordinatorParameters *parameters = [[RoomInfoCoordinatorParameters alloc] initWithSession:self.roomDataSource.mxSession room:self.roomDataSource.room parentSpaceId:self.parentSpaceId initialSection:roomInfoSection];
self.roomInfoCoordinatorBridgePresenter = [[RoomInfoCoordinatorBridgePresenter alloc] initWithParameters:parameters];
self.roomInfoCoordinatorBridgePresenter.delegate = self;
[self.roomInfoCoordinatorBridgePresenter pushFrom:self.navigationController animated:YES];
[self.roomInfoCoordinatorBridgePresenter pushFrom:self.navigationController animated:animated];
}
- (void)setupActions {
@@ -6526,6 +6532,20 @@ const NSTimeInterval kResizeComposerAnimationDuration = .05;
}
}
- (void)roomInfoCoordinatorBridgePresenter:(RoomInfoCoordinatorBridgePresenter *)coordinatorBridgePresenter didMoveToRoomWithId:(NSString *)roomId
{
if (self.delegate)
{
[self.delegate roomViewController:self moveToRoomWithId:roomId];
}
else
{
ScreenPresentationParameters *presentationParameters = [[ScreenPresentationParameters alloc] initWithRestoreInitialDisplay:YES stackAboveVisibleViews:NO];
RoomNavigationParameters *parameters = [[RoomNavigationParameters alloc] initWithRoomId:roomId eventId:nil mxSession:self.mainSession presentationParameters:presentationParameters showSettingsInitially:YES];
[[AppDelegate theDelegate] showRoomWithParameters:parameters];
}
}
#pragma mark - RemoveJitsiWidgetViewDelegate
- (void)removeJitsiWidgetViewDidCompleteSliding:(RemoveJitsiWidgetView *)view