From 53cb36e53793b814a9d8476f81d92448b75218f9 Mon Sep 17 00:00:00 2001 From: Matthew Chen Date: Fri, 3 Feb 2017 11:54:57 -0500 Subject: [PATCH] Callkit option should only be visible when "Video Call (Beta)" is enabled. // FREEBIE --- .../view controllers/AdvancedSettingsTableViewController.m | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Signal/src/view controllers/AdvancedSettingsTableViewController.m b/Signal/src/view controllers/AdvancedSettingsTableViewController.m index adb24a5eb..349abeb7b 100644 --- a/Signal/src/view controllers/AdvancedSettingsTableViewController.m +++ b/Signal/src/view controllers/AdvancedSettingsTableViewController.m @@ -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);