Retain changes from session database branch.
This commit is contained in:
parent
b8c6d29170
commit
e77c3e6717
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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];
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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:)
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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];
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
@ -1003,7 +993,7 @@ open class MarqueeLabel: UILabel, CAAnimationDelegate {
|
|||
animation.keyTimes = fadeKeyTimes
|
||||
animation.timingFunctions = fadeTimingFunctions
|
||||
|
||||
return (anim: animation, duration: max(totalTime,totalDuration))
|
||||
return (anim: animation, duration: max(totalTime, totalDuration))
|
||||
}
|
||||
|
||||
private func applyGradientMask(_ fadeLength: CGFloat, animated: Bool, firstStep: MarqueeStep? = nil) {
|
||||
|
@ -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
|
||||
|
@ -1706,21 +1690,21 @@ public struct FadeStep: MarqueeStep {
|
|||
}
|
||||
}
|
||||
|
||||
public struct EdgeFade : OptionSet {
|
||||
public struct EdgeFade: OptionSet {
|
||||
public let rawValue: Int
|
||||
public static let leading = EdgeFade(rawValue: 1 << 0)
|
||||
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 {
|
||||
|
@ -1796,14 +1780,14 @@ fileprivate extension CAMediaTimingFunction {
|
|||
return t0
|
||||
}
|
||||
|
||||
func YforCurveAt(_ t: CGFloat, controlPoints:[CGPoint]) -> CGFloat {
|
||||
func YforCurveAt(_ t: CGFloat, controlPoints: [CGPoint]) -> CGFloat {
|
||||
let P0 = controlPoints[0]
|
||||
let P1 = controlPoints[1]
|
||||
let P2 = controlPoints[2]
|
||||
let P3 = controlPoints[3]
|
||||
|
||||
// Per http://en.wikipedia.org/wiki/Bezier_curve#Cubic_B.C3.A9zier_curves
|
||||
let y0 = (pow((1.0 - t),3.0) * P0.y)
|
||||
let y0 = (pow((1.0 - t), 3.0) * P0.y)
|
||||
let y1 = (3.0 * pow(1.0 - t, 2.0) * t * P1.y)
|
||||
let y2 = (3.0 * (1.0 - t) * pow(t, 2.0) * P2.y)
|
||||
let y3 = (pow(t, 3.0) * P3.y)
|
||||
|
@ -1819,7 +1803,7 @@ fileprivate extension CAMediaTimingFunction {
|
|||
|
||||
// Per http://en.wikipedia.org/wiki/Bezier_curve#Cubic_B.C3.A9zier_curves
|
||||
|
||||
let x0 = (pow((1.0 - t),3.0) * P0.x)
|
||||
let x0 = (pow((1.0 - t), 3.0) * P0.x)
|
||||
let x1 = (3.0 * pow(1.0 - t, 2.0) * t * P1.x)
|
||||
let x2 = (3.0 * (1.0 - t) * pow(t, 2.0) * P2.x)
|
||||
let x3 = (pow(t, 3.0) * P3.x)
|
||||
|
@ -1852,4 +1836,3 @@ fileprivate extension CAMediaTimingFunction {
|
|||
return pointArray
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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];
|
||||
}];
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
//
|
||||
|
|
|
@ -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];
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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++;
|
||||
|
|
|
@ -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"
|
||||
|
||||
|
|
Loading…
Reference in New Issue