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.
		
		
		
		
		
			
		
			
				
	
	
		
			48 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Objective-C
		
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Objective-C
		
	
//
 | 
						|
//  Copyright (c) 2017 Open Whisper Systems. All rights reserved.
 | 
						|
//
 | 
						|
 | 
						|
#import "OWS103EnableVideoCalling.h"
 | 
						|
#import <SignalServiceKit/TSAccountManager.h>
 | 
						|
#import <SignalServiceKit/TSNetworkManager.h>
 | 
						|
#import <SignalServiceKit/TSUpdateAttributesRequest.h>
 | 
						|
 | 
						|
// Increment a similar constant for every future DBMigration
 | 
						|
static NSString *const OWS103EnableVideoCallingMigrationId = @"103";
 | 
						|
 | 
						|
@implementation OWS103EnableVideoCalling
 | 
						|
 | 
						|
+ (NSString *)migrationId
 | 
						|
{
 | 
						|
    return OWS103EnableVideoCallingMigrationId;
 | 
						|
}
 | 
						|
 | 
						|
// Override parent migration
 | 
						|
- (void)runUp
 | 
						|
{
 | 
						|
    DDLogWarn(@"%@ running migration...", self.logTag);
 | 
						|
    if ([TSAccountManager isRegistered]) {
 | 
						|
        dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
 | 
						|
            TSUpdateAttributesRequest *request = [[TSUpdateAttributesRequest alloc] initWithManualMessageFetching:NO];
 | 
						|
            [[TSNetworkManager sharedManager] makeRequest:request
 | 
						|
                success:^(NSURLSessionDataTask *task, id responseObject) {
 | 
						|
                    DDLogInfo(@"%@ successfully ran", self.logTag);
 | 
						|
                    [self save];
 | 
						|
                }
 | 
						|
                failure:^(NSURLSessionDataTask *task, NSError *error) {
 | 
						|
                    if (!IsNSErrorNetworkFailure(error)) {
 | 
						|
                        OWSProdError([OWSAnalyticsEvents errorEnableVideoCallingRequestFailed]);
 | 
						|
                    }
 | 
						|
                    DDLogError(@"%@ failed with error: %@", self.logTag, error);
 | 
						|
                }];
 | 
						|
        });
 | 
						|
    } else {
 | 
						|
        dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
 | 
						|
            DDLogInfo(@"%@ skipping; not registered", self.logTag);
 | 
						|
            [self save];
 | 
						|
        });
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
@end
 |