mirror of https://github.com/oxen-io/session-ios
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
79 lines
2.1 KiB
Objective-C
79 lines
2.1 KiB
Objective-C
//
|
|
// Copyright (c) 2019 Open Whisper Systems. All rights reserved.
|
|
//
|
|
|
|
#import <Foundation/Foundation.h>
|
|
#import <SessionMessagingKit/YapDatabaseConnection+OWS.h>
|
|
#import <SessionMessagingKit/YapDatabaseTransaction+OWS.h>
|
|
#import <SessionUtilitiesKit/SessionUtilitiesKit.h>
|
|
|
|
NS_ASSUME_NONNULL_BEGIN
|
|
|
|
/**
|
|
* The users privacy preference for what kind of content to show in lock screen notifications.
|
|
*/
|
|
typedef NS_ENUM(NSUInteger, NotificationType) {
|
|
NotificationNoNameNoPreview,
|
|
NotificationNameNoPreview,
|
|
NotificationNamePreview,
|
|
};
|
|
|
|
NSString *NSStringForNotificationType(NotificationType value);
|
|
|
|
// Used when migrating logging to NSUserDefaults.
|
|
extern NSString *const OWSPreferencesSignalDatabaseCollection;
|
|
extern NSString *const OWSPreferencesCallLoggingDidChangeNotification;
|
|
|
|
@class YapDatabaseReadWriteTransaction;
|
|
|
|
@interface OWSPreferences : NSObject
|
|
|
|
#pragma mark - Helpers
|
|
|
|
- (nullable id)tryGetValueForKey:(NSString *)key;
|
|
- (void)setValueForKey:(NSString *)key toValue:(nullable id)value;
|
|
- (void)clear;
|
|
|
|
#pragma mark - Specific Preferences
|
|
|
|
- (BOOL)hasSentAMessage;
|
|
- (void)setHasSentAMessage:(BOOL)enabled;
|
|
|
|
- (BOOL)hasDeclinedNoContactsView;
|
|
- (void)setHasDeclinedNoContactsView:(BOOL)value;
|
|
|
|
- (void)setIOSUpgradeNagDate:(NSDate *)value;
|
|
- (nullable NSDate *)iOSUpgradeNagDate;
|
|
|
|
- (BOOL)shouldShowUnidentifiedDeliveryIndicators;
|
|
- (void)setShouldShowUnidentifiedDeliveryIndicators:(BOOL)value;
|
|
|
|
#pragma mark Callkit
|
|
|
|
- (BOOL)isSystemCallLogEnabled;
|
|
- (void)setIsSystemCallLogEnabled:(BOOL)flag;
|
|
|
|
#pragma mark - Legacy CallKit settings
|
|
|
|
- (void)applyCallLoggingSettingsForLegacyUsersWithTransaction:(YapDatabaseReadWriteTransaction *)transaction;
|
|
|
|
- (BOOL)isCallKitEnabled;
|
|
- (void)setIsCallKitEnabled:(BOOL)flag;
|
|
|
|
// Returns YES IFF isCallKitEnabled has been set by user.
|
|
- (BOOL)isCallKitEnabledSet;
|
|
|
|
- (BOOL)isCallKitPrivacyEnabled;
|
|
- (void)setIsCallKitPrivacyEnabled:(BOOL)flag;
|
|
// Returns YES IFF isCallKitPrivacyEnabled has been set by user.
|
|
- (BOOL)isCallKitPrivacySet;
|
|
|
|
#pragma mark direct call connectivity (non-TURN)
|
|
|
|
- (BOOL)doCallsHideIPAddress;
|
|
- (void)setDoCallsHideIPAddress:(BOOL)flag;
|
|
|
|
@end
|
|
|
|
NS_ASSUME_NONNULL_END
|