Merge branch 'develop' into ismail/5068_start_thread

This commit is contained in:
ismailgulek
2021-11-19 00:23:24 +03:00
38 changed files with 808 additions and 381 deletions
+187 -179
View File
@@ -1116,16 +1116,12 @@ const NSTimeInterval kResizeComposerAnimationDuration = .05;
if (self.roomDataSource)
{
// Restore tool bar view and room activities view if none
if (!self.inputToolbarView)
{
[self updateRoomInputToolbarViewClassIfNeeded];
[self refreshRoomInputToolbar];
self.inputToolbarView.hidden = (self.roomDataSource.state != MXKDataSourceStateReady);
}
// Update the input toolbar class and update the layout
[self updateRoomInputToolbarViewClassIfNeeded];
self.inputToolbarView.hidden = (self.roomDataSource.state != MXKDataSourceStateReady);
// Restore room activities view if none
if (!self.activitiesView)
{
// And the extra area
@@ -1210,6 +1206,7 @@ const NSTimeInterval kResizeComposerAnimationDuration = .05;
}
[self updateInputToolBarViewHeight];
[self refreshRoomInputToolbar];
}
}
@@ -2104,20 +2101,22 @@ const NSTimeInterval kResizeComposerAnimationDuration = .05;
[VectorL10n widgetStickerPickerNoStickerpacksAlert],
[VectorL10n widgetStickerPickerNoStickerpacksAlertAddNow]];
currentAlert = [UIAlertController alertControllerWithTitle:nil message:alertMessage preferredStyle:UIAlertControllerStyleAlert];
UIAlertController *installPrompt = [UIAlertController alertControllerWithTitle:nil
message:alertMessage
preferredStyle:UIAlertControllerStyleAlert];
[currentAlert addAction:[UIAlertAction actionWithTitle:[MatrixKitL10n no]
style:UIAlertActionStyleCancel
handler:^(UIAlertAction * action)
[installPrompt addAction:[UIAlertAction actionWithTitle:[MatrixKitL10n no]
style:UIAlertActionStyleCancel
handler:^(UIAlertAction * action)
{
MXStrongifyAndReturnIfNil(self);
self->currentAlert = nil;
}]];
[currentAlert addAction:[UIAlertAction actionWithTitle:[MatrixKitL10n yes]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action)
[installPrompt addAction:[UIAlertAction actionWithTitle:[MatrixKitL10n yes]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action)
{
MXStrongifyAndReturnIfNil(self);
self->currentAlert = nil;
@@ -2132,8 +2131,9 @@ const NSTimeInterval kResizeComposerAnimationDuration = .05;
[self presentViewController:modularVC animated:NO completion:nil];
}]];
[currentAlert mxk_setAccessibilityIdentifier:@"RoomVCStickerPickerAlert"];
[self presentViewController:currentAlert animated:YES completion:nil];
[installPrompt mxk_setAccessibilityIdentifier:@"RoomVCStickerPickerAlert"];
[self presentViewController:installPrompt animated:YES completion:nil];
currentAlert = installPrompt;
}
}
@@ -3187,7 +3187,7 @@ const NSTimeInterval kResizeComposerAnimationDuration = .05;
}
MXWeakify(self);
currentAlert = [UIAlertController alertControllerWithTitle:nil message:nil preferredStyle:UIAlertControllerStyleActionSheet];
UIAlertController *actionsMenu = [UIAlertController alertControllerWithTitle:nil message:nil preferredStyle:UIAlertControllerStyleActionSheet];
BOOL showThreadOption = RiotSettings.shared.enableThreads
&& !self.roomDataSource.threadId
@@ -3208,9 +3208,9 @@ const NSTimeInterval kResizeComposerAnimationDuration = .05;
// Add actions for a failed event
if (selectedEvent.sentState == MXEventSentStateFailed)
{
[currentAlert addAction:[UIAlertAction actionWithTitle:[VectorL10n retry]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
[actionsMenu addAction:[UIAlertAction actionWithTitle:[VectorL10n retry]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
MXStrongifyAndReturnIfNil(self);
[self cancelEventSelection];
@@ -3219,9 +3219,9 @@ const NSTimeInterval kResizeComposerAnimationDuration = .05;
[self.roomDataSource resendEventWithEventId:selectedEvent.eventId success:nil failure:nil];
}]];
[currentAlert addAction:[UIAlertAction actionWithTitle:[VectorL10n roomEventActionDelete]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
[actionsMenu addAction:[UIAlertAction actionWithTitle:[VectorL10n roomEventActionDelete]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
MXStrongifyAndReturnIfNil(self);
[self cancelEventSelection];
@@ -3251,9 +3251,9 @@ const NSTimeInterval kResizeComposerAnimationDuration = .05;
selectedEvent.sentState == MXEventSentStateEncrypting ||
selectedEvent.sentState == MXEventSentStateSending)
{
[currentAlert addAction:[UIAlertAction actionWithTitle:[VectorL10n roomEventActionCancelSend]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
[actionsMenu addAction:[UIAlertAction actionWithTitle:[VectorL10n roomEventActionCancelSend]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
MXStrongifyAndReturnIfNil(self);
self->currentAlert = nil;
@@ -3267,9 +3267,9 @@ const NSTimeInterval kResizeComposerAnimationDuration = .05;
}
if (selectedEvent.sentState == MXEventSentStateSent) {
[currentAlert addAction:[UIAlertAction actionWithTitle:[VectorL10n roomEventActionForward]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
[actionsMenu addAction:[UIAlertAction actionWithTitle:[VectorL10n roomEventActionForward]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
MXStrongifyAndReturnIfNil(self);
[self presentEventForwardingDialogForSelectedEvent:selectedEvent];
}]];
@@ -3277,9 +3277,9 @@ const NSTimeInterval kResizeComposerAnimationDuration = .05;
if (!isJitsiCallEvent)
{
[currentAlert addAction:[UIAlertAction actionWithTitle:[VectorL10n roomEventActionQuote]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
[actionsMenu addAction:[UIAlertAction actionWithTitle:[VectorL10n roomEventActionQuote]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
MXStrongifyAndReturnIfNil(self);
[self cancelEventSelection];
@@ -3294,9 +3294,9 @@ const NSTimeInterval kResizeComposerAnimationDuration = .05;
if (!isJitsiCallEvent && BuildSettings.messageDetailsAllowShare)
{
[currentAlert addAction:[UIAlertAction actionWithTitle:[VectorL10n roomEventActionShare]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
[actionsMenu addAction:[UIAlertAction actionWithTitle:[VectorL10n roomEventActionShare]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
MXStrongifyAndReturnIfNil(self);
[self cancelEventSelection];
@@ -3323,9 +3323,9 @@ const NSTimeInterval kResizeComposerAnimationDuration = .05;
attachment.type == MXKAttachmentTypeImage ||
attachment.type == MXKAttachmentTypeVideo ||
attachment.type == MXKAttachmentTypeVoiceMessage)) {
[currentAlert addAction:[UIAlertAction actionWithTitle:[VectorL10n roomEventActionForward]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
[actionsMenu addAction:[UIAlertAction actionWithTitle:[VectorL10n roomEventActionForward]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
MXStrongifyAndReturnIfNil(self);
[self presentEventForwardingDialogForSelectedEvent:selectedEvent];
}]];
@@ -3335,9 +3335,9 @@ const NSTimeInterval kResizeComposerAnimationDuration = .05;
{
if (attachment.type == MXKAttachmentTypeImage || attachment.type == MXKAttachmentTypeVideo)
{
[currentAlert addAction:[UIAlertAction actionWithTitle:[VectorL10n roomEventActionSave]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
[actionsMenu addAction:[UIAlertAction actionWithTitle:[VectorL10n roomEventActionSave]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
MXStrongifyAndReturnIfNil(self);
[self cancelEventSelection];
@@ -3372,9 +3372,9 @@ const NSTimeInterval kResizeComposerAnimationDuration = .05;
NSString *uploadId = roomBubbleTableViewCell.bubbleData.attachment.contentURL;
if ([MXMediaManager existingUploaderWithId:uploadId])
{
[currentAlert addAction:[UIAlertAction actionWithTitle:[VectorL10n roomEventActionCancelSend]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
[actionsMenu addAction:[UIAlertAction actionWithTitle:[VectorL10n roomEventActionCancelSend]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
MXStrongifyAndReturnIfNil(self);
@@ -3406,9 +3406,9 @@ const NSTimeInterval kResizeComposerAnimationDuration = .05;
{
if (BuildSettings.messageDetailsAllowShare)
{
[currentAlert addAction:[UIAlertAction actionWithTitle:[VectorL10n roomEventActionShare]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
[actionsMenu addAction:[UIAlertAction actionWithTitle:[VectorL10n roomEventActionShare]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
MXStrongifyAndReturnIfNil(self);
[self cancelEventSelection];
@@ -3453,9 +3453,9 @@ const NSTimeInterval kResizeComposerAnimationDuration = .05;
NSString *downloadId = roomBubbleTableViewCell.bubbleData.attachment.downloadId;
if ([MXMediaManager existingDownloaderWithIdentifier:downloadId])
{
[currentAlert addAction:[UIAlertAction actionWithTitle:[VectorL10n roomEventActionCancelDownload]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
[actionsMenu addAction:[UIAlertAction actionWithTitle:[VectorL10n roomEventActionCancelDownload]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
MXStrongifyAndReturnIfNil(self);
[self cancelEventSelection];
@@ -3476,9 +3476,9 @@ const NSTimeInterval kResizeComposerAnimationDuration = .05;
// because it breaks everything
if (selectedEvent.eventType != MXEventTypeRoomEncryption)
{
[currentAlert addAction:[UIAlertAction actionWithTitle:[VectorL10n roomEventActionRedact]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
[actionsMenu addAction:[UIAlertAction actionWithTitle:[VectorL10n roomEventActionRedact]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
MXStrongifyAndReturnIfNil(self);
[self cancelEventSelection];
@@ -3502,9 +3502,9 @@ const NSTimeInterval kResizeComposerAnimationDuration = .05;
if (BuildSettings.messageDetailsAllowPermalink)
{
[currentAlert addAction:[UIAlertAction actionWithTitle:[VectorL10n roomEventActionPermalink]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
[actionsMenu addAction:[UIAlertAction actionWithTitle:[VectorL10n roomEventActionPermalink]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
MXStrongifyAndReturnIfNil(self);
[self cancelEventSelection];
@@ -3526,9 +3526,9 @@ const NSTimeInterval kResizeComposerAnimationDuration = .05;
// Add reaction history if event contains reactions
if (roomBubbleTableViewCell.bubbleData.reactions[selectedEvent.eventId].aggregatedReactionsWithNonZeroCount)
{
[currentAlert addAction:[UIAlertAction actionWithTitle:[VectorL10n roomEventActionReactionHistory]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
[actionsMenu addAction:[UIAlertAction actionWithTitle:[VectorL10n roomEventActionReactionHistory]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
MXStrongifyAndReturnIfNil(self);
[self cancelEventSelection];
@@ -3540,9 +3540,9 @@ const NSTimeInterval kResizeComposerAnimationDuration = .05;
if (BuildSettings.messageDetailsAllowViewSource)
{
[currentAlert addAction:[UIAlertAction actionWithTitle:[VectorL10n roomEventActionViewSource]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
[actionsMenu addAction:[UIAlertAction actionWithTitle:[VectorL10n roomEventActionViewSource]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
MXStrongifyAndReturnIfNil(self);
[self cancelEventSelection];
@@ -3555,9 +3555,9 @@ const NSTimeInterval kResizeComposerAnimationDuration = .05;
// Add "View Decrypted Source" for e2ee event we can decrypt
if (selectedEvent.isEncrypted && selectedEvent.clearEvent)
{
[currentAlert addAction:[UIAlertAction actionWithTitle:[VectorL10n roomEventActionViewDecryptedSource]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
[actionsMenu addAction:[UIAlertAction actionWithTitle:[VectorL10n roomEventActionViewDecryptedSource]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
MXStrongifyAndReturnIfNil(self);
[self cancelEventSelection];
@@ -3570,24 +3570,26 @@ const NSTimeInterval kResizeComposerAnimationDuration = .05;
if (![selectedEvent.sender isEqualToString:self.mainSession.myUser.userId] && RiotSettings.shared.roomContextualMenuShowReportContentOption)
{
[currentAlert addAction:[UIAlertAction actionWithTitle:[VectorL10n roomEventActionReport]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
[actionsMenu addAction:[UIAlertAction actionWithTitle:[VectorL10n roomEventActionReport]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
MXStrongifyAndReturnIfNil(self);
[self cancelEventSelection];
// Prompt user to enter a description of the problem content.
self->currentAlert = [UIAlertController alertControllerWithTitle:[VectorL10n roomEventActionReportPromptReason] message:nil preferredStyle:UIAlertControllerStyleAlert];
UIAlertController *reportReasonAlert = [UIAlertController alertControllerWithTitle:[VectorL10n roomEventActionReportPromptReason]
message:nil
preferredStyle:UIAlertControllerStyleAlert];
[self->currentAlert addTextFieldWithConfigurationHandler:^(UITextField *textField) {
[reportReasonAlert addTextFieldWithConfigurationHandler:^(UITextField *textField) {
textField.secureTextEntry = NO;
textField.placeholder = nil;
textField.keyboardType = UIKeyboardTypeDefault;
}];
MXWeakify(self);
[self->currentAlert addAction:[UIAlertAction actionWithTitle:[MatrixKitL10n ok] style:UIAlertActionStyleDefault handler:^(UIAlertAction * action) {
[reportReasonAlert addAction:[UIAlertAction actionWithTitle:[MatrixKitL10n ok] style:UIAlertActionStyleDefault handler:^(UIAlertAction * action) {
MXStrongifyAndReturnIfNil(self);
NSString *text = [self->currentAlert textFields].firstObject.text;
@@ -3602,10 +3604,12 @@ const NSTimeInterval kResizeComposerAnimationDuration = .05;
[self stopActivityIndicator];
// Prompt user to ignore content from this user
self->currentAlert = [UIAlertController alertControllerWithTitle:[VectorL10n roomEventActionReportPromptIgnoreUser] message:nil preferredStyle:UIAlertControllerStyleAlert];
UIAlertController *ignoreUserAlert = [UIAlertController alertControllerWithTitle:[VectorL10n roomEventActionReportPromptIgnoreUser]
message:nil
preferredStyle:UIAlertControllerStyleAlert];
MXWeakify(self);
[self->currentAlert addAction:[UIAlertAction actionWithTitle:[MatrixKitL10n yes] style:UIAlertActionStyleDefault handler:^(UIAlertAction * action) {
[ignoreUserAlert addAction:[UIAlertAction actionWithTitle:[MatrixKitL10n yes] style:UIAlertActionStyleDefault handler:^(UIAlertAction * action) {
MXStrongifyAndReturnIfNil(self);
self->currentAlert = nil;
@@ -3627,12 +3631,13 @@ const NSTimeInterval kResizeComposerAnimationDuration = .05;
}];
}]];
[self->currentAlert addAction:[UIAlertAction actionWithTitle:[MatrixKitL10n no] style:UIAlertActionStyleDefault handler:^(UIAlertAction * action) {
[ignoreUserAlert addAction:[UIAlertAction actionWithTitle:[MatrixKitL10n no] style:UIAlertActionStyleDefault handler:^(UIAlertAction * action) {
MXStrongifyAndReturnIfNil(self);
self->currentAlert = nil;
}]];
[self presentViewController:self->currentAlert animated:YES completion:nil];
[self presentViewController:ignoreUserAlert animated:YES completion:nil];
self->currentAlert = ignoreUserAlert;
} failure:^(NSError *error) {
MXStrongifyAndReturnIfNil(self);
@@ -3645,12 +3650,13 @@ const NSTimeInterval kResizeComposerAnimationDuration = .05;
}];
}]];
[self->currentAlert addAction:[UIAlertAction actionWithTitle:[MatrixKitL10n cancel] style:UIAlertActionStyleCancel handler:^(UIAlertAction * action) {
[reportReasonAlert addAction:[UIAlertAction actionWithTitle:[MatrixKitL10n cancel] style:UIAlertActionStyleCancel handler:^(UIAlertAction * action) {
MXStrongifyAndReturnIfNil(self);
self->currentAlert = nil;
}]];
[self presentViewController:self->currentAlert animated:YES completion:nil];
[self presentViewController:reportReasonAlert animated:YES completion:nil];
self->currentAlert = reportReasonAlert;
}]];
}
@@ -3669,29 +3675,26 @@ const NSTimeInterval kResizeComposerAnimationDuration = .05;
}
}
[currentAlert addAction:[UIAlertAction actionWithTitle:[VectorL10n cancel]
style:UIAlertActionStyleCancel
handler:^(UIAlertAction * action) {
[actionsMenu addAction:[UIAlertAction actionWithTitle:[VectorL10n cancel]
style:UIAlertActionStyleCancel
handler:^(UIAlertAction * action) {
MXStrongifyAndReturnIfNil(self);
[self hideContextualMenuAnimated:YES];
}]];
// Do not display empty action sheet
if (currentAlert.actions.count > 1)
if (actionsMenu.actions.count > 1)
{
NSInteger bubbleComponentIndex = [roomBubbleTableViewCell.bubbleData bubbleComponentIndexForEventId:selectedEvent.eventId];
CGRect sourceRect = [roomBubbleTableViewCell componentFrameInContentViewForIndex:bubbleComponentIndex];
[currentAlert mxk_setAccessibilityIdentifier:@"RoomVCEventMenuAlert"];
[currentAlert popoverPresentationController].sourceView = roomBubbleTableViewCell;
[currentAlert popoverPresentationController].sourceRect = sourceRect;
[self presentViewController:currentAlert animated:animated completion:nil];
}
else
{
currentAlert = nil;
[actionsMenu mxk_setAccessibilityIdentifier:@"RoomVCEventMenuAlert"];
[actionsMenu popoverPresentationController].sourceView = roomBubbleTableViewCell;
[actionsMenu popoverPresentationController].sourceRect = sourceRect;
[self presentViewController:actionsMenu animated:animated completion:nil];
currentAlert = actionsMenu;
}
}
@@ -4088,14 +4091,14 @@ const NSTimeInterval kResizeComposerAnimationDuration = .05;
- (void)showVoiceCallActionSheet
{
// Ask the user the kind of the call: voice or dialpad?
currentAlert = [UIAlertController alertControllerWithTitle:nil
message:nil
preferredStyle:UIAlertControllerStyleActionSheet];
UIAlertController *callActionSheet = [UIAlertController alertControllerWithTitle:nil
message:nil
preferredStyle:UIAlertControllerStyleActionSheet];
__weak typeof(self) weakSelf = self;
[currentAlert addAction:[UIAlertAction actionWithTitle:[VectorL10n roomPlaceVoiceCall]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
[callActionSheet addAction:[UIAlertAction actionWithTitle:[VectorL10n roomPlaceVoiceCall]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
if (weakSelf)
{
@@ -4107,9 +4110,9 @@ const NSTimeInterval kResizeComposerAnimationDuration = .05;
}]];
[currentAlert addAction:[UIAlertAction actionWithTitle:[VectorL10n roomOpenDialpad]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
[callActionSheet addAction:[UIAlertAction actionWithTitle:[VectorL10n roomOpenDialpad]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
if (weakSelf)
{
@@ -4121,9 +4124,9 @@ const NSTimeInterval kResizeComposerAnimationDuration = .05;
}]];
[currentAlert addAction:[UIAlertAction actionWithTitle:[MatrixKitL10n cancel]
style:UIAlertActionStyleCancel
handler:^(UIAlertAction * action) {
[callActionSheet addAction:[UIAlertAction actionWithTitle:[MatrixKitL10n cancel]
style:UIAlertActionStyleCancel
handler:^(UIAlertAction * action) {
if (weakSelf)
{
@@ -4133,9 +4136,10 @@ const NSTimeInterval kResizeComposerAnimationDuration = .05;
}]];
[currentAlert popoverPresentationController].barButtonItem = self.navigationItem.rightBarButtonItems.firstObject;
[currentAlert popoverPresentationController].permittedArrowDirections = UIPopoverArrowDirectionUp;
[self presentViewController:currentAlert animated:YES completion:nil];
[callActionSheet popoverPresentationController].barButtonItem = self.navigationItem.rightBarButtonItems.firstObject;
[callActionSheet popoverPresentationController].permittedArrowDirections = UIPopoverArrowDirectionUp;
[self presentViewController:callActionSheet animated:YES completion:nil];
currentAlert = callActionSheet;
}
- (void)placeCallWithVideo2:(BOOL)video
@@ -4187,20 +4191,21 @@ const NSTimeInterval kResizeComposerAnimationDuration = .05;
MXWeakify(self);
[currentAlert dismissViewControllerAnimated:NO completion:nil];
currentAlert = [UIAlertController alertControllerWithTitle:[VectorL10n roomNoPrivilegesToCreateGroupCall]
message:nil
preferredStyle:UIAlertControllerStyleAlert];
UIAlertController *unprivilegedAlert = [UIAlertController alertControllerWithTitle:[VectorL10n roomNoPrivilegesToCreateGroupCall]
message:nil
preferredStyle:UIAlertControllerStyleAlert];
[currentAlert addAction:[UIAlertAction actionWithTitle:[MatrixKitL10n ok]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action)
[unprivilegedAlert addAction:[UIAlertAction actionWithTitle:[MatrixKitL10n ok]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action)
{
MXStrongifyAndReturnIfNil(self);
self->currentAlert = nil;
}]];
[currentAlert mxk_setAccessibilityIdentifier:@"RoomVCCallAlert"];
[self presentViewController:currentAlert animated:YES completion:nil];
[unprivilegedAlert mxk_setAccessibilityIdentifier:@"RoomVCCallAlert"];
[self presentViewController:unprivilegedAlert animated:YES completion:nil];
currentAlert = unprivilegedAlert;
}
}
}
@@ -5155,6 +5160,7 @@ const NSTimeInterval kResizeComposerAnimationDuration = .05;
[VectorL10n roomUnsentMessagesUnknownDevicesNotification] :
[VectorL10n roomUnsentMessagesNotification];
MXWeakify(self);
RoomActivitiesView *roomActivitiesView = (RoomActivitiesView*) self.activitiesView;
self.activitiesViewExpanded = YES;
[roomActivitiesView displayUnsentMessagesNotification:notification withResendLink:^{
@@ -5166,57 +5172,53 @@ const NSTimeInterval kResizeComposerAnimationDuration = .05;
[self cancelAllUnsentMessages];
} andIconTapGesture:^{
MXStrongifyAndReturnIfNil(self);
if (currentAlert)
if (self->currentAlert)
{
[currentAlert dismissViewControllerAnimated:NO completion:nil];
[self->currentAlert dismissViewControllerAnimated:NO completion:nil];
}
__weak __typeof(self) weakSelf = self;
currentAlert = [UIAlertController alertControllerWithTitle:nil message:nil preferredStyle:UIAlertControllerStyleActionSheet];
MXWeakify(self);
UIAlertController *resendAlert = [UIAlertController alertControllerWithTitle:nil message:nil preferredStyle:UIAlertControllerStyleActionSheet];
[currentAlert addAction:[UIAlertAction actionWithTitle:[VectorL10n roomResendUnsentMessages]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
[resendAlert addAction:[UIAlertAction actionWithTitle:[VectorL10n roomResendUnsentMessages]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
if (weakSelf)
{
typeof(self) self = weakSelf;
[self resendAllUnsentMessages];
self->currentAlert = nil;
}
MXStrongifyAndReturnIfNil(self);
[self resendAllUnsentMessages];
self->currentAlert = nil;
}]];
[currentAlert addAction:[UIAlertAction actionWithTitle:[VectorL10n roomDeleteUnsentMessages]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
[resendAlert addAction:[UIAlertAction actionWithTitle:[VectorL10n roomDeleteUnsentMessages]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
if (weakSelf)
{
typeof(self) self = weakSelf;
[self cancelAllUnsentMessages];
self->currentAlert = nil;
}
MXStrongifyAndReturnIfNil(self);
[self cancelAllUnsentMessages];
self->currentAlert = nil;
}]];
[currentAlert addAction:[UIAlertAction actionWithTitle:[VectorL10n cancel]
style:UIAlertActionStyleCancel
handler:^(UIAlertAction * action) {
[resendAlert addAction:[UIAlertAction actionWithTitle:[VectorL10n cancel]
style:UIAlertActionStyleCancel
handler:^(UIAlertAction * action) {
if (weakSelf)
{
typeof(self) self = weakSelf;
self->currentAlert = nil;
}
MXStrongifyAndReturnIfNil(self);
self->currentAlert = nil;
}]];
[currentAlert mxk_setAccessibilityIdentifier:@"RoomVCUnsentMessagesMenuAlert"];
[currentAlert popoverPresentationController].sourceView = roomActivitiesView;
[currentAlert popoverPresentationController].sourceRect = roomActivitiesView.bounds;
[self presentViewController:currentAlert animated:YES completion:nil];
[resendAlert mxk_setAccessibilityIdentifier:@"RoomVCUnsentMessagesMenuAlert"];
[resendAlert popoverPresentationController].sourceView = roomActivitiesView;
[resendAlert popoverPresentationController].sourceRect = roomActivitiesView.bounds;
[self presentViewController:resendAlert animated:YES completion:nil];
self->currentAlert = resendAlert;
}];
}
@@ -5256,13 +5258,13 @@ const NSTimeInterval kResizeComposerAnimationDuration = .05;
}
}
currentAlert = [UIAlertController alertControllerWithTitle:[VectorL10n unknownDevicesAlertTitle]
message:[VectorL10n unknownDevicesAlert]
preferredStyle:UIAlertControllerStyleAlert];
UIAlertController *unknownDevicesAlert = [UIAlertController alertControllerWithTitle:[VectorL10n unknownDevicesAlertTitle]
message:[VectorL10n unknownDevicesAlert]
preferredStyle:UIAlertControllerStyleAlert];
[currentAlert addAction:[UIAlertAction actionWithTitle:[VectorL10n unknownDevicesVerify]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
[unknownDevicesAlert addAction:[UIAlertAction actionWithTitle:[VectorL10n unknownDevicesVerify]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
if (weakSelf)
{
@@ -5274,9 +5276,9 @@ const NSTimeInterval kResizeComposerAnimationDuration = .05;
}]];
[currentAlert addAction:[UIAlertAction actionWithTitle:[VectorL10n unknownDevicesSendAnyway]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
[unknownDevicesAlert addAction:[UIAlertAction actionWithTitle:[VectorL10n unknownDevicesSendAnyway]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
if (weakSelf)
{
@@ -5297,8 +5299,9 @@ const NSTimeInterval kResizeComposerAnimationDuration = .05;
}]];
[currentAlert mxk_setAccessibilityIdentifier:@"RoomVCUnknownDevicesAlert"];
[self presentViewController:currentAlert animated:YES completion:nil];
[unknownDevicesAlert mxk_setAccessibilityIdentifier:@"RoomVCUnknownDevicesAlert"];
[self presentViewController:unknownDevicesAlert animated:YES completion:nil];
currentAlert = unknownDevicesAlert;
}
}
@@ -5360,15 +5363,17 @@ const NSTimeInterval kResizeComposerAnimationDuration = .05;
- (void)cancelAllUnsentMessages
{
currentAlert = [UIAlertController alertControllerWithTitle:[VectorL10n roomUnsentMessagesCancelTitle] message:[VectorL10n roomUnsentMessagesCancelMessage] preferredStyle:UIAlertControllerStyleAlert];
UIAlertController *cancelAlert = [UIAlertController alertControllerWithTitle:[VectorL10n roomUnsentMessagesCancelTitle]
message:[VectorL10n roomUnsentMessagesCancelMessage]
preferredStyle:UIAlertControllerStyleAlert];
MXWeakify(self);
[currentAlert addAction:[UIAlertAction actionWithTitle:[MatrixKitL10n cancel] style:UIAlertActionStyleCancel handler:^(UIAlertAction * action) {
[cancelAlert addAction:[UIAlertAction actionWithTitle:[MatrixKitL10n cancel] style:UIAlertActionStyleCancel handler:^(UIAlertAction * action) {
MXStrongifyAndReturnIfNil(self);
self->currentAlert = nil;
}]];
[currentAlert addAction:[UIAlertAction actionWithTitle:[MatrixKitL10n delete] style:UIAlertActionStyleDestructive handler:^(UIAlertAction * action) {
[cancelAlert addAction:[UIAlertAction actionWithTitle:[MatrixKitL10n delete] style:UIAlertActionStyleDestructive handler:^(UIAlertAction * action) {
MXStrongifyAndReturnIfNil(self);
// Remove unsent event ids
for (NSUInteger index = 0; index < self.roomDataSource.room.outgoingMessages.count;)
@@ -5385,9 +5390,11 @@ const NSTimeInterval kResizeComposerAnimationDuration = .05;
}
[self refreshActivitiesViewDisplay];
self->currentAlert = nil;
}]];
[self presentViewController:currentAlert animated:YES completion:nil];
[self presentViewController:cancelAlert animated:YES completion:nil];
currentAlert = cancelAlert;
}
# pragma mark - Encryption Information view
@@ -5621,11 +5628,11 @@ const NSTimeInterval kResizeComposerAnimationDuration = .05;
// Invite ?
NSString *promptMsg = [VectorL10n roomParticipantsInvitePromptMsg:contact.displayName];
currentAlert = [UIAlertController alertControllerWithTitle:[VectorL10n roomParticipantsInvitePromptTitle]
message:promptMsg
preferredStyle:UIAlertControllerStyleAlert];
UIAlertController *invitePrompt = [UIAlertController alertControllerWithTitle:[VectorL10n roomParticipantsInvitePromptTitle]
message:promptMsg
preferredStyle:UIAlertControllerStyleAlert];
[currentAlert addAction:[UIAlertAction actionWithTitle:[MatrixKitL10n cancel]
[invitePrompt addAction:[UIAlertAction actionWithTitle:[MatrixKitL10n cancel]
style:UIAlertActionStyleCancel
handler:^(UIAlertAction * action) {
@@ -5637,7 +5644,7 @@ const NSTimeInterval kResizeComposerAnimationDuration = .05;
}]];
[currentAlert addAction:[UIAlertAction actionWithTitle:[VectorL10n invite]
[invitePrompt addAction:[UIAlertAction actionWithTitle:[VectorL10n invite]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {
@@ -5732,8 +5739,9 @@ const NSTimeInterval kResizeComposerAnimationDuration = .05;
}]];
[currentAlert mxk_setAccessibilityIdentifier:@"RoomVCInviteAlert"];
[self presentViewController:currentAlert animated:YES completion:nil];
[invitePrompt mxk_setAccessibilityIdentifier:@"RoomVCInviteAlert"];
[self presentViewController:invitePrompt animated:YES completion:nil];
currentAlert = invitePrompt;
}
#pragma mark - Re-request encryption keys
@@ -5777,8 +5785,6 @@ const NSTimeInterval kResizeComposerAnimationDuration = .05;
alert = [UIAlertController alertControllerWithTitle:VectorL10n.rerequestKeysAlertTitle
message:[VectorL10n e2eRoomKeyRequestMessage:AppInfo.current.displayName]
preferredStyle:UIAlertControllerStyleAlert];
currentAlert = alert;
[alert addAction:[UIAlertAction actionWithTitle:[MatrixKitL10n ok]
style:UIAlertActionStyleDefault
@@ -5792,7 +5798,8 @@ const NSTimeInterval kResizeComposerAnimationDuration = .05;
self->currentAlert = nil;
}]];
[self presentViewController:currentAlert animated:YES completion:nil];
[self presentViewController:alert animated:YES completion:nil];
currentAlert = alert;
}
- (void)presentReviewUnverifiedSessionsAlert
@@ -6070,18 +6077,19 @@ const NSTimeInterval kResizeComposerAnimationDuration = .05;
[self hideContextualMenuAnimated:YES cancelEventSelection:YES completion:^{
MXStrongifyAndReturnIfNil(self);
self->currentAlert = [UIAlertController alertControllerWithTitle:[VectorL10n roomEventActionDeleteConfirmationTitle]
message:[VectorL10n roomEventActionDeleteConfirmationMessage]
preferredStyle:UIAlertControllerStyleAlert];
UIAlertController *deleteConfirmation = [UIAlertController alertControllerWithTitle:[VectorL10n roomEventActionDeleteConfirmationTitle]
message:[VectorL10n roomEventActionDeleteConfirmationMessage]
preferredStyle:UIAlertControllerStyleAlert];
[self->currentAlert addAction:[UIAlertAction actionWithTitle:[MatrixKitL10n cancel] style:UIAlertActionStyleDefault handler:^(UIAlertAction * action) {
[deleteConfirmation addAction:[UIAlertAction actionWithTitle:[MatrixKitL10n cancel] style:UIAlertActionStyleDefault handler:^(UIAlertAction * action) {
}]];
[self->currentAlert addAction:[UIAlertAction actionWithTitle:[MatrixKitL10n delete] style:UIAlertActionStyleDestructive handler:^(UIAlertAction * action) {
[deleteConfirmation addAction:[UIAlertAction actionWithTitle:[MatrixKitL10n delete] style:UIAlertActionStyleDestructive handler:^(UIAlertAction * action) {
[self.roomDataSource removeEventWithEventId:event.eventId];
}]];
[self presentViewController:self->currentAlert animated:YES completion:nil];
[self presentViewController:deleteConfirmation animated:YES completion:nil];
self->currentAlert = deleteConfirmation;
}];
};