From 77396e11fd1ddbcebc27c4df2786c526800b5ba1 Mon Sep 17 00:00:00 2001 From: Matthew Chen Date: Tue, 29 Jan 2019 12:59:49 -0500 Subject: [PATCH] Send sync messages with link previews preference. --- SignalMessaging/contacts/OWSSyncManager.m | 4 +++- .../Messages/DeviceSyncing/OWSSyncConfigurationMessage.h | 5 +++-- .../Messages/DeviceSyncing/OWSSyncConfigurationMessage.m | 9 +++++++-- SignalServiceKit/src/Util/SSKPreferences.swift | 7 ++++--- 4 files changed, 17 insertions(+), 8 deletions(-) diff --git a/SignalMessaging/contacts/OWSSyncManager.m b/SignalMessaging/contacts/OWSSyncManager.m index 702399f71..722f47db7 100644 --- a/SignalMessaging/contacts/OWSSyncManager.m +++ b/SignalMessaging/contacts/OWSSyncManager.m @@ -239,11 +239,13 @@ NSString *const kSyncManagerLastContactSyncKey = @"kTSStorageManagerOWSSyncManag BOOL areReadReceiptsEnabled = SSKEnvironment.shared.readReceiptManager.areReadReceiptsEnabled; BOOL showUnidentifiedDeliveryIndicators = Environment.shared.preferences.shouldShowUnidentifiedDeliveryIndicators; BOOL showTypingIndicators = self.typingIndicators.areTypingIndicatorsEnabled; + BOOL sendLinkPreviews = SSKPreferences.areLinkPreviewsEnabled; OWSSyncConfigurationMessage *syncConfigurationMessage = [[OWSSyncConfigurationMessage alloc] initWithReadReceiptsEnabled:areReadReceiptsEnabled showUnidentifiedDeliveryIndicators:showUnidentifiedDeliveryIndicators - showTypingIndicators:showTypingIndicators]; + showTypingIndicators:showTypingIndicators + sendLinkPreviews:sendLinkPreviews]; [self.editingDatabaseConnection readWriteWithBlock:^(YapDatabaseReadWriteTransaction *_Nonnull transaction) { [self.messageSenderJobQueue addMessage:syncConfigurationMessage transaction:transaction]; diff --git a/SignalServiceKit/src/Messages/DeviceSyncing/OWSSyncConfigurationMessage.h b/SignalServiceKit/src/Messages/DeviceSyncing/OWSSyncConfigurationMessage.h index 6655d9df4..4d88ff8bb 100644 --- a/SignalServiceKit/src/Messages/DeviceSyncing/OWSSyncConfigurationMessage.h +++ b/SignalServiceKit/src/Messages/DeviceSyncing/OWSSyncConfigurationMessage.h @@ -1,5 +1,5 @@ // -// Copyright (c) 2018 Open Whisper Systems. All rights reserved. +// Copyright (c) 2019 Open Whisper Systems. All rights reserved. // #import "OWSOutgoingSyncMessage.h" @@ -12,7 +12,8 @@ NS_ASSUME_NONNULL_BEGIN - (instancetype)initWithReadReceiptsEnabled:(BOOL)readReceiptsEnabled showUnidentifiedDeliveryIndicators:(BOOL)showUnidentifiedDeliveryIndicators - showTypingIndicators:(BOOL)showTypingIndicators NS_DESIGNATED_INITIALIZER; + showTypingIndicators:(BOOL)showTypingIndicators + sendLinkPreviews:(BOOL)sendLinkPreviews NS_DESIGNATED_INITIALIZER; - (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER; diff --git a/SignalServiceKit/src/Messages/DeviceSyncing/OWSSyncConfigurationMessage.m b/SignalServiceKit/src/Messages/DeviceSyncing/OWSSyncConfigurationMessage.m index 69be67412..f830ab201 100644 --- a/SignalServiceKit/src/Messages/DeviceSyncing/OWSSyncConfigurationMessage.m +++ b/SignalServiceKit/src/Messages/DeviceSyncing/OWSSyncConfigurationMessage.m @@ -1,5 +1,5 @@ // -// Copyright (c) 2018 Open Whisper Systems. All rights reserved. +// Copyright (c) 2019 Open Whisper Systems. All rights reserved. // #import "OWSSyncConfigurationMessage.h" @@ -12,6 +12,7 @@ NS_ASSUME_NONNULL_BEGIN @property (nonatomic, readonly) BOOL areReadReceiptsEnabled; @property (nonatomic, readonly) BOOL showUnidentifiedDeliveryIndicators; @property (nonatomic, readonly) BOOL showTypingIndicators; +@property (nonatomic, readonly) BOOL sendLinkPreviews; @end @@ -19,7 +20,9 @@ NS_ASSUME_NONNULL_BEGIN - (instancetype)initWithReadReceiptsEnabled:(BOOL)areReadReceiptsEnabled showUnidentifiedDeliveryIndicators:(BOOL)showUnidentifiedDeliveryIndicators - showTypingIndicators:(BOOL)showTypingIndicators { + showTypingIndicators:(BOOL)showTypingIndicators + sendLinkPreviews:(BOOL)sendLinkPreviews +{ self = [super init]; if (!self) { return nil; @@ -28,6 +31,7 @@ NS_ASSUME_NONNULL_BEGIN _areReadReceiptsEnabled = areReadReceiptsEnabled; _showUnidentifiedDeliveryIndicators = showUnidentifiedDeliveryIndicators; _showTypingIndicators = showTypingIndicators; + _sendLinkPreviews = sendLinkPreviews; return self; } @@ -43,6 +47,7 @@ NS_ASSUME_NONNULL_BEGIN configurationBuilder.readReceipts = self.areReadReceiptsEnabled; configurationBuilder.unidentifiedDeliveryIndicators = self.showUnidentifiedDeliveryIndicators; configurationBuilder.typingIndicators = self.showTypingIndicators; + configurationBuilder.linkPreviews = self.sendLinkPreviews; NSError *error; SSKProtoSyncMessageConfiguration *_Nullable configurationProto = [configurationBuilder buildAndReturnError:&error]; diff --git a/SignalServiceKit/src/Util/SSKPreferences.swift b/SignalServiceKit/src/Util/SSKPreferences.swift index e264cd34b..d81e01581 100644 --- a/SignalServiceKit/src/Util/SSKPreferences.swift +++ b/SignalServiceKit/src/Util/SSKPreferences.swift @@ -21,8 +21,9 @@ public class SSKPreferences: NSObject { @objc public class func setAreLinkPreviewsEnabled(value: Bool) { - return OWSPrimaryStorage.dbReadWriteConnection().setBool(value, - forKey: areLinkPreviewsEnabledKey, - inCollection: collection) + OWSPrimaryStorage.dbReadWriteConnection().setBool(value, + forKey: areLinkPreviewsEnabledKey, + inCollection: collection) + SSKEnvironment.shared.syncManager.sendConfigurationSyncMessage() } }