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