Merge branch 'charlesmchen/blockWarningMessages'
This commit is contained in:
commit
f36316c609
|
@ -99,7 +99,10 @@ typedef void (^BlockAlertCompletionBlock)();
|
||||||
[self formatDisplayNameForAlertTitle:displayName]];
|
[self formatDisplayNameForAlertTitle:displayName]];
|
||||||
|
|
||||||
UIAlertController *actionSheetController =
|
UIAlertController *actionSheetController =
|
||||||
[UIAlertController alertControllerWithTitle:title message:nil preferredStyle:UIAlertControllerStyleActionSheet];
|
[UIAlertController alertControllerWithTitle:title
|
||||||
|
message:NSLocalizedString(@"BLOCK_BEHAVIOR_EXPLANATION",
|
||||||
|
@"An explanation of the consequences of blocking another user.")
|
||||||
|
preferredStyle:UIAlertControllerStyleActionSheet];
|
||||||
|
|
||||||
UIAlertAction *unblockAction = [UIAlertAction
|
UIAlertAction *unblockAction = [UIAlertAction
|
||||||
actionWithTitle:NSLocalizedString(@"BLOCK_LIST_BLOCK_BUTTON", @"Button label for the 'block' button")
|
actionWithTitle:NSLocalizedString(@"BLOCK_LIST_BLOCK_BUTTON", @"Button label for the 'block' button")
|
||||||
|
|
|
@ -100,8 +100,9 @@ typedef NS_ENUM(NSInteger, BlockListViewControllerSection) {
|
||||||
{
|
{
|
||||||
switch (section) {
|
switch (section) {
|
||||||
case BlockListViewControllerSection_Add:
|
case BlockListViewControllerSection_Add:
|
||||||
return NSLocalizedString(@"SETTINGS_BLOCK_LIST_FOOTER_TITLE", @"A footer title for the block list table.");
|
return NSLocalizedString(@"BLOCK_BEHAVIOR_EXPLANATION",
|
||||||
default:
|
@"An explanation of the consequences of blocking another user.");
|
||||||
|
default:
|
||||||
return nil;
|
return nil;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -194,6 +194,8 @@ static NSString *const OWSConversationSettingsTableViewControllerSegueShowGroupM
|
||||||
|
|
||||||
__weak OWSConversationSettingsTableViewController *weakSelf = self;
|
__weak OWSConversationSettingsTableViewController *weakSelf = self;
|
||||||
|
|
||||||
|
// First section.
|
||||||
|
|
||||||
NSMutableArray *firstSectionItems = [NSMutableArray new];
|
NSMutableArray *firstSectionItems = [NSMutableArray new];
|
||||||
if (!self.isGroupThread && self.thread.hasSafetyNumbers) {
|
if (!self.isGroupThread && self.thread.hasSafetyNumbers) {
|
||||||
[firstSectionItems addObject:[OWSTableItem itemWithCustomCellBlock:^{
|
[firstSectionItems addObject:[OWSTableItem itemWithCustomCellBlock:^{
|
||||||
|
@ -209,10 +211,30 @@ static NSString *const OWSConversationSettingsTableViewControllerSegueShowGroupM
|
||||||
}]];
|
}]];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[firstSectionItems addObject:[OWSTableItem itemWithCustomCellBlock:^{
|
||||||
|
weakSelf.toggleDisappearingMessagesCell.selectionStyle = UITableViewCellSelectionStyleNone;
|
||||||
|
return weakSelf.toggleDisappearingMessagesCell;
|
||||||
|
}
|
||||||
|
customRowHeight:108.f
|
||||||
|
actionBlock:nil]];
|
||||||
|
|
||||||
|
if (self.disappearingMessagesSwitch.isOn) {
|
||||||
|
[firstSectionItems addObject:[OWSTableItem itemWithCustomCellBlock:^{
|
||||||
|
weakSelf.disappearingMessagesDurationCell.selectionStyle = UITableViewCellSelectionStyleNone;
|
||||||
|
return weakSelf.disappearingMessagesDurationCell;
|
||||||
|
}
|
||||||
|
customRowHeight:76.f
|
||||||
|
actionBlock:nil]];
|
||||||
|
}
|
||||||
|
|
||||||
|
[contents addSection:[OWSTableSection sectionWithTitle:nil items:firstSectionItems]];
|
||||||
|
|
||||||
|
// Second section.
|
||||||
|
|
||||||
if (!self.isGroupThread) {
|
if (!self.isGroupThread) {
|
||||||
BOOL isBlocked = [[_blockingManager blockedPhoneNumbers] containsObject:self.signalId];
|
BOOL isBlocked = [[_blockingManager blockedPhoneNumbers] containsObject:self.signalId];
|
||||||
|
|
||||||
[firstSectionItems addObject:[OWSTableItem itemWithCustomCellBlock:^{
|
OWSTableItem *item = [OWSTableItem itemWithCustomCellBlock:^{
|
||||||
UITableViewCell *cell = [UITableViewCell new];
|
UITableViewCell *cell = [UITableViewCell new];
|
||||||
cell.textLabel.text = NSLocalizedString(
|
cell.textLabel.text = NSLocalizedString(
|
||||||
@"CONVERSATION_SETTINGS_BLOCK_THIS_USER", @"table cell label in conversation settings");
|
@"CONVERSATION_SETTINGS_BLOCK_THIS_USER", @"table cell label in conversation settings");
|
||||||
|
@ -234,26 +256,17 @@ static NSString *const OWSConversationSettingsTableViewControllerSegueShowGroupM
|
||||||
cell.accessoryView = blockUserSwitch;
|
cell.accessoryView = blockUserSwitch;
|
||||||
return cell;
|
return cell;
|
||||||
}
|
}
|
||||||
actionBlock:nil]];
|
actionBlock:nil];
|
||||||
|
OWSTableSection *section = [OWSTableSection sectionWithTitle:nil
|
||||||
|
items:@[
|
||||||
|
item,
|
||||||
|
]];
|
||||||
|
section.footerTitle = NSLocalizedString(@"BLOCK_BEHAVIOR_EXPLANATION",
|
||||||
|
@"An explanation of the consequences of blocking another user.");
|
||||||
|
[contents addSection:section];
|
||||||
}
|
}
|
||||||
|
|
||||||
[firstSectionItems addObject:[OWSTableItem itemWithCustomCellBlock:^{
|
// Third section.
|
||||||
weakSelf.toggleDisappearingMessagesCell.selectionStyle = UITableViewCellSelectionStyleNone;
|
|
||||||
return weakSelf.toggleDisappearingMessagesCell;
|
|
||||||
}
|
|
||||||
customRowHeight:108.f
|
|
||||||
actionBlock:nil]];
|
|
||||||
|
|
||||||
if (self.disappearingMessagesSwitch.isOn) {
|
|
||||||
[firstSectionItems addObject:[OWSTableItem itemWithCustomCellBlock:^{
|
|
||||||
weakSelf.disappearingMessagesDurationCell.selectionStyle = UITableViewCellSelectionStyleNone;
|
|
||||||
return weakSelf.disappearingMessagesDurationCell;
|
|
||||||
}
|
|
||||||
customRowHeight:76.f
|
|
||||||
actionBlock:nil]];
|
|
||||||
}
|
|
||||||
|
|
||||||
[contents addSection:[OWSTableSection sectionWithTitle:nil items:firstSectionItems]];
|
|
||||||
|
|
||||||
if (self.isGroupThread) {
|
if (self.isGroupThread) {
|
||||||
NSArray *groupItems = @[
|
NSArray *groupItems = @[
|
||||||
|
|
|
@ -21,9 +21,10 @@ NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
@interface OWSTableSection : NSObject
|
@interface OWSTableSection : NSObject
|
||||||
|
|
||||||
@property (nonatomic, nullable) NSString *title;
|
@property (nonatomic, nullable) NSString *headerTitle;
|
||||||
|
@property (nonatomic, nullable) NSString *footerTitle;
|
||||||
|
|
||||||
+ (OWSTableSection *)sectionWithTitle:(NSString *)title items:(NSArray<OWSTableItem *> *)items;
|
+ (OWSTableSection *)sectionWithTitle:(nullable NSString *)title items:(NSArray<OWSTableItem *> *)items;
|
||||||
|
|
||||||
- (void)addItem:(OWSTableItem *)item;
|
- (void)addItem:(OWSTableItem *)item;
|
||||||
|
|
||||||
|
|
|
@ -45,10 +45,10 @@ NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
@implementation OWSTableSection
|
@implementation OWSTableSection
|
||||||
|
|
||||||
+ (OWSTableSection *)sectionWithTitle:(NSString *)title items:(NSArray<OWSTableItem *> *)items
|
+ (OWSTableSection *)sectionWithTitle:(nullable NSString *)title items:(NSArray<OWSTableItem *> *)items
|
||||||
{
|
{
|
||||||
OWSTableSection *section = [OWSTableSection new];
|
OWSTableSection *section = [OWSTableSection new];
|
||||||
section.title = title;
|
section.headerTitle = title;
|
||||||
section.items = [items mutableCopy];
|
section.items = [items mutableCopy];
|
||||||
return section;
|
return section;
|
||||||
}
|
}
|
||||||
|
@ -224,7 +224,13 @@ NSString * const kOWSTableCellIdentifier = @"kOWSTableCellIdentifier";
|
||||||
- (nullable NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)sectionIndex
|
- (nullable NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)sectionIndex
|
||||||
{
|
{
|
||||||
OWSTableSection *section = [self sectionForIndex:sectionIndex];
|
OWSTableSection *section = [self sectionForIndex:sectionIndex];
|
||||||
return section.title;
|
return section.headerTitle;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (nullable NSString *)tableView:(UITableView *)tableView titleForFooterInSection:(NSInteger)sectionIndex
|
||||||
|
{
|
||||||
|
OWSTableSection *section = [self sectionForIndex:sectionIndex];
|
||||||
|
return section.footerTitle;
|
||||||
}
|
}
|
||||||
|
|
||||||
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
|
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
|
||||||
|
|
|
@ -97,6 +97,9 @@
|
||||||
/* No comment provided by engineer. */
|
/* No comment provided by engineer. */
|
||||||
"ATTACHMENT_QUEUED" = "New attachment queued for retrieval.";
|
"ATTACHMENT_QUEUED" = "New attachment queued for retrieval.";
|
||||||
|
|
||||||
|
/* An explanation of the consequences of blocking another user. */
|
||||||
|
"BLOCK_BEHAVIOR_EXPLANATION" = "Blocked users will not be able to call you or send you messages.";
|
||||||
|
|
||||||
/* Button label for the 'block' button */
|
/* Button label for the 'block' button */
|
||||||
"BLOCK_LIST_BLOCK_BUTTON" = "Block";
|
"BLOCK_LIST_BLOCK_BUTTON" = "Block";
|
||||||
|
|
||||||
|
@ -883,9 +886,6 @@
|
||||||
/* A label for the 'add phone number' button in the block list table. */
|
/* A label for the 'add phone number' button in the block list table. */
|
||||||
"SETTINGS_BLOCK_LIST_ADD_BUTTON" = "Add…";
|
"SETTINGS_BLOCK_LIST_ADD_BUTTON" = "Add…";
|
||||||
|
|
||||||
/* A footer title for the block list table. */
|
|
||||||
"SETTINGS_BLOCK_LIST_FOOTER_TITLE" = "Blocked users will not be able to call you or send you messages.";
|
|
||||||
|
|
||||||
/* A label that indicates the user has no Signal contacts. */
|
/* A label that indicates the user has no Signal contacts. */
|
||||||
"SETTINGS_BLOCK_LIST_NO_CONTACTS" = "You have no contacts on Signal.";
|
"SETTINGS_BLOCK_LIST_NO_CONTACTS" = "You have no contacts on Signal.";
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue