mirror of https://github.com/oxen-io/session-ios
				
				
				
			
			You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			111 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Objective-C
		
	
			
		
		
	
	
			111 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Objective-C
		
	
//
 | 
						|
//  Copyright (c) 2018 Open Whisper Systems. All rights reserved.
 | 
						|
//
 | 
						|
 | 
						|
#import "AddToBlockListViewController.h"
 | 
						|
#import "BlockListUIUtils.h"
 | 
						|
#import <SessionMessagingKit/SSKEnvironment.h>
 | 
						|
#import <SessionMessagingKit/OWSBlockingManager.h>
 | 
						|
#import <SignalUtilitiesKit/SignalAccount.h>
 | 
						|
 | 
						|
NS_ASSUME_NONNULL_BEGIN
 | 
						|
 | 
						|
@interface AddToBlockListViewController () <SelectRecipientViewControllerDelegate>
 | 
						|
 | 
						|
@end
 | 
						|
 | 
						|
#pragma mark -
 | 
						|
 | 
						|
@implementation AddToBlockListViewController
 | 
						|
 | 
						|
- (void)loadView
 | 
						|
{
 | 
						|
    self.delegate = self;
 | 
						|
 | 
						|
    [super loadView];
 | 
						|
 | 
						|
    self.title = NSLocalizedString(@"SETTINGS_ADD_TO_BLOCK_LIST_TITLE", @"Title for the 'add to block list' view.");
 | 
						|
}
 | 
						|
 | 
						|
- (NSString *)phoneNumberSectionTitle
 | 
						|
{
 | 
						|
    return NSLocalizedString(@"SETTINGS_ADD_TO_BLOCK_LIST_BLOCK_PHONE_NUMBER_TITLE",
 | 
						|
        @"Title for the 'block phone number' section of the 'add to block list' view.");
 | 
						|
}
 | 
						|
 | 
						|
- (NSString *)phoneNumberButtonText
 | 
						|
{
 | 
						|
    return NSLocalizedString(@"BLOCK_LIST_VIEW_BLOCK_BUTTON", @"A label for the block button in the block list view");
 | 
						|
}
 | 
						|
 | 
						|
- (NSString *)contactsSectionTitle
 | 
						|
{
 | 
						|
    return NSLocalizedString(@"SETTINGS_ADD_TO_BLOCK_LIST_BLOCK_CONTACT_TITLE",
 | 
						|
        @"Title for the 'block contact' section of the 'add to block list' view.");
 | 
						|
}
 | 
						|
 | 
						|
- (void)phoneNumberWasSelected:(NSString *)phoneNumber
 | 
						|
{
 | 
						|
    OWSAssertDebug(phoneNumber.length > 0);
 | 
						|
 | 
						|
    __weak AddToBlockListViewController *weakSelf = self;
 | 
						|
    [BlockListUIUtils showBlockPhoneNumberActionSheet:phoneNumber
 | 
						|
                                   fromViewController:self
 | 
						|
                                      blockingManager:SSKEnvironment.shared.blockingManager
 | 
						|
                                      completionBlock:^(BOOL isBlocked) {
 | 
						|
                                          if (isBlocked) {
 | 
						|
                                              [weakSelf.navigationController popViewControllerAnimated:YES];
 | 
						|
                                          }
 | 
						|
                                      }];
 | 
						|
}
 | 
						|
 | 
						|
- (BOOL)canSignalAccountBeSelected:(SignalAccount *)signalAccount
 | 
						|
{
 | 
						|
    OWSAssertDebug(signalAccount);
 | 
						|
 | 
						|
    return ![SSKEnvironment.shared.blockingManager isRecipientIdBlocked:signalAccount.recipientId];
 | 
						|
}
 | 
						|
 | 
						|
- (void)signalAccountWasSelected:(SignalAccount *)signalAccount
 | 
						|
{
 | 
						|
    OWSAssertDebug(signalAccount);
 | 
						|
 | 
						|
    __weak AddToBlockListViewController *weakSelf = self;
 | 
						|
    if ([SSKEnvironment.shared.blockingManager isRecipientIdBlocked:signalAccount.recipientId]) {
 | 
						|
        OWSFailDebug(@"Cannot add already blocked user to block list.");
 | 
						|
        return;
 | 
						|
    }
 | 
						|
    [BlockListUIUtils showBlockSignalAccountActionSheet:signalAccount
 | 
						|
                                     fromViewController:self
 | 
						|
                                        blockingManager:SSKEnvironment.shared.blockingManager
 | 
						|
                                        completionBlock:^(BOOL isBlocked) {
 | 
						|
                                            if (isBlocked) {
 | 
						|
                                                [weakSelf.navigationController popViewControllerAnimated:YES];
 | 
						|
                                            }
 | 
						|
                                        }];
 | 
						|
}
 | 
						|
 | 
						|
- (BOOL)shouldHideLocalNumber
 | 
						|
{
 | 
						|
    return YES;
 | 
						|
}
 | 
						|
 | 
						|
- (BOOL)shouldHideContacts
 | 
						|
{
 | 
						|
    return NO;
 | 
						|
}
 | 
						|
 | 
						|
- (BOOL)shouldValidatePhoneNumbers
 | 
						|
{
 | 
						|
    return NO;
 | 
						|
}
 | 
						|
 | 
						|
- (nullable NSString *)accessoryMessageForSignalAccount:(SignalAccount *)signalAccount
 | 
						|
{
 | 
						|
    return nil;
 | 
						|
}
 | 
						|
 | 
						|
@end
 | 
						|
 | 
						|
NS_ASSUME_NONNULL_END
 |