From f765c6c1bb5ca4e142f15f3b3b354da18d0ebed5 Mon Sep 17 00:00:00 2001
From: Matthew Chen <matthew@signal.org>
Date: Mon, 22 Oct 2018 10:00:40 -0400
Subject: [PATCH] Update UD settings copy.

---
 .../PrivacySettingsTableViewController.m      | 54 +++++++++++++++++--
 .../translations/en.lproj/Localizable.strings |  9 ++--
 2 files changed, 55 insertions(+), 8 deletions(-)

diff --git a/Signal/src/ViewControllers/AppSettings/PrivacySettingsTableViewController.m b/Signal/src/ViewControllers/AppSettings/PrivacySettingsTableViewController.m
index a71a71af7..d2afb7ea0 100644
--- a/Signal/src/ViewControllers/AppSettings/PrivacySettingsTableViewController.m
+++ b/Signal/src/ViewControllers/AppSettings/PrivacySettingsTableViewController.m
@@ -10,6 +10,7 @@
 #import <SignalMessaging/Environment.h>
 #import <SignalMessaging/OWSPreferences.h>
 #import <SignalMessaging/ThreadUtil.h>
+#import <SignalMessaging/UIColor+OWS.h>
 #import <SignalServiceKit/OWS2FAManager.h>
 #import <SignalServiceKit/OWSReadReceiptManager.h>
 #import <SignalServiceKit/SignalServiceKit-Swift.h>
@@ -218,6 +219,7 @@ NS_ASSUME_NONNULL_BEGIN
                     target:weakSelf
                   selector:@selector(didToggleUDShowIndicatorsSwitch:)];
     [unidentifiedDeliveryIndicatorsSection addItem:showUDIndicatorsItem];
+    [contents addSection:unidentifiedDeliveryIndicatorsSection];
 
     OWSTableSection *unidentifiedDeliveryUnrestrictedSection = [OWSTableSection new];
     OWSTableItem *unrestrictedAccessItem = [OWSTableItem
@@ -226,13 +228,55 @@ NS_ASSUME_NONNULL_BEGIN
                     target:weakSelf
                   selector:@selector(didToggleUDUnrestrictedAccessSwitch:)];
     [unidentifiedDeliveryUnrestrictedSection addItem:unrestrictedAccessItem];
-
-    unidentifiedDeliveryUnrestrictedSection.footerTitle
-        = NSLocalizedString(@"SETTINGS_UNIDENTIFIED_DELIVERY_UNRESTRICTED_ACCESS_FOOTER", @"table section footer");
-
-    [contents addSection:unidentifiedDeliveryIndicatorsSection];
     [contents addSection:unidentifiedDeliveryUnrestrictedSection];
 
+    OWSTableSection *unidentifiedDeliveryLearnMoreSection = [OWSTableSection new];
+    [unidentifiedDeliveryLearnMoreSection
+        addItem:[OWSTableItem
+                    itemWithCustomCellBlock:^UITableViewCell * {
+                        UITableViewCell *cell = [OWSTableItem newCell];
+                        cell.preservesSuperviewLayoutMargins = YES;
+                        cell.contentView.preservesSuperviewLayoutMargins = YES;
+
+                        NSAttributedString *attributedText = [NSAttributedString new];
+                        attributedText = [attributedText
+                            rtlSafeAppend:NSLocalizedString(
+                                              @"SETTINGS_UNIDENTIFIED_DELIVERY_UNRESTRICTED_ACCESS_FOOTER",
+                                              @"table section footer")
+                               attributes:@{
+                                   NSFontAttributeName : [UIFont ows_dynamicTypeFootnoteFont],
+                                   NSForegroundColorAttributeName : [Theme secondaryColor],
+                               }];
+                        attributedText =
+                            [attributedText rtlSafeAppend:@" "
+                                               attributes:@{
+                                                   NSFontAttributeName : [UIFont ows_dynamicTypeFootnoteFont],
+                                               }];
+                        attributedText = [attributedText
+                            rtlSafeAppend:NSLocalizedString(@"SETTINGS_UNIDENTIFIED_DELIVERY_LEARN_MORE",
+                                              @"Label for a link to more info about unidentified delivery.")
+                               attributes:@{
+                                   NSFontAttributeName : [UIFont ows_dynamicTypeFootnoteFont],
+                                   NSForegroundColorAttributeName : [UIColor ows_materialBlueColor],
+                               }];
+
+                        UILabel *label = [UILabel new];
+                        label.attributedText = attributedText;
+                        label.numberOfLines = 0;
+                        label.lineBreakMode = NSLineBreakByWordWrapping;
+
+                        [cell.contentView addSubview:label];
+                        [label ows_autoPinToSuperviewMargins];
+                        return cell;
+                    }
+                    customRowHeight:UITableViewAutomaticDimension
+                    actionBlock:^{
+                        NSURL *url = [NSURL URLWithString:@"https://signal.org/blog/secret-sender/"];
+                        OWSAssertDebug(url);
+                        [UIApplication.sharedApplication openURL:url];
+                    }]];
+    [contents addSection:unidentifiedDeliveryLearnMoreSection];
+
     self.contents = contents;
 }
 
diff --git a/Signal/translations/en.lproj/Localizable.strings b/Signal/translations/en.lproj/Localizable.strings
index 9757f16ef..486a0b942 100644
--- a/Signal/translations/en.lproj/Localizable.strings
+++ b/Signal/translations/en.lproj/Localizable.strings
@@ -2090,20 +2090,23 @@
 /* Title for the 'two factor auth' section of the privacy settings. */
 "SETTINGS_TWO_FACTOR_AUTH_TITLE" = "Registration Lock";
 
+/* Label for a link to more info about unidentified delivery. */
+"SETTINGS_UNIDENTIFIED_DELIVERY_LEARN_MORE" = "Learn More";
+
 /* table section label */
-"SETTINGS_UNIDENTIFIED_DELIVERY_SECTION_TITLE" = "Unidentified Delivery";
+"SETTINGS_UNIDENTIFIED_DELIVERY_SECTION_TITLE" = "Secret Sender";
 
 /* switch label */
 "SETTINGS_UNIDENTIFIED_DELIVERY_SHOW_INDICATORS" = "Display Indicators";
 
 /* table section footer */
-"SETTINGS_UNIDENTIFIED_DELIVERY_SHOW_INDICATORS_FOOTER" = "Show a status icon when you select \"More Info\" on messages that were sent using unidentified delivery.";
+"SETTINGS_UNIDENTIFIED_DELIVERY_SHOW_INDICATORS_FOOTER" = "Show a status icon when you select \"More Info\" on messages that were delivered using secret sender.";
 
 /* switch label */
 "SETTINGS_UNIDENTIFIED_DELIVERY_UNRESTRICTED_ACCESS" = "Allow from Anyone";
 
 /* table section footer */
-"SETTINGS_UNIDENTIFIED_DELIVERY_UNRESTRICTED_ACCESS_FOOTER" = "Enable unidentified delivery for incoming messages from non-contacts and people with whom you have not shared your profile.";
+"SETTINGS_UNIDENTIFIED_DELIVERY_UNRESTRICTED_ACCESS_FOOTER" = "Enable secret sender for incoming messages from non-contacts and people with whom you have not shared your profile.";
 
 /* No comment provided by engineer. */
 "SETTINGS_VERSION" = "Version";