From dae80ad4c6bce9ff35d5789a7155c10d1da54d40 Mon Sep 17 00:00:00 2001 From: Matthew Chen Date: Mon, 19 Nov 2018 09:36:18 -0500 Subject: [PATCH] Reorganize util code. --- Signal.xcodeproj/project.pbxproj | 96 +++++++++------- Signal/Signal.entitlements | 1 + Signal/src/AppDelegate.m | 2 - Signal/src/environment/AppEnvironment.swift | 5 + Signal/src/util/{ => Backup}/OWSBackup.h | 4 +- Signal/src/util/{ => Backup}/OWSBackup.m | 33 +++--- .../src/util/{ => Backup}/OWSBackupAPI.swift | 0 .../util/{ => Backup}/OWSBackupExportJob.h | 0 .../util/{ => Backup}/OWSBackupExportJob.m | 107 +++++++++--------- Signal/src/util/{ => Backup}/OWSBackupIO.h | 0 Signal/src/util/{ => Backup}/OWSBackupIO.m | 0 .../util/{ => Backup}/OWSBackupImportJob.h | 0 .../util/{ => Backup}/OWSBackupImportJob.m | 27 ++--- Signal/src/util/{ => Backup}/OWSBackupJob.h | 0 Signal/src/util/{ => Backup}/OWSBackupJob.m | 26 +++-- .../OWSBackupLazyRestoreJob.swift | 0 16 files changed, 164 insertions(+), 137 deletions(-) rename Signal/src/util/{ => Backup}/OWSBackup.h (95%) rename Signal/src/util/{ => Backup}/OWSBackup.m (97%) rename Signal/src/util/{ => Backup}/OWSBackupAPI.swift (100%) rename Signal/src/util/{ => Backup}/OWSBackupExportJob.h (100%) rename Signal/src/util/{ => Backup}/OWSBackupExportJob.m (92%) rename Signal/src/util/{ => Backup}/OWSBackupIO.h (100%) rename Signal/src/util/{ => Backup}/OWSBackupIO.m (100%) rename Signal/src/util/{ => Backup}/OWSBackupImportJob.h (100%) rename Signal/src/util/{ => Backup}/OWSBackupImportJob.m (96%) rename Signal/src/util/{ => Backup}/OWSBackupJob.h (100%) rename Signal/src/util/{ => Backup}/OWSBackupJob.m (92%) rename Signal/src/util/{ => Backup}/OWSBackupLazyRestoreJob.swift (100%) diff --git a/Signal.xcodeproj/project.pbxproj b/Signal.xcodeproj/project.pbxproj index 951dd6ea9..d340779b7 100644 --- a/Signal.xcodeproj/project.pbxproj +++ b/Signal.xcodeproj/project.pbxproj @@ -35,12 +35,7 @@ 340FC8BB204DAC8D007AEB0F /* OWSAddToContactViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 340FC8A1204DAC8D007AEB0F /* OWSAddToContactViewController.m */; }; 340FC8BC204DAC8D007AEB0F /* FingerprintViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 340FC8A2204DAC8D007AEB0F /* FingerprintViewController.m */; }; 340FC8BD204DAC8D007AEB0F /* ShowGroupMembersViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 340FC8A6204DAC8D007AEB0F /* ShowGroupMembersViewController.m */; }; - 340FC8C0204DB7D2007AEB0F /* OWSBackupExportJob.m in Sources */ = {isa = PBXBuildFile; fileRef = 340FC8BF204DB7D2007AEB0F /* OWSBackupExportJob.m */; }; 340FC8C5204DE223007AEB0F /* DebugUIBackup.m in Sources */ = {isa = PBXBuildFile; fileRef = 340FC8C4204DE223007AEB0F /* DebugUIBackup.m */; }; - 340FC8C7204DE64D007AEB0F /* OWSBackupAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 340FC8C6204DE64D007AEB0F /* OWSBackupAPI.swift */; }; - 340FC8CA20517B84007AEB0F /* OWSBackupImportJob.m in Sources */ = {isa = PBXBuildFile; fileRef = 340FC8C820517B84007AEB0F /* OWSBackupImportJob.m */; }; - 340FC8CD20518C77007AEB0F /* OWSBackupJob.m in Sources */ = {isa = PBXBuildFile; fileRef = 340FC8CC20518C76007AEB0F /* OWSBackupJob.m */; }; - 340FC8D0205BF2FA007AEB0F /* OWSBackupIO.m in Sources */ = {isa = PBXBuildFile; fileRef = 340FC8CE205BF2FA007AEB0F /* OWSBackupIO.m */; }; 341341EF2187467A00192D59 /* ConversationViewModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 341341EE2187467900192D59 /* ConversationViewModel.m */; }; 341F2C0F1F2B8AE700D07D6B /* DebugUIMisc.m in Sources */ = {isa = PBXBuildFile; fileRef = 341F2C0E1F2B8AE700D07D6B /* DebugUIMisc.m */; }; 3421981C21061D2E00C57195 /* ByteParserTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3421981B21061D2E00C57195 /* ByteParserTest.swift */; }; @@ -157,10 +152,17 @@ 3496955C219B605E00DCFE74 /* ImagePickerController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34969559219B605E00DCFE74 /* ImagePickerController.swift */; }; 3496955D219B605E00DCFE74 /* PhotoCollectionPickerController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3496955A219B605E00DCFE74 /* PhotoCollectionPickerController.swift */; }; 3496955E219B605E00DCFE74 /* PhotoLibrary.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3496955B219B605E00DCFE74 /* PhotoLibrary.swift */; }; + 3496956021A2FC8100DCFE74 /* CloudKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3496955F21A2FC8100DCFE74 /* CloudKit.framework */; }; + 3496956E21A301A100DCFE74 /* OWSBackupExportJob.m in Sources */ = {isa = PBXBuildFile; fileRef = 3496956221A301A100DCFE74 /* OWSBackupExportJob.m */; }; + 3496956F21A301A100DCFE74 /* OWSBackupLazyRestoreJob.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3496956321A301A100DCFE74 /* OWSBackupLazyRestoreJob.swift */; }; + 3496957021A301A100DCFE74 /* OWSBackupIO.m in Sources */ = {isa = PBXBuildFile; fileRef = 3496956521A301A100DCFE74 /* OWSBackupIO.m */; }; + 3496957121A301A100DCFE74 /* OWSBackupImportJob.m in Sources */ = {isa = PBXBuildFile; fileRef = 3496956621A301A100DCFE74 /* OWSBackupImportJob.m */; }; + 3496957221A301A100DCFE74 /* OWSBackup.m in Sources */ = {isa = PBXBuildFile; fileRef = 3496956921A301A100DCFE74 /* OWSBackup.m */; }; + 3496957321A301A100DCFE74 /* OWSBackupJob.m in Sources */ = {isa = PBXBuildFile; fileRef = 3496956A21A301A100DCFE74 /* OWSBackupJob.m */; }; + 3496957421A301A100DCFE74 /* OWSBackupAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3496956B21A301A100DCFE74 /* OWSBackupAPI.swift */; }; 349EA07C2162AEA800F7B17F /* OWS111UDAttributesMigration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 349EA07B2162AEA700F7B17F /* OWS111UDAttributesMigration.swift */; }; 34A55F3720485465002CC6DE /* OWS2FARegistrationViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 34A55F3520485464002CC6DE /* OWS2FARegistrationViewController.m */; }; 34A8B3512190A40E00218A25 /* MediaAlbumCellView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34A8B3502190A40E00218A25 /* MediaAlbumCellView.swift */; }; - 34A910601FFEB114000C4745 /* OWSBackup.m in Sources */ = {isa = PBXBuildFile; fileRef = 34A9105F1FFEB114000C4745 /* OWSBackup.m */; }; 34ABB2C42090C59700C727A6 /* OWSResaveCollectionDBMigration.m in Sources */ = {isa = PBXBuildFile; fileRef = 34ABB2C22090C59600C727A6 /* OWSResaveCollectionDBMigration.m */; }; 34ABB2C52090C59700C727A6 /* OWSResaveCollectionDBMigration.h in Headers */ = {isa = PBXBuildFile; fileRef = 34ABB2C32090C59700C727A6 /* OWSResaveCollectionDBMigration.h */; }; 34AC09DD211B39B100997B47 /* ViewControllerUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 34AC09BF211B39AE00997B47 /* ViewControllerUtils.h */; settings = {ATTRIBUTES = (Public, ); }; }; @@ -262,7 +264,6 @@ 34D1F0BA1F8800D90066283D /* OWSAudioMessageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 34D1F0B91F8800D90066283D /* OWSAudioMessageView.m */; }; 34D1F0BD1F8D108C0066283D /* AttachmentUploadView.m in Sources */ = {isa = PBXBuildFile; fileRef = 34D1F0BC1F8D108C0066283D /* AttachmentUploadView.m */; }; 34D1F0C01F8EC1760066283D /* MessageRecipientStatusUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34D1F0BF1F8EC1760066283D /* MessageRecipientStatusUtils.swift */; }; - 34D2CCD220618B3000CB1A14 /* OWSBackupLazyRestoreJob.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34D2CCD120618B2F00CB1A14 /* OWSBackupLazyRestoreJob.swift */; }; 34D2CCDA2062E7D000CB1A14 /* OWSScreenLockUI.m in Sources */ = {isa = PBXBuildFile; fileRef = 34D2CCD92062E7D000CB1A14 /* OWSScreenLockUI.m */; }; 34D2CCDF206939B400CB1A14 /* DebugUIMessagesAction.m in Sources */ = {isa = PBXBuildFile; fileRef = 34D2CCDB206939B100CB1A14 /* DebugUIMessagesAction.m */; }; 34D2CCE0206939B400CB1A14 /* DebugUIMessagesAssetLoader.m in Sources */ = {isa = PBXBuildFile; fileRef = 34D2CCDC206939B200CB1A14 /* DebugUIMessagesAssetLoader.m */; }; @@ -659,17 +660,8 @@ 340FC8A4204DAC8D007AEB0F /* AddToGroupViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AddToGroupViewController.h; sourceTree = ""; }; 340FC8A5204DAC8D007AEB0F /* FingerprintViewScanController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FingerprintViewScanController.h; sourceTree = ""; }; 340FC8A6204DAC8D007AEB0F /* ShowGroupMembersViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ShowGroupMembersViewController.m; sourceTree = ""; }; - 340FC8BE204DB7D1007AEB0F /* OWSBackupExportJob.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OWSBackupExportJob.h; sourceTree = ""; }; - 340FC8BF204DB7D2007AEB0F /* OWSBackupExportJob.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OWSBackupExportJob.m; sourceTree = ""; }; 340FC8C3204DE223007AEB0F /* DebugUIBackup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DebugUIBackup.h; sourceTree = ""; }; 340FC8C4204DE223007AEB0F /* DebugUIBackup.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DebugUIBackup.m; sourceTree = ""; }; - 340FC8C6204DE64D007AEB0F /* OWSBackupAPI.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OWSBackupAPI.swift; sourceTree = ""; }; - 340FC8C820517B84007AEB0F /* OWSBackupImportJob.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OWSBackupImportJob.m; sourceTree = ""; }; - 340FC8C920517B84007AEB0F /* OWSBackupImportJob.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OWSBackupImportJob.h; sourceTree = ""; }; - 340FC8CB20518C76007AEB0F /* OWSBackupJob.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OWSBackupJob.h; sourceTree = ""; }; - 340FC8CC20518C76007AEB0F /* OWSBackupJob.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OWSBackupJob.m; sourceTree = ""; }; - 340FC8CE205BF2FA007AEB0F /* OWSBackupIO.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OWSBackupIO.m; sourceTree = ""; }; - 340FC8CF205BF2FA007AEB0F /* OWSBackupIO.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OWSBackupIO.h; sourceTree = ""; }; 341341ED2187467900192D59 /* ConversationViewModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ConversationViewModel.h; sourceTree = ""; }; 341341EE2187467900192D59 /* ConversationViewModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ConversationViewModel.m; sourceTree = ""; }; 341458471FBE11C4005ABCF9 /* fa */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fa; path = translations/fa.lproj/Localizable.strings; sourceTree = ""; }; @@ -814,12 +806,23 @@ 34969559219B605E00DCFE74 /* ImagePickerController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ImagePickerController.swift; sourceTree = ""; }; 3496955A219B605E00DCFE74 /* PhotoCollectionPickerController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PhotoCollectionPickerController.swift; sourceTree = ""; }; 3496955B219B605E00DCFE74 /* PhotoLibrary.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PhotoLibrary.swift; sourceTree = ""; }; + 3496955F21A2FC8100DCFE74 /* CloudKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CloudKit.framework; path = System/Library/Frameworks/CloudKit.framework; sourceTree = SDKROOT; }; + 3496956221A301A100DCFE74 /* OWSBackupExportJob.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OWSBackupExportJob.m; sourceTree = ""; }; + 3496956321A301A100DCFE74 /* OWSBackupLazyRestoreJob.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OWSBackupLazyRestoreJob.swift; sourceTree = ""; }; + 3496956421A301A100DCFE74 /* OWSBackup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OWSBackup.h; sourceTree = ""; }; + 3496956521A301A100DCFE74 /* OWSBackupIO.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OWSBackupIO.m; sourceTree = ""; }; + 3496956621A301A100DCFE74 /* OWSBackupImportJob.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OWSBackupImportJob.m; sourceTree = ""; }; + 3496956721A301A100DCFE74 /* OWSBackupJob.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OWSBackupJob.h; sourceTree = ""; }; + 3496956821A301A100DCFE74 /* OWSBackupExportJob.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OWSBackupExportJob.h; sourceTree = ""; }; + 3496956921A301A100DCFE74 /* OWSBackup.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OWSBackup.m; sourceTree = ""; }; + 3496956A21A301A100DCFE74 /* OWSBackupJob.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OWSBackupJob.m; sourceTree = ""; }; + 3496956B21A301A100DCFE74 /* OWSBackupAPI.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OWSBackupAPI.swift; sourceTree = ""; }; + 3496956C21A301A100DCFE74 /* OWSBackupImportJob.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OWSBackupImportJob.h; sourceTree = ""; }; + 3496956D21A301A100DCFE74 /* OWSBackupIO.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OWSBackupIO.h; sourceTree = ""; }; 349EA07B2162AEA700F7B17F /* OWS111UDAttributesMigration.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OWS111UDAttributesMigration.swift; sourceTree = ""; }; 34A55F3520485464002CC6DE /* OWS2FARegistrationViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OWS2FARegistrationViewController.m; sourceTree = ""; }; 34A55F3620485464002CC6DE /* OWS2FARegistrationViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OWS2FARegistrationViewController.h; sourceTree = ""; }; 34A8B3502190A40E00218A25 /* MediaAlbumCellView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MediaAlbumCellView.swift; sourceTree = ""; }; - 34A9105E1FFEB113000C4745 /* OWSBackup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OWSBackup.h; sourceTree = ""; }; - 34A9105F1FFEB114000C4745 /* OWSBackup.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OWSBackup.m; sourceTree = ""; }; 34ABB2C22090C59600C727A6 /* OWSResaveCollectionDBMigration.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OWSResaveCollectionDBMigration.m; sourceTree = ""; }; 34ABB2C32090C59700C727A6 /* OWSResaveCollectionDBMigration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OWSResaveCollectionDBMigration.h; sourceTree = ""; }; 34AC09BF211B39AE00997B47 /* ViewControllerUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ViewControllerUtils.h; sourceTree = ""; }; @@ -950,7 +953,6 @@ 34D1F0BB1F8D108C0066283D /* AttachmentUploadView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AttachmentUploadView.h; sourceTree = ""; }; 34D1F0BC1F8D108C0066283D /* AttachmentUploadView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AttachmentUploadView.m; sourceTree = ""; }; 34D1F0BF1F8EC1760066283D /* MessageRecipientStatusUtils.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MessageRecipientStatusUtils.swift; sourceTree = ""; }; - 34D2CCD120618B2F00CB1A14 /* OWSBackupLazyRestoreJob.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OWSBackupLazyRestoreJob.swift; sourceTree = ""; }; 34D2CCD82062E7D000CB1A14 /* OWSScreenLockUI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OWSScreenLockUI.h; sourceTree = ""; }; 34D2CCD92062E7D000CB1A14 /* OWSScreenLockUI.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OWSScreenLockUI.m; sourceTree = ""; }; 34D2CCDB206939B100CB1A14 /* DebugUIMessagesAction.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DebugUIMessagesAction.m; sourceTree = ""; }; @@ -1324,6 +1326,7 @@ 70377AAB1918450100CAF501 /* MobileCoreServices.framework in Frameworks */, B9EB5ABD1884C002007CBB57 /* MessageUI.framework in Frameworks */, 453518991FC63DBF00210559 /* SignalMessaging.framework in Frameworks */, + 3496956021A2FC8100DCFE74 /* CloudKit.framework in Frameworks */, 76C87F19181EFCE600C4ACAB /* MediaPlayer.framework in Frameworks */, 768A1A2B17FC9CD300E00ED8 /* libz.dylib in Frameworks */, A11CD70D17FA230600A2D1B1 /* QuartzCore.framework in Frameworks */, @@ -1755,6 +1758,32 @@ path = PhotoLibrary; sourceTree = ""; }; + 3496956121A301A100DCFE74 /* Backup */ = { + isa = PBXGroup; + children = ( + 3496956421A301A100DCFE74 /* OWSBackup.h */, + 3496956921A301A100DCFE74 /* OWSBackup.m */, + 3496956B21A301A100DCFE74 /* OWSBackupAPI.swift */, + 3496956821A301A100DCFE74 /* OWSBackupExportJob.h */, + 3496956221A301A100DCFE74 /* OWSBackupExportJob.m */, + 3496956C21A301A100DCFE74 /* OWSBackupImportJob.h */, + 3496956621A301A100DCFE74 /* OWSBackupImportJob.m */, + 3496956D21A301A100DCFE74 /* OWSBackupIO.h */, + 3496956521A301A100DCFE74 /* OWSBackupIO.m */, + 3496956721A301A100DCFE74 /* OWSBackupJob.h */, + 3496956A21A301A100DCFE74 /* OWSBackupJob.m */, + 3496956321A301A100DCFE74 /* OWSBackupLazyRestoreJob.swift */, + ); + path = Backup; + sourceTree = ""; + }; + 3496957521A301A300DCFE74 /* New Group */ = { + isa = PBXGroup; + children = ( + ); + path = "New Group"; + sourceTree = ""; + }; 34B3F8331E8DF1700035BE1A /* ViewControllers */ = { isa = PBXGroup; children = ( @@ -2232,24 +2261,14 @@ 76EB04C818170B33006006FC /* util */ = { isa = PBXGroup; children = ( + 3496957521A301A300DCFE74 /* New Group */, 4CC1ECFA211A553000CC13BE /* AppUpdateNag.swift */, B90418E4183E9DD40038554A /* DateUtil.h */, + 3496956121A301A100DCFE74 /* Backup */, B90418E5183E9DD40038554A /* DateUtil.m */, 34B0796C1FCF46B000E248C2 /* MainAppContext.h */, 34B0796B1FCF46B000E248C2 /* MainAppContext.m */, 34D99C911F2937CC00D284D6 /* OWSAnalytics.swift */, - 34A9105E1FFEB113000C4745 /* OWSBackup.h */, - 34A9105F1FFEB114000C4745 /* OWSBackup.m */, - 340FC8C6204DE64D007AEB0F /* OWSBackupAPI.swift */, - 340FC8BE204DB7D1007AEB0F /* OWSBackupExportJob.h */, - 340FC8BF204DB7D2007AEB0F /* OWSBackupExportJob.m */, - 340FC8C920517B84007AEB0F /* OWSBackupImportJob.h */, - 340FC8C820517B84007AEB0F /* OWSBackupImportJob.m */, - 340FC8CF205BF2FA007AEB0F /* OWSBackupIO.h */, - 340FC8CE205BF2FA007AEB0F /* OWSBackupIO.m */, - 340FC8CB20518C76007AEB0F /* OWSBackupJob.h */, - 340FC8CC20518C76007AEB0F /* OWSBackupJob.m */, - 34D2CCD120618B2F00CB1A14 /* OWSBackupLazyRestoreJob.swift */, 344825C4211390C700DB4BD8 /* OWSOrphanDataCleaner.h */, 344825C5211390C800DB4BD8 /* OWSOrphanDataCleaner.m */, 34D2CCD82062E7D000CB1A14 /* OWSScreenLockUI.h */, @@ -2456,6 +2475,7 @@ D221A08C169C9E5E00537ABF /* Frameworks */ = { isa = PBXGroup; children = ( + 3496955F21A2FC8100DCFE74 /* CloudKit.framework */, 4C9CA25C217E676900607C63 /* ZXingObjC.framework */, 4CC1ECF8211A47CD00CC13BE /* StoreKit.framework */, 455A16DB1F1FEA0000F86704 /* Metal.framework */, @@ -3363,9 +3383,11 @@ 34DBF007206C3CB200025978 /* OWSBubbleShapeView.m in Sources */, 34D1F0BA1F8800D90066283D /* OWSAudioMessageView.m in Sources */, 34D8C02B1ED3685800188D7C /* DebugUIContacts.m in Sources */, + 3496956E21A301A100DCFE74 /* OWSBackupExportJob.m in Sources */, 4C1885D2218F8E1C00B67051 /* PhotoGridViewCell.swift in Sources */, 45C9DEB81DF4E35A0065CA84 /* WebRTCCallMessageHandler.swift in Sources */, 34D1F0501F7D45A60066283D /* GifPickerCell.swift in Sources */, + 3496957421A301A100DCFE74 /* OWSBackupAPI.swift in Sources */, 34D99C931F2937CC00D284D6 /* OWSAnalytics.swift in Sources */, 340FC8B8204DAC8D007AEB0F /* AddToGroupViewController.m in Sources */, 341F2C0F1F2B8AE700D07D6B /* DebugUIMisc.m in Sources */, @@ -3380,7 +3402,6 @@ 450DF2091E0DD2C6003D14BE /* UserNotificationsAdaptee.swift in Sources */, 34B6A907218B5241007C4606 /* TypingIndicatorCell.swift in Sources */, 34D1F0AB1F867BFC0066283D /* OWSContactOffersCell.m in Sources */, - 340FC8C7204DE64D007AEB0F /* OWSBackupAPI.swift in Sources */, 343A65981FC4CFE7000477A1 /* ConversationScrollButton.m in Sources */, 34386A51207D0C01009F5D9C /* HomeViewController.m in Sources */, 34D1F0A91F867BFC0066283D /* ConversationViewCell.m in Sources */, @@ -3398,7 +3419,6 @@ 34386A54207D271D009F5D9C /* NeverClearView.swift in Sources */, 45DF5DF21DDB843F00C936C7 /* CompareSafetyNumbersActivity.swift in Sources */, 451166C01FD86B98000739BA /* AccountManager.swift in Sources */, - 34D2CCD220618B3000CB1A14 /* OWSBackupLazyRestoreJob.swift in Sources */, 3430FE181F7751D4000EC51B /* GiphyAPI.swift in Sources */, 4C2F454F214C00E1004871FF /* AvatarTableViewCell.swift in Sources */, 34A55F3720485465002CC6DE /* OWS2FARegistrationViewController.m in Sources */, @@ -3416,7 +3436,6 @@ 34B0796D1FCF46B100E248C2 /* MainAppContext.m in Sources */, 34E3EF101EFC2684007F6822 /* DebugUIPage.m in Sources */, 34A8B3512190A40E00218A25 /* MediaAlbumCellView.swift in Sources */, - 340FC8CD20518C77007AEB0F /* OWSBackupJob.m in Sources */, 34D1F0AE1F867BFC0066283D /* OWSMessageCell.m in Sources */, 4C4AEC4520EC343B0020E72B /* DismissableTextField.swift in Sources */, 4CB5F26720F6E1E2004D1B42 /* MenuActionsViewController.swift in Sources */, @@ -3425,6 +3444,7 @@ 340FC8A9204DAC8D007AEB0F /* NotificationSettingsOptionsViewController.m in Sources */, 452037D11EE84975004E4CDF /* DebugUISessionState.m in Sources */, D221A09A169C9E5E00537ABF /* main.m in Sources */, + 3496957221A301A100DCFE74 /* OWSBackup.m in Sources */, 34B3F87B1E8DF1700035BE1A /* ExperienceUpgradesPageViewController.swift in Sources */, 34E5DC8220D8050D00C08145 /* RegistrationUtils.m in Sources */, 452EA09E1EA7ABE00078744B /* AttachmentPointerView.swift in Sources */, @@ -3436,6 +3456,7 @@ 340FC8B2204DAC8D007AEB0F /* AdvancedSettingsTableViewController.m in Sources */, 452B999020A34B6B006F2F9E /* AddContactShareToExistingContactViewController.swift in Sources */, 346129991FD1E4DA00532771 /* SignalApp.m in Sources */, + 3496957121A301A100DCFE74 /* OWSBackupImportJob.m in Sources */, 34BECE301F7ABCF800D7438D /* GifPickerLayout.swift in Sources */, 343A65951FC47D5E000477A1 /* DebugUISyncMessages.m in Sources */, 45C0DC1E1E69011F00E04C47 /* UIStoryboard+OWS.swift in Sources */, @@ -3458,7 +3479,6 @@ 4C13C9F620E57BA30089A98B /* ColorPickerViewController.swift in Sources */, 4CC1ECFB211A553000CC13BE /* AppUpdateNag.swift in Sources */, 34B6A903218B3F63007C4606 /* TypingIndicatorView.swift in Sources */, - 340FC8D0205BF2FA007AEB0F /* OWSBackupIO.m in Sources */, 458E38371D668EBF0094BD24 /* OWSDeviceProvisioningURLParser.m in Sources */, 34B6A905218B4C91007C4606 /* TypingIndicatorInteraction.swift in Sources */, 4517642B1DE939FD00EDB8B9 /* ContactCell.swift in Sources */, @@ -3484,7 +3504,6 @@ 4539B5861F79348F007141FF /* PushRegistrationManager.swift in Sources */, 45FBC5D11DF8592E00E9B410 /* SignalCall.swift in Sources */, 340FC8BB204DAC8D007AEB0F /* OWSAddToContactViewController.m in Sources */, - 340FC8C0204DB7D2007AEB0F /* OWSBackupExportJob.m in Sources */, 45F32C232057297A00A300D5 /* MediaPageViewController.swift in Sources */, 340FC8A7204DAC8D007AEB0F /* RegistrationViewController.m in Sources */, 452C468F1E427E200087B011 /* OutboundCallInitiator.swift in Sources */, @@ -3492,7 +3511,6 @@ 45F170BB1E2FC5D3003FC1F2 /* CallAudioService.swift in Sources */, 4CA46F4C219CCC630038ABDE /* CaptionView.swift in Sources */, 345BC30C2047030700257B7C /* OWS2FASettingsViewController.m in Sources */, - 340FC8CA20517B84007AEB0F /* OWSBackupImportJob.m in Sources */, 340FC8B7204DAC8D007AEB0F /* OWSConversationSettingsViewController.m in Sources */, 34BECE2E1F7ABCE000D7438D /* GifPickerViewController.swift in Sources */, 34D1F0C01F8EC1760066283D /* MessageRecipientStatusUtils.swift in Sources */, @@ -3507,6 +3525,7 @@ 34D1F0841F8678AA0066283D /* ConversationInputToolbar.m in Sources */, 457F671B20746193000EABCD /* QuotedReplyPreview.swift in Sources */, 34DBF004206BD5A500025978 /* OWSBubbleView.m in Sources */, + 3496957021A301A100DCFE74 /* OWSBackupIO.m in Sources */, 34E88D262098C5AE00A608F4 /* ContactViewController.swift in Sources */, 34AC0A23211C829F00997B47 /* OWSLabel.m in Sources */, 34EA69422194DE8000702471 /* MediaUploadView.swift in Sources */, @@ -3528,11 +3547,11 @@ 340FC8AE204DAC8D007AEB0F /* OWSSoundSettingsViewController.m in Sources */, 4579431E1E7C8CE9008ED0C0 /* Pastelog.m in Sources */, 340FC8B0204DAC8D007AEB0F /* AddToBlockListViewController.m in Sources */, + 3496957321A301A100DCFE74 /* OWSBackupJob.m in Sources */, 340FC8B3204DAC8D007AEB0F /* AppSettingsViewController.m in Sources */, 34C4E2572118957600BEA353 /* OWSWebRTCDataProtos.pb.swift in Sources */, 346B66311F4E29B200E5122F /* CropScaleImageViewController.swift in Sources */, 45E5A6991F61E6DE001E4A8A /* MarqueeLabel.swift in Sources */, - 34A910601FFEB114000C4745 /* OWSBackup.m in Sources */, 34D1F0B01F867BFC0066283D /* OWSSystemMessageCell.m in Sources */, 45A663C51F92EC760027B59E /* GroupTableViewCell.swift in Sources */, 34CA631B2097806F00E526A0 /* OWSContactShareView.m in Sources */, @@ -3540,6 +3559,7 @@ 3427C64320F500E000EEC730 /* OWSMessageTimerView.m in Sources */, B90418E6183E9DD40038554A /* DateUtil.m in Sources */, 340FC8BD204DAC8D007AEB0F /* ShowGroupMembersViewController.m in Sources */, + 3496956F21A301A100DCFE74 /* OWSBackupLazyRestoreJob.swift in Sources */, 459311FC1D75C948008DD4F0 /* OWSDeviceTableViewCell.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; diff --git a/Signal/Signal.entitlements b/Signal/Signal.entitlements index 79da5ce67..292a95c0d 100644 --- a/Signal/Signal.entitlements +++ b/Signal/Signal.entitlements @@ -13,6 +13,7 @@ com.apple.developer.icloud-services CloudDocuments + CloudKit com.apple.developer.ubiquity-container-identifiers diff --git a/Signal/src/AppDelegate.m b/Signal/src/AppDelegate.m index 414ea5ab8..eb2176fc8 100644 --- a/Signal/src/AppDelegate.m +++ b/Signal/src/AppDelegate.m @@ -1166,8 +1166,6 @@ static NSTimeInterval launchStartedAt; [self ensureRootViewController]; - [OWSBackup.sharedManager setup]; - [self.messageManager startObserving]; #ifdef DEBUG diff --git a/Signal/src/environment/AppEnvironment.swift b/Signal/src/environment/AppEnvironment.swift index 6313393c1..1c70054b6 100644 --- a/Signal/src/environment/AppEnvironment.swift +++ b/Signal/src/environment/AppEnvironment.swift @@ -55,6 +55,9 @@ import SignalMessaging @objc public var sessionResetJobQueue: SessionResetJobQueue + @objc + public var backup: OWSBackup + private override init() { self.callMessageHandler = WebRTCCallMessageHandler() self.callService = CallService() @@ -66,6 +69,8 @@ import SignalMessaging self.pushRegistrationManager = PushRegistrationManager() self.pushManager = PushManager() self.sessionResetJobQueue = SessionResetJobQueue() + assert(SSKEnvironment.shared.primaryStorage != nil) + self.backup = OWSBackup(primaryStorage: SSKEnvironment.shared.primaryStorage) super.init() diff --git a/Signal/src/util/OWSBackup.h b/Signal/src/util/Backup/OWSBackup.h similarity index 95% rename from Signal/src/util/OWSBackup.h rename to Signal/src/util/Backup/OWSBackup.h index ddcdb2552..e7a1d1476 100644 --- a/Signal/src/util/OWSBackup.h +++ b/Signal/src/util/Backup/OWSBackup.h @@ -21,17 +21,17 @@ typedef NS_ENUM(NSUInteger, OWSBackupState) { }; @class OWSBackupIO; +@class OWSPrimaryStorage; @class TSAttachmentStream; @class TSThread; @interface OWSBackup : NSObject - (instancetype)init NS_UNAVAILABLE; +- (instancetype)initWithPrimaryStorage:(OWSPrimaryStorage *)primaryStorage NS_DESIGNATED_INITIALIZER; + (instancetype)sharedManager NS_SWIFT_NAME(shared()); -- (void)setup; - #pragma mark - Backup Export @property (nonatomic, readonly) OWSBackupState backupExportState; diff --git a/Signal/src/util/OWSBackup.m b/Signal/src/util/Backup/OWSBackup.m similarity index 97% rename from Signal/src/util/OWSBackup.m rename to Signal/src/util/Backup/OWSBackup.m index 27651eedb..9069f7fc7 100644 --- a/Signal/src/util/OWSBackup.m +++ b/Signal/src/util/Backup/OWSBackup.m @@ -46,19 +46,9 @@ NS_ASSUME_NONNULL_BEGIN + (instancetype)sharedManager { - static OWSBackup *sharedMyManager = nil; - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - sharedMyManager = [[self alloc] initDefault]; - }); - return sharedMyManager; -} - -- (instancetype)initDefault -{ - OWSPrimaryStorage *primaryStorage = [OWSPrimaryStorage sharedManager]; + OWSAssertDebug(AppEnvironment.shared.backup); - return [self initWithPrimaryStorage:primaryStorage]; + return AppEnvironment.shared.backup; } - (instancetype)initWithPrimaryStorage:(OWSPrimaryStorage *)primaryStorage @@ -78,6 +68,10 @@ NS_ASSUME_NONNULL_BEGIN OWSSingletonAssert(); + [AppReadiness runNowOrWhenAppDidBecomeReady:^{ + [self setup]; + }]; + return self; } @@ -251,6 +245,10 @@ NS_ASSUME_NONNULL_BEGIN { OWSAssertIsOnMainThread(); + if (!CurrentAppContext().isMainApp) { + return; + } + // Start or abort a backup export if neccessary. if (!self.shouldHaveBackupExport && self.backupExportJob) { [self.backupExportJob cancel]; @@ -297,11 +295,12 @@ NS_ASSUME_NONNULL_BEGIN OWSLogInfo(@""); - [OWSBackupAPI checkForManifestInCloudWithSuccess:^(BOOL value) { - dispatch_async(dispatch_get_main_queue(), ^{ - success(value); - }); - } + [OWSBackupAPI + checkForManifestInCloudWithSuccess:^(BOOL value) { + dispatch_async(dispatch_get_main_queue(), ^{ + success(value); + }); + } failure:^(NSError *error) { dispatch_async(dispatch_get_main_queue(), ^{ failure(error); diff --git a/Signal/src/util/OWSBackupAPI.swift b/Signal/src/util/Backup/OWSBackupAPI.swift similarity index 100% rename from Signal/src/util/OWSBackupAPI.swift rename to Signal/src/util/Backup/OWSBackupAPI.swift diff --git a/Signal/src/util/OWSBackupExportJob.h b/Signal/src/util/Backup/OWSBackupExportJob.h similarity index 100% rename from Signal/src/util/OWSBackupExportJob.h rename to Signal/src/util/Backup/OWSBackupExportJob.h diff --git a/Signal/src/util/OWSBackupExportJob.m b/Signal/src/util/Backup/OWSBackupExportJob.m similarity index 92% rename from Signal/src/util/OWSBackupExportJob.m rename to Signal/src/util/Backup/OWSBackupExportJob.m index 05689cbd7..f3208051b 100644 --- a/Signal/src/util/OWSBackupExportJob.m +++ b/Signal/src/util/Backup/OWSBackupExportJob.m @@ -439,19 +439,20 @@ NS_ASSUME_NONNULL_BEGIN OWSLogVerbose(@""); __weak OWSBackupExportJob *weakSelf = self; - [OWSBackupAPI fetchAllRecordNamesWithSuccess:^(NSArray *recordNames) { - dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ - OWSBackupExportJob *strongSelf = weakSelf; - if (!strongSelf) { - return; - } - if (strongSelf.isComplete) { - return; - } - strongSelf.lastValidRecordNames = [NSSet setWithArray:recordNames]; - completion(YES); - }); - } + [OWSBackupAPI + fetchAllRecordNamesWithSuccess:^(NSArray *recordNames) { + dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ + OWSBackupExportJob *strongSelf = weakSelf; + if (!strongSelf) { + return; + } + if (strongSelf.isComplete) { + return; + } + strongSelf.lastValidRecordNames = [NSSet setWithArray:recordNames]; + completion(YES); + }); + } failure:^(NSError *error) { dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ completion(NO); @@ -490,29 +491,28 @@ NS_ASSUME_NONNULL_BEGIN EntityFilter _Nullable filter, SignalIOSProtoBackupSnapshotBackupEntityType entityType) { __block NSUInteger count = 0; - [transaction - enumerateKeysAndObjectsInCollection:collection - usingBlock:^(NSString *key, id object, BOOL *stop) { - if (self.isComplete) { - *stop = YES; - return; - } - if (filter && !filter(object)) { - return; - } - if (![object isKindOfClass:expectedClass]) { - OWSFailDebug(@"unexpected class: %@", [object class]); - return; - } - TSYapDatabaseObject *entity = object; - count++; - - if (![exportStream writeObject:entity entityType:entityType]) { - *stop = YES; - aborted = YES; - return; - } - }]; + [transaction enumerateKeysAndObjectsInCollection:collection + usingBlock:^(NSString *key, id object, BOOL *stop) { + if (self.isComplete) { + *stop = YES; + return; + } + if (filter && !filter(object)) { + return; + } + if (![object isKindOfClass:expectedClass]) { + OWSFailDebug(@"unexpected class: %@", [object class]); + return; + } + TSYapDatabaseObject *entity = object; + count++; + + if (![exportStream writeObject:entity entityType:entityType]) { + *stop = YES; + aborted = YES; + return; + } + }]; return count; }; @@ -1022,23 +1022,24 @@ NS_ASSUME_NONNULL_BEGIN } __weak OWSBackupExportJob *weakSelf = self; - [OWSBackupAPI fetchAllRecordNamesWithSuccess:^(NSArray *recordNames) { - // Ensure that we continue to work off the main thread. - dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ - NSMutableSet *obsoleteRecordNames = [NSMutableSet new]; - [obsoleteRecordNames addObjectsFromArray:recordNames]; - [obsoleteRecordNames minusSet:activeRecordNames]; - - OWSLogVerbose(@"recordNames: %zd - activeRecordNames: %zd = obsoleteRecordNames: %zd", - recordNames.count, - activeRecordNames.count, - obsoleteRecordNames.count); - - [weakSelf deleteRecordsFromCloud:[obsoleteRecordNames.allObjects mutableCopy] - deletedCount:0 - completion:completion]; - }); - } + [OWSBackupAPI + fetchAllRecordNamesWithSuccess:^(NSArray *recordNames) { + // Ensure that we continue to work off the main thread. + dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ + NSMutableSet *obsoleteRecordNames = [NSMutableSet new]; + [obsoleteRecordNames addObjectsFromArray:recordNames]; + [obsoleteRecordNames minusSet:activeRecordNames]; + + OWSLogVerbose(@"recordNames: %zd - activeRecordNames: %zd = obsoleteRecordNames: %zd", + recordNames.count, + activeRecordNames.count, + obsoleteRecordNames.count); + + [weakSelf deleteRecordsFromCloud:[obsoleteRecordNames.allObjects mutableCopy] + deletedCount:0 + completion:completion]; + }); + } failure:^(NSError *error) { // Ensure that we continue to work off the main thread. dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ diff --git a/Signal/src/util/OWSBackupIO.h b/Signal/src/util/Backup/OWSBackupIO.h similarity index 100% rename from Signal/src/util/OWSBackupIO.h rename to Signal/src/util/Backup/OWSBackupIO.h diff --git a/Signal/src/util/OWSBackupIO.m b/Signal/src/util/Backup/OWSBackupIO.m similarity index 100% rename from Signal/src/util/OWSBackupIO.m rename to Signal/src/util/Backup/OWSBackupIO.m diff --git a/Signal/src/util/OWSBackupImportJob.h b/Signal/src/util/Backup/OWSBackupImportJob.h similarity index 100% rename from Signal/src/util/OWSBackupImportJob.h rename to Signal/src/util/Backup/OWSBackupImportJob.h diff --git a/Signal/src/util/OWSBackupImportJob.m b/Signal/src/util/Backup/OWSBackupImportJob.m similarity index 96% rename from Signal/src/util/OWSBackupImportJob.m rename to Signal/src/util/Backup/OWSBackupImportJob.m index bd726cb27..57b6e3607 100644 --- a/Signal/src/util/OWSBackupImportJob.m +++ b/Signal/src/util/Backup/OWSBackupImportJob.m @@ -80,20 +80,21 @@ NSString *const kOWSBackup_ImportDatabaseKeySpec = @"kOWSBackup_ImportDatabaseKe progress:nil]; __weak OWSBackupImportJob *weakSelf = self; - [weakSelf downloadAndProcessManifestWithSuccess:^(OWSBackupManifestContents *manifest) { - OWSBackupImportJob *strongSelf = weakSelf; - if (!strongSelf) { - return; - } - if (self.isComplete) { - return; + [weakSelf + downloadAndProcessManifestWithSuccess:^(OWSBackupManifestContents *manifest) { + OWSBackupImportJob *strongSelf = weakSelf; + if (!strongSelf) { + return; + } + if (self.isComplete) { + return; + } + OWSCAssertDebug(manifest.databaseItems.count > 0); + OWSCAssertDebug(manifest.attachmentsItems); + strongSelf.databaseItems = manifest.databaseItems; + strongSelf.attachmentsItems = manifest.attachmentsItems; + [strongSelf downloadAndProcessImport]; } - OWSCAssertDebug(manifest.databaseItems.count > 0); - OWSCAssertDebug(manifest.attachmentsItems); - strongSelf.databaseItems = manifest.databaseItems; - strongSelf.attachmentsItems = manifest.attachmentsItems; - [strongSelf downloadAndProcessImport]; - } failure:^(NSError *manifestError) { [weakSelf failWithError:manifestError]; } diff --git a/Signal/src/util/OWSBackupJob.h b/Signal/src/util/Backup/OWSBackupJob.h similarity index 100% rename from Signal/src/util/OWSBackupJob.h rename to Signal/src/util/Backup/OWSBackupJob.h diff --git a/Signal/src/util/OWSBackupJob.m b/Signal/src/util/Backup/OWSBackupJob.m similarity index 92% rename from Signal/src/util/OWSBackupJob.m rename to Signal/src/util/Backup/OWSBackupJob.m index 55f106822..57eb009b6 100644 --- a/Signal/src/util/OWSBackupJob.m +++ b/Signal/src/util/Backup/OWSBackupJob.m @@ -162,18 +162,20 @@ NSString *const kOWSBackup_KeychainService = @"kOWSBackup_KeychainService"; OWSLogVerbose(@""); __weak OWSBackupJob *weakSelf = self; - [OWSBackupAPI downloadManifestFromCloudWithSuccess:^(NSData *data) { - dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ - [weakSelf processManifest:data - success:success - failure:^{ - failure(OWSErrorWithCodeDescription(OWSErrorCodeImportBackupFailed, - NSLocalizedString(@"BACKUP_IMPORT_ERROR_COULD_NOT_IMPORT", - @"Error indicating the backup import could not import the user's data."))); - } - backupIO:backupIO]; - }); - } + [OWSBackupAPI + downloadManifestFromCloudWithSuccess:^(NSData *data) { + dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ + [weakSelf + processManifest:data + success:success + failure:^{ + failure(OWSErrorWithCodeDescription(OWSErrorCodeImportBackupFailed, + NSLocalizedString(@"BACKUP_IMPORT_ERROR_COULD_NOT_IMPORT", + @"Error indicating the backup import could not import the user's data."))); + } + backupIO:backupIO]; + }); + } failure:^(NSError *error) { dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ // The manifest file is critical so any error downloading it is unrecoverable. diff --git a/Signal/src/util/OWSBackupLazyRestoreJob.swift b/Signal/src/util/Backup/OWSBackupLazyRestoreJob.swift similarity index 100% rename from Signal/src/util/OWSBackupLazyRestoreJob.swift rename to Signal/src/util/Backup/OWSBackupLazyRestoreJob.swift