// // Copyright (c) 2018 Open Whisper Systems. All rights reserved. // #import "OWS103EnableVideoCalling.h" #import #import #import #import // Increment a similar constant for every future DBMigration static NSString *const OWS103EnableVideoCallingMigrationId = @"103"; @implementation OWS103EnableVideoCalling #pragma mark - Dependencies - (TSAccountManager *)tsAccountManager { OWSAssertDebug(SSKEnvironment.shared.tsAccountManager); return SSKEnvironment.shared.tsAccountManager; } #pragma mark - + (NSString *)migrationId { return OWS103EnableVideoCallingMigrationId; } // Override parent migration - (void)runUpWithCompletion:(OWSDatabaseMigrationCompletion)completion { OWSAssertDebug(completion); OWSLogWarn(@"running migration..."); if ([self.tsAccountManager isRegistered]) { dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ TSRequest *request = [OWSRequestFactory updateAttributesRequest]; [[TSNetworkManager sharedManager] makeRequest:request success:^(NSURLSessionDataTask *task, id responseObject) { OWSLogInfo(@"successfully ran"); [self save]; completion(); } failure:^(NSURLSessionDataTask *task, NSError *error) { if (!IsNSErrorNetworkFailure(error)) { OWSProdError([OWSAnalyticsEvents errorEnableVideoCallingRequestFailed]); } OWSLogError(@"failed with error: %@", error); completion(); }]; }); } else { dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ OWSLogInfo(@"skipping; not registered"); [self save]; completion(); }); } } @end