Retain changes from session database branch.

This commit is contained in:
Matthew Chen 2018-01-10 10:54:17 -05:00
parent b8c6d29170
commit e77c3e6717
27 changed files with 354 additions and 334 deletions

View File

@ -1,5 +1,5 @@
//
// Copyright (c) 2017 Open Whisper Systems. All rights reserved.
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
//
#import <Availability.h>
@ -15,7 +15,7 @@
static const NSUInteger ddLogLevel = DDLogLevelInfo;
#endif
#import <SignalServiceKit/Asserts.h>
#import <SignalServiceKit/OWSAsserts.h>
#import <SignalServiceKit/Constraints.h>
#import <SignalServiceKit/OWSAnalytics.h>
#import <SignalServiceKit/OWSDispatch.h>

View File

@ -1,5 +1,5 @@
//
// Copyright (c) 2017 Open Whisper Systems. All rights reserved.
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
//
#import <Foundation/Foundation.h>
@ -58,7 +58,6 @@
#import <SignalMessaging/UIView+OWS.h>
#import <SignalMessaging/UIViewController+OWS.h>
#import <SignalServiceKit/AppVersion.h>
#import <SignalServiceKit/Asserts.h>
#import <SignalServiceKit/Contact.h>
#import <SignalServiceKit/ContactsUpdater.h>
#import <SignalServiceKit/Cryptography.h>
@ -72,6 +71,7 @@
#import <SignalServiceKit/OWSAcknowledgeMessageDeliveryRequest.h>
#import <SignalServiceKit/OWSAnalytics.h>
#import <SignalServiceKit/OWSAnalyticsEvents.h>
#import <SignalServiceKit/OWSAsserts.h>
#import <SignalServiceKit/OWSAttachmentsProcessor.h>
#import <SignalServiceKit/OWSBackgroundTask.h>
#import <SignalServiceKit/OWSCallAnswerMessage.h>

View File

@ -1,5 +1,5 @@
//
// Copyright (c) 2017 Open Whisper Systems. All rights reserved.
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
//
#import "AboutTableViewController.h"
@ -75,11 +75,14 @@
threadCount = [[transaction ext:TSThreadDatabaseViewExtensionName] numberOfItemsInAllGroups];
messageCount = [[transaction ext:TSMessageDatabaseViewExtensionName] numberOfItemsInAllGroups];
}];
unsigned long long databaseFileSize = [TSStorageManager.sharedManager databaseFileSize];
OWSTableSection *debugSection = [OWSTableSection new];
debugSection.headerTitle = @"Debug";
[debugSection addItem:[OWSTableItem labelItemWithText:[NSString stringWithFormat:@"Threads: %zd", threadCount]]];
[debugSection addItem:[OWSTableItem labelItemWithText:[NSString stringWithFormat:@"Messages: %zd", messageCount]]];
[debugSection
addItem:[OWSTableItem labelItemWithText:[NSString stringWithFormat:@"Database size: %llu", databaseFileSize]]];
[contents addSection:debugSection];
OWSPreferences *preferences = [Environment preferences];

View File

@ -1,5 +1,5 @@
//
// Copyright (c) 2017 Open Whisper Systems. All rights reserved.
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
//
import Foundation
@ -146,7 +146,7 @@ class CallViewController: OWSViewController, CallObserver, CallServiceObserver {
func observeNotifications() {
NotificationCenter.default.addObserver(self,
selector:#selector(didBecomeActive),
name:NSNotification.Name.UIApplicationDidBecomeActive,
name:NSNotification.Name.OWSApplicationDidBecomeActive,
object:nil)
NotificationCenter.default.addObserver(forName: CallAudioServiceSessionChanged, object: nil, queue: nil) { [weak self] _ in

View File

@ -1,5 +1,5 @@
//
// Copyright (c) 2017 Open Whisper Systems. All rights reserved.
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
//
#import "ConversationViewController.h"
@ -302,19 +302,19 @@ typedef NS_ENUM(NSInteger, MessagesRangeSizeMode) {
object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(applicationWillEnterForeground:)
name:UIApplicationWillEnterForegroundNotification
name:OWSApplicationWillEnterForegroundNotification
object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(applicationDidEnterBackground:)
name:UIApplicationDidEnterBackgroundNotification
name:OWSApplicationDidEnterBackgroundNotification
object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(applicationWillResignActive:)
name:UIApplicationWillResignActiveNotification
name:OWSApplicationWillResignActiveNotification
object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(cancelReadTimer)
name:UIApplicationDidEnterBackgroundNotification
name:OWSApplicationDidEnterBackgroundNotification
object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(otherUsersProfileDidChange:)

View File

@ -1,5 +1,5 @@
//
// Copyright (c) 2017 Open Whisper Systems. All rights reserved.
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
//
import Foundation
@ -127,7 +127,7 @@ class GifPickerViewController: OWSViewController, UISearchBarDelegate, UICollect
object: nil)
NotificationCenter.default.addObserver(self,
selector: #selector(didBecomeActive),
name: NSNotification.Name.UIApplicationDidBecomeActive,
name: NSNotification.Name.OWSApplicationDidBecomeActive,
object: nil)
}

View File

@ -1,5 +1,5 @@
//
// Copyright (c) 2017 Open Whisper Systems. All rights reserved.
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
//
#import "HomeViewController.h"
@ -124,24 +124,24 @@ typedef NS_ENUM(NSInteger, CellState) { kArchiveState, kInboxState };
object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(applicationWillEnterForeground:)
name:UIApplicationWillEnterForegroundNotification
name:OWSApplicationWillEnterForegroundNotification
object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(applicationDidEnterBackground:)
name:UIApplicationDidEnterBackgroundNotification
name:OWSApplicationDidEnterBackgroundNotification
object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(applicationDidBecomeActive:)
name:UIApplicationDidBecomeActiveNotification
name:OWSApplicationDidBecomeActiveNotification
object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(yapDatabaseModified:)
name:YapDatabaseModifiedNotification
object:nil];
object:TSStorageManager.sharedManager.dbNotificationObject];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(yapDatabaseModifiedExternally:)
name:YapDatabaseModifiedExternallyNotification
object:nil];
object:TSStorageManager.sharedManager.dbNotificationObject];
}
- (void)dealloc

View File

@ -1,5 +1,5 @@
//
// Copyright (c) 2017 Open Whisper Systems. All rights reserved.
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
//
import Foundation
@ -230,11 +230,11 @@ protocol CallServiceObserver: class {
NotificationCenter.default.addObserver(self,
selector: #selector(didEnterBackground),
name: NSNotification.Name.UIApplicationDidEnterBackground,
name: NSNotification.Name.OWSApplicationDidEnterBackground,
object: nil)
NotificationCenter.default.addObserver(self,
selector: #selector(didBecomeActive),
name: NSNotification.Name.UIApplicationDidBecomeActive,
name: NSNotification.Name.OWSApplicationDidBecomeActive,
object: nil)
}

View File

@ -1,5 +1,5 @@
//
// Copyright (c) 2017 Open Whisper Systems. All rights reserved.
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
//
import Foundation
@ -848,7 +848,7 @@ extension URLSessionTask {
}
// Don't back up Giphy downloads.
OWSFileSystem.protectFolder(atPath:dirPath)
OWSFileSystem.protectFileOrFolder(atPath:dirPath)
} catch let error as NSError {
owsFail("\(GiphyAsset.TAG) ensureTempFolder failed: \(dirPath), \(error)")
gifFolderPath = tempDirPath

View File

@ -1,5 +1,5 @@
//
// Copyright (c) 2017 Open Whisper Systems. All rights reserved.
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
//
#import "MainAppContext.h"
@ -53,28 +53,46 @@ NS_ASSUME_NONNULL_BEGIN
- (void)applicationWillEnterForeground:(NSNotification *)notification
{
AssertIsOnMainThread();
DDLogInfo(@"%@ %s", self.logTag, __PRETTY_FUNCTION__);
[NSNotificationCenter.defaultCenter postNotificationName:OWSApplicationWillEnterForegroundNotification object:nil];
}
- (void)applicationDidEnterBackground:(NSNotification *)notification
{
AssertIsOnMainThread();
DDLogInfo(@"%@ %s", self.logTag, __PRETTY_FUNCTION__);
[DDLog flushLog];
[NSNotificationCenter.defaultCenter postNotificationName:OWSApplicationDidEnterBackgroundNotification object:nil];
}
- (void)applicationWillResignActive:(NSNotification *)notification
{
AssertIsOnMainThread();
DDLogInfo(@"%@ %s", self.logTag, __PRETTY_FUNCTION__);
[DDLog flushLog];
[NSNotificationCenter.defaultCenter postNotificationName:OWSApplicationWillResignActiveNotification object:nil];
}
- (void)applicationDidBecomeActive:(NSNotification *)notification
{
AssertIsOnMainThread();
DDLogInfo(@"%@ %s", self.logTag, __PRETTY_FUNCTION__);
[NSNotificationCenter.defaultCenter postNotificationName:OWSApplicationDidBecomeActiveNotification object:nil];
}
- (void)applicationWillTerminate:(NSNotification *)notification
{
AssertIsOnMainThread();
DDLogInfo(@"%@ %s", self.logTag, __PRETTY_FUNCTION__);
[DDLog flushLog];
}

View File

@ -1,10 +1,5 @@
// Grabbed from: https://github.com/cbpowell/MarqueeLabel-Swift/blob/cd331f3cfc3f9d7114ffa5aa4f243f1d5eda9d0d/Classes/MarqueeLabel.swift
// License: MIT License
//
// MarqueeLabel.swift
//
// Created by Charles Powell on 8/6/14.
// Copyright (c) 2015 Charles Powell. All rights reserved.
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
//
import UIKit
@ -332,13 +327,11 @@ open class MarqueeLabel: UILabel, CAAnimationDelegate {
}
}
/**
The length of delay in seconds that the label pauses at the completion of a scroll.
*/
@IBInspectable open var animationDelay: CGFloat = 1.0
/** The read-only duration of the scroll animation (not including delay).
The value of this property is calculated from the value set to the `speed` property. If a .duration value is
@ -419,7 +412,6 @@ open class MarqueeLabel: UILabel, CAAnimationDelegate {
MarqueeLabel.notifyController(controller, message: .Animate)
}
//
// MARK: - Initialization
//
@ -492,8 +484,8 @@ open class MarqueeLabel: UILabel, CAAnimationDelegate {
NotificationCenter.default.addObserver(self, selector: #selector(MarqueeLabel.labelizeForController(_:)), name: NSNotification.Name(rawValue: MarqueeKeys.Labelize.rawValue), object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(MarqueeLabel.animateForController(_:)), name: NSNotification.Name(rawValue: MarqueeKeys.Animate.rawValue), object: nil)
// UIApplication state notifications
NotificationCenter.default.addObserver(self, selector: #selector(MarqueeLabel.restartLabel), name: NSNotification.Name.UIApplicationDidBecomeActive, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(MarqueeLabel.shutdownLabel), name: NSNotification.Name.UIApplicationDidEnterBackground, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(MarqueeLabel.restartLabel), name: NSNotification.Name.OWSApplicationDidBecomeActive, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(MarqueeLabel.shutdownLabel), name: NSNotification.Name.OWSApplicationDidEnterBackground, object: nil)
}
override open func awakeFromNib() {
@ -596,7 +588,7 @@ open class MarqueeLabel: UILabel, CAAnimationDelegate {
awayOffset = 0.0
// Remove an additional sublabels (for continuous types)
repliLayer?.instanceCount = 1;
repliLayer?.instanceCount = 1
// Set the sublabel frame to calculated labelFrame
sublabel.frame = labelFrame
@ -701,13 +693,11 @@ open class MarqueeLabel: UILabel, CAAnimationDelegate {
ScrollStep(timeStep: animationDuration, timingFunction: animationCurve, // Away position, using animationCurve transition, with only leading edge faded in
position: .away, edgeFades: .leading),
ScrollStep(timeStep: 60*60*24*365.0, // "Delay" at away, for huge time to effectie stay at away permanently
position: .away, edgeFades: .leading),
position: .away, edgeFades: .leading)
]
}
}
// Configure gradient for current condition
applyGradientMask(fadeLength, animated: !self.labelize)
@ -842,10 +832,10 @@ open class MarqueeLabel: UILabel, CAAnimationDelegate {
fader = nil
}
#else
fader = nil;
fader = nil
#endif
scrollCompletionBlock = { [weak self] (finished: Bool) -> () in
scrollCompletionBlock = { [weak self] (finished: Bool) -> Void in
guard finished else {
// Do not continue into the next loop
return
@ -1132,7 +1122,6 @@ open class MarqueeLabel: UILabel, CAAnimationDelegate {
}
}
//
// MARK: - Private details
//
@ -1162,8 +1151,8 @@ open class MarqueeLabel: UILabel, CAAnimationDelegate {
// Draw only background color
if let bgColor = backgroundColor {
ctx.setFillColor(bgColor.cgColor);
ctx.fill(layer.bounds);
ctx.setFillColor(bgColor.cgColor)
ctx.fill(layer.bounds)
}
}
@ -1202,7 +1191,6 @@ open class MarqueeLabel: UILabel, CAAnimationDelegate {
}
}
//
// MARK: - Label Control
//
@ -1573,7 +1561,6 @@ open class MarqueeLabel: UILabel, CAAnimationDelegate {
}
}
//
// MARK: - Support
//
@ -1592,7 +1579,6 @@ open class MarqueeLabel: UILabel, CAAnimationDelegate {
}
//
// MARK: - Support
//
@ -1602,7 +1588,6 @@ public protocol MarqueeStep {
var edgeFades: EdgeFade { get }
}
/**
`ScrollStep` types define the label position at a specified time delta since the last `ScrollStep` step, as well as
the animation curve to that position and edge fade state at the position
@ -1661,7 +1646,6 @@ public struct ScrollStep: MarqueeStep {
}
}
/**
`FadeStep` types allow additional edge fade state definitions, around the states defined by the `ScrollStep` steps of
a sequence. `FadeStep` steps are defined by the time delta to the preceding or subsequent `ScrollStep` step and the timing
@ -1712,15 +1696,15 @@ public struct EdgeFade : OptionSet {
public static let trailing = EdgeFade(rawValue: 1 << 1)
public init(rawValue: Int) {
self.rawValue = rawValue;
self.rawValue = rawValue
}
}
// Define helpful typealiases
fileprivate typealias MLAnimationCompletionBlock = (_ finished: Bool) -> ()
fileprivate typealias MLAnimationCompletionBlock = (_ finished: Bool) -> Void
fileprivate typealias MLAnimation = (anim: CAKeyframeAnimation, duration: CGFloat)
fileprivate class GradientSetupAnimation: CABasicAnimation {
private class GradientSetupAnimation: CABasicAnimation {
}
fileprivate extension UIResponder {
@ -1852,4 +1836,3 @@ fileprivate extension CAMediaTimingFunction {
return pointArray
}
}

View File

@ -656,7 +656,7 @@
"FINGERPRINT_SCAN_VERIFY_BUTTON" = "Mark as Verified";
/* No comment provided by engineer. */
"FINGERPRINT_SHRED_KEYMATERIAL_BUTTON" = "Reset this session.";
"FINGERPRINT_SHRED_KEYMATERIAL_BUTTON" = "Reset this session";
/* Accessibilty label for finishing new group */
"FINISH_GROUP_CREATION_LABEL" = "Finish creating group";

View File

@ -1,5 +1,5 @@
//
// Copyright (c) 2017 Open Whisper Systems. All rights reserved.
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
//
#import <Availability.h>
@ -15,7 +15,7 @@
static const NSUInteger ddLogLevel = DDLogLevelInfo;
#endif
#import <SignalServiceKit/Asserts.h>
#import <SignalServiceKit/OWSAsserts.h>
#import <SignalServiceKit/Constraints.h>
#import <SignalServiceKit/OWSAnalytics.h>
#import <SignalServiceKit/OWSDispatch.h>

View File

@ -1,5 +1,5 @@
//
// Copyright (c) 2017 Open Whisper Systems. All rights reserved.
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
//
#import "ThreadViewHelper.h"
@ -57,11 +57,11 @@ NS_ASSUME_NONNULL_BEGIN
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(applicationWillEnterForeground:)
name:UIApplicationWillEnterForegroundNotification
name:OWSApplicationWillEnterForegroundNotification
object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(applicationDidEnterBackground:)
name:UIApplicationDidEnterBackgroundNotification
name:OWSApplicationDidEnterBackgroundNotification
object:nil];
self.shouldObserveDBModifications

View File

@ -1,5 +1,5 @@
//
// Copyright (c) 2017 Open Whisper Systems. All rights reserved.
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
//
#import "OWSAudioAttachmentPlayer.h"
@ -48,7 +48,7 @@ NS_ASSUME_NONNULL_BEGIN
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(applicationDidEnterBackground:)
name:UIApplicationDidEnterBackgroundNotification
name:OWSApplicationDidEnterBackgroundNotification
object:nil];
return self;

View File

@ -1,5 +1,5 @@
//
// Copyright (c) 2017 Open Whisper Systems. All rights reserved.
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
//
import Foundation
@ -57,7 +57,7 @@ class ContactsFrameworkContactStoreAdaptee: ContactStoreAdaptee {
self.changeHandler = changeHandler
self.lastSortOrder = CNContactsUserDefaults.shared().sortOrder
NotificationCenter.default.addObserver(self, selector: #selector(runChangeHandler), name: .CNContactStoreDidChange, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(didBecomeActive), name: .UIApplicationDidBecomeActive, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(didBecomeActive), name: .OWSApplicationDidBecomeActive, object: nil)
}
@objc

View File

@ -1,5 +1,5 @@
//
// Copyright (c) 2017 Open Whisper Systems. All rights reserved.
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
//
#import "AppSetup.h"
@ -7,6 +7,7 @@
#import "Release.h"
#import "VersionMigrations.h"
#import <AxolotlKit/SessionCipher.h>
#import <SignalMessaging/OWSDatabaseMigration.h>
#import <SignalMessaging/OWSProfileManager.h>
#import <SignalMessaging/SignalMessaging-Swift.h>
#import <SignalServiceKit/OWSStorage.h>
@ -40,6 +41,10 @@ NS_ASSUME_NONNULL_BEGIN
profileManager:OWSProfileManager.sharedManager];
[TextSecureKitEnv setSharedEnv:sharedEnv];
// Register renamed classes.
[NSKeyedUnarchiver setClass:[OWSUserProfile class] forClassName:[OWSUserProfile collection]];
[NSKeyedUnarchiver setClass:[OWSDatabaseMigration class] forClassName:[OWSDatabaseMigration collection]];
[OWSStorage setupWithSafeBlockingMigrations:^{
[VersionMigrations runSafeBlockingMigrations];
}];

View File

@ -1,5 +1,5 @@
//
// Copyright (c) 2017 Open Whisper Systems. All rights reserved.
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
//
#import "OWSProfileManager.h"
@ -124,7 +124,7 @@ const NSUInteger kOWSProfileManager_MaxAvatarDiameter = 640;
{
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(applicationDidBecomeActive:)
name:UIApplicationDidBecomeActiveNotification
name:OWSApplicationDidBecomeActiveNotification
object:nil];
}
@ -1129,7 +1129,7 @@ const NSUInteger kOWSProfileManager_MaxAvatarDiameter = 640;
[OWSFileSystem ensureDirectoryExists:profileAvatarsDirPath];
[OWSFileSystem protectFolderAtPath:profileAvatarsDirPath];
[OWSFileSystem protectFileOrFolderAtPath:profileAvatarsDirPath];
});
return profileAvatarsDirPath;
}

View File

@ -1,5 +1,5 @@
//
// Copyright (c) 2017 Open Whisper Systems. All rights reserved.
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
//
#import "OWSUserProfile.h"
@ -112,7 +112,7 @@ NSString *const kLocalProfileUniqueId = @"kLocalProfileUniqueId";
__block BOOL didChange = YES;
[dbConnection readWriteWithBlock:^(YapDatabaseReadWriteTransaction *transaction) {
NSString *collection = [[self class] collection];
OWSUserProfile *latestInstance = [transaction objectForKey:self.uniqueId inCollection:collection];
OWSUserProfile *_Nullable latestInstance = [transaction objectForKey:self.uniqueId inCollection:collection];
if (latestInstance) {
changeBlock(latestInstance);

View File

@ -1,5 +1,5 @@
//
// Copyright (c) 2017 Open Whisper Systems. All rights reserved.
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
//
#import "DebugLogger.h"
@ -35,7 +35,7 @@
{
NSString *dirPath = [[OWSFileSystem cachesDirectoryPath] stringByAppendingPathComponent:@"Logs"];
[OWSFileSystem ensureDirectoryExists:dirPath];
[OWSFileSystem protectFolderAtPath:dirPath];
[OWSFileSystem protectFileOrFolderAtPath:dirPath];
return dirPath;
}
@ -44,7 +44,7 @@
NSString *dirPath =
[[OWSFileSystem appSharedDataDirectoryPath] stringByAppendingPathComponent:@"ShareExtensionLogs"];
[OWSFileSystem ensureDirectoryExists:dirPath];
[OWSFileSystem protectFolderAtPath:dirPath];
[OWSFileSystem protectFileOrFolderAtPath:dirPath];
return dirPath;
}

View File

@ -1,5 +1,5 @@
//
// Copyright (c) 2017 Open Whisper Systems. All rights reserved.
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
//
import Foundation
@ -42,7 +42,7 @@ public class DeviceSleepManager: NSObject {
NotificationCenter.default.addObserver(self,
selector:#selector(didEnterBackground),
name:NSNotification.Name.UIApplicationDidEnterBackground,
name:NSNotification.Name.OWSApplicationDidEnterBackground,
object:nil)
}

View File

@ -1,8 +1,9 @@
//
// Copyright (c) 2017 Open Whisper Systems. All rights reserved.
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
//
#import "OWSPreferences.h"
#import <SignalServiceKit/AppContext.h>
#import <SignalServiceKit/NSUserDefaults+OWS.h>
#import <SignalServiceKit/TSStorageHeaders.h>
#import <SignalServiceKit/YapDatabaseConnection+OWS.h>
@ -24,7 +25,7 @@ NSString *const OWSPreferencesKeyCallKitPrivacyEnabled = @"CallKitPrivacyEnabled
NSString *const OWSPreferencesKeyCallsHideIPAddress = @"CallsHideIPAddress";
NSString *const OWSPreferencesKeyHasDeclinedNoContactsView = @"hasDeclinedNoContactsView";
NSString *const OWSPreferencesKeyIOSUpgradeNagVersion = @"iOSUpgradeNagVersion";
NSString *const OWSPreferencesKey_IsReadyForAppExtensions = @"isReadyForAppExtensions2";
NSString *const OWSPreferencesKey_IsReadyForAppExtensions = @"isReadyForAppExtensions_5";
NSString *const OWSPreferencesKey_IsRegistered = @"OWSPreferencesKey_IsRegistered";
@implementation OWSPreferences
@ -78,6 +79,8 @@ NSString *const OWSPreferencesKey_IsRegistered = @"OWSPreferencesKey_IsRegistere
+ (void)setIsReadyForAppExtensions
{
OWSAssert(CurrentAppContext().isMainApp);
[NSUserDefaults.appUserDefaults setObject:@(YES) forKey:OWSPreferencesKey_IsReadyForAppExtensions];
[NSUserDefaults.appUserDefaults synchronize];
}
@ -95,6 +98,8 @@ NSString *const OWSPreferencesKey_IsRegistered = @"OWSPreferencesKey_IsRegistere
+ (void)setIsRegistered:(BOOL)value
{
OWSAssert(CurrentAppContext().isMainApp);
[NSUserDefaults.appUserDefaults setObject:@(value) forKey:OWSPreferencesKey_IsRegistered];
[NSUserDefaults.appUserDefaults synchronize];
}
@ -143,6 +148,8 @@ NSString *const OWSPreferencesKey_IsRegistered = @"OWSPreferencesKey_IsRegistere
+ (void)setIsLoggingEnabled:(BOOL)flag
{
OWSAssert(CurrentAppContext().isMainApp);
// Logging preferences are stored in UserDefaults instead of the database, so that we can (optionally) start
// logging before the database is initialized. This is important because sometimes there are problems *with* the
// database initialization, and without logging it would be hard to track down.

View File

@ -1,5 +1,5 @@
//
// Copyright (c) 2017 Open Whisper Systems. All rights reserved.
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
//
#import "TSPreKeyManager.h"
@ -91,9 +91,10 @@ static const NSTimeInterval kSignedPreKeyUpdateFailureMaxFailureDuration = 10 *
+ (void)checkPreKeysIfNecessary
{
if (CurrentAppContext().isMainApp) {
OWSAssert(CurrentAppContext().isMainAppAndActive);
if (!CurrentAppContext().isMainApp) {
return;
}
OWSAssert(CurrentAppContext().isMainAppAndActive);
// Update the prekey check timestamp.
dispatch_async(TSPreKeyManager.prekeyQueue, ^{
@ -214,6 +215,10 @@ static const NSTimeInterval kSignedPreKeyUpdateFailureMaxFailureDuration = 10 *
+ (void)checkPreKeys
{
if (!CurrentAppContext().isMainApp) {
return;
}
// Optimistically mark the prekeys as checked. This
// de-bounces prekey checks.
//

View File

@ -1,8 +1,9 @@
//
// Copyright (c) 2017 Open Whisper Systems. All rights reserved.
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
//
#import "OWSBlockingManager.h"
#import "AppContext.h"
#import "NSNotificationCenter+OWS.h"
#import "OWSBlockedPhoneNumbersMessage.h"
#import "OWSMessageSender.h"
@ -86,7 +87,7 @@ NSString *const kOWSBlockingManager_SyncedBlockedPhoneNumbersKey = @"kOWSBlockin
{
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(applicationDidBecomeActive:)
name:UIApplicationDidBecomeActiveNotification
name:OWSApplicationDidBecomeActiveNotification
object:nil];
}

View File

@ -1,5 +1,5 @@
//
// Copyright (c) 2017 Open Whisper Systems. All rights reserved.
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
//
#import "OWSDisappearingMessagesJob.h"
@ -57,11 +57,11 @@ NS_ASSUME_NONNULL_BEGIN
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(applicationDidBecomeActive:)
name:UIApplicationDidBecomeActiveNotification
name:OWSApplicationDidBecomeActiveNotification
object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(applicationWillResignActive:)
name:UIApplicationWillResignActiveNotification
name:OWSApplicationWillResignActiveNotification
object:nil];
return self;

View File

@ -1,5 +1,5 @@
//
// Copyright (c) 2017 Open Whisper Systems. All rights reserved.
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
//
#import "OWSFailedAttachmentDownloadsJob.h"
@ -82,7 +82,6 @@ static NSString *const OWSFailedAttachmentDownloadsJobAttachmentStateIndex = @"i
[self enumerateAttemptingOutAttachmentsWithBlock:^(TSAttachmentPointer *attachment) {
// sanity check
if (attachment.state != TSAttachmentPointerStateFailed) {
DDLogDebug(@"%@ marking attachment as failed", self.logTag);
attachment.state = TSAttachmentPointerStateFailed;
[attachment saveWithTransaction:transaction];
count++;

View File

@ -1,5 +1,5 @@
//
// Copyright (c) 2017 Open Whisper Systems. All rights reserved.
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
//
#import <Foundation/Foundation.h>
@ -11,11 +11,10 @@ static const NSUInteger ddLogLevel = DDLogLevelAll;
#else
static const NSUInteger ddLogLevel = DDLogLevelInfo;
#endif
#import "Asserts.h"
#import "Constraints.h"
#import "NSObject+OWS.h"
#import "OWSAnalytics.h"
#import "OWSAsserts.h"
#import "OWSDispatch.h"
#import "iOSVersions.h"