mirror of
https://github.com/oxen-io/session-ios.git
synced 2023-12-13 21:30:14 +01:00
140 lines
4.2 KiB
Objective-C
140 lines
4.2 KiB
Objective-C
//
|
|
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
|
|
//
|
|
|
|
#import "DebugUISyncMessages.h"
|
|
#import "DebugUIContacts.h"
|
|
#import "OWSTableViewController.h"
|
|
#import "Session-Swift.h"
|
|
#import "ThreadUtil.h"
|
|
#import <AxolotlKit/PreKeyBundle.h>
|
|
#import <PromiseKit/AnyPromise.h>
|
|
#import <SignalCoreKit/Randomness.h>
|
|
#import <SignalMessaging/Environment.h>
|
|
#import <SignalServiceKit/OWSBatchMessageProcessor.h>
|
|
#import <SignalServiceKit/OWSBlockingManager.h>
|
|
#import <SignalServiceKit/OWSDisappearingConfigurationUpdateInfoMessage.h>
|
|
#import <SignalServiceKit/OWSDisappearingMessagesConfiguration.h>
|
|
#import <SignalServiceKit/OWSPrimaryStorage+SessionStore.h>
|
|
#import <SignalServiceKit/OWSPrimaryStorage.h>
|
|
#import <SignalServiceKit/OWSReadReceiptManager.h>
|
|
#import <SignalServiceKit/OWSSyncGroupsMessage.h>
|
|
#import <SignalServiceKit/OWSSyncGroupsRequestMessage.h>
|
|
#import <SignalServiceKit/OWSVerificationStateChangeMessage.h>
|
|
#import <SignalServiceKit/SignalServiceKit-Swift.h>
|
|
#import <SignalServiceKit/TSCall.h>
|
|
#import <SignalServiceKit/TSDatabaseView.h>
|
|
#import <SignalServiceKit/TSIncomingMessage.h>
|
|
#import <SignalServiceKit/TSInvalidIdentityKeyReceivingErrorMessage.h>
|
|
#import <SignalServiceKit/TSThread.h>
|
|
|
|
NS_ASSUME_NONNULL_BEGIN
|
|
|
|
@implementation DebugUISyncMessages
|
|
|
|
#pragma mark - Factory Methods
|
|
|
|
- (NSString *)name
|
|
{
|
|
return @"Sync Messages";
|
|
}
|
|
|
|
- (nullable OWSTableSection *)sectionForThread:(nullable TSThread *)thread
|
|
{
|
|
NSArray<OWSTableItem *> *items = @[
|
|
[OWSTableItem itemWithTitle:@"Send Contacts Sync Message"
|
|
actionBlock:^{
|
|
[DebugUISyncMessages sendContactsSyncMessage];
|
|
}],
|
|
[OWSTableItem itemWithTitle:@"Send Groups Sync Message"
|
|
actionBlock:^{
|
|
[DebugUISyncMessages sendGroupSyncMessage];
|
|
}],
|
|
[OWSTableItem itemWithTitle:@"Send Blocklist Sync Message"
|
|
actionBlock:^{
|
|
[DebugUISyncMessages sendBlockListSyncMessage];
|
|
}],
|
|
[OWSTableItem itemWithTitle:@"Send Configuration Sync Message"
|
|
actionBlock:^{
|
|
[DebugUISyncMessages sendConfigurationSyncMessage];
|
|
}],
|
|
];
|
|
return [OWSTableSection sectionWithTitle:self.name items:items];
|
|
}
|
|
|
|
+ (SSKMessageSenderJobQueue *)messageSenderJobQueue
|
|
{
|
|
return SSKEnvironment.shared.messageSenderJobQueue;
|
|
}
|
|
|
|
+ (OWSContactsManager *)contactsManager
|
|
{
|
|
return Environment.shared.contactsManager;
|
|
}
|
|
|
|
+ (OWSIdentityManager *)identityManager
|
|
{
|
|
return [OWSIdentityManager sharedManager];
|
|
}
|
|
|
|
+ (OWSBlockingManager *)blockingManager
|
|
{
|
|
return [OWSBlockingManager sharedManager];
|
|
}
|
|
|
|
+ (OWSProfileManager *)profileManager
|
|
{
|
|
return [OWSProfileManager sharedManager];
|
|
}
|
|
|
|
+ (YapDatabaseConnection *)dbConnection
|
|
{
|
|
return [OWSPrimaryStorage.sharedManager newDatabaseConnection];
|
|
}
|
|
|
|
+ (id<OWSSyncManagerProtocol>)syncManager
|
|
{
|
|
OWSAssertDebug(SSKEnvironment.shared.syncManager);
|
|
|
|
return SSKEnvironment.shared.syncManager;
|
|
}
|
|
|
|
#pragma mark -
|
|
|
|
+ (void)sendContactsSyncMessage
|
|
{
|
|
[[self.syncManager syncAllContacts] retainUntilComplete];
|
|
}
|
|
|
|
+ (void)sendGroupSyncMessage
|
|
{
|
|
OWSSyncGroupsMessage *syncGroupsMessage = [[OWSSyncGroupsMessage alloc] init];
|
|
__block DataSource *dataSource;
|
|
[self.dbConnection readWithBlock:^(YapDatabaseReadTransaction *transaction) {
|
|
dataSource = [DataSourceValue
|
|
dataSourceWithSyncMessageData:[syncGroupsMessage buildPlainTextAttachmentDataWithTransaction:transaction]];
|
|
}];
|
|
|
|
[self.messageSenderJobQueue addMediaMessage:syncGroupsMessage
|
|
dataSource:dataSource
|
|
contentType:OWSMimeTypeApplicationOctetStream
|
|
sourceFilename:nil
|
|
caption:nil
|
|
albumMessageId:nil
|
|
isTemporaryAttachment:YES];
|
|
}
|
|
|
|
+ (void)sendBlockListSyncMessage
|
|
{
|
|
[self.blockingManager syncBlockList];
|
|
}
|
|
|
|
+ (void)sendConfigurationSyncMessage
|
|
{
|
|
[SSKEnvironment.shared.syncManager sendConfigurationSyncMessage];
|
|
}
|
|
|
|
@end
|
|
|
|
NS_ASSUME_NONNULL_END
|