|
|
|
@ -110,7 +110,7 @@ typedef NS_ENUM(NSInteger, AdvancedSettingsTableViewControllerSection) {
|
|
|
|
|
case AdvancedSettingsTableViewControllerSectionLogging:
|
|
|
|
|
return self.enableLogSwitch.isOn ? 2 : 1;
|
|
|
|
|
case AdvancedSettingsTableViewControllerSectionCalling:
|
|
|
|
|
return self.supportsCallKit ? 2 : 1;
|
|
|
|
|
return ([Environment.preferences isWebRTCEnabled] && self.supportsCallKit) ? 2 : 1;
|
|
|
|
|
case AdvancedSettingsTableViewControllerSectionPushNotifications:
|
|
|
|
|
return 1;
|
|
|
|
|
default:
|
|
|
|
@ -214,10 +214,12 @@ typedef NS_ENUM(NSInteger, AdvancedSettingsTableViewControllerSection) {
|
|
|
|
|
[[TSNetworkManager sharedManager] makeRequest:request
|
|
|
|
|
success:^(NSURLSessionDataTask *task, id responseObject) {
|
|
|
|
|
|
|
|
|
|
AdvancedSettingsTableViewController *strongSelf = weakSelf;
|
|
|
|
|
// Use the request id to ignore obsolete requests, e.g. if the
|
|
|
|
|
// user repeatedly changes the setting faster than the requests
|
|
|
|
|
// can complete.
|
|
|
|
|
if (enableWebRTCRequestCounter != enableWebRTCRequestId) {
|
|
|
|
|
if (!strongSelf ||
|
|
|
|
|
enableWebRTCRequestCounter != enableWebRTCRequestId) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -225,6 +227,7 @@ typedef NS_ENUM(NSInteger, AdvancedSettingsTableViewControllerSection) {
|
|
|
|
|
// otherwise local and service state will fall out of sync
|
|
|
|
|
// with every network failure.
|
|
|
|
|
[Environment.preferences setIsWebRTCEnabled:isWebRTCEnabled];
|
|
|
|
|
[strongSelf.tableView reloadData];
|
|
|
|
|
}
|
|
|
|
|
failure:^(NSURLSessionDataTask *task, NSError *error) {
|
|
|
|
|
DDLogError(@"Updating attributes failed with error: %@", error.description);
|
|
|
|
|