diff --git a/Signal.xcodeproj/project.pbxproj b/Signal.xcodeproj/project.pbxproj index b20273368..f22e74fc3 100644 --- a/Signal.xcodeproj/project.pbxproj +++ b/Signal.xcodeproj/project.pbxproj @@ -561,11 +561,11 @@ B6FE7EB71ADD62FA00A6D22F /* PushKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6FE7EB61ADD62FA00A6D22F /* PushKit.framework */; }; B8162F0322891AD600D46544 /* FriendRequestView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8162F0222891AD600D46544 /* FriendRequestView.swift */; }; B8162F0522892C5F00D46544 /* FriendRequestViewDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8162F0422892C5F00D46544 /* FriendRequestViewDelegate.swift */; }; - B821F2F82272CED3002C88C0 /* AccountDetailsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B821F2F72272CED3002C88C0 /* AccountDetailsViewController.swift */; }; - B821F2FA2272CEEE002C88C0 /* SeedViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B821F2F92272CEEE002C88C0 /* SeedViewController.swift */; }; + B821F2F82272CED3002C88C0 /* DisplayNameVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = B821F2F72272CED3002C88C0 /* DisplayNameVC.swift */; }; + B821F2FA2272CEEE002C88C0 /* SeedVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = B821F2F92272CEEE002C88C0 /* SeedVC.swift */; }; B8258493230FA5E9001B41CB /* ScanQRCodeViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B8258492230FA5E9001B41CB /* ScanQRCodeViewController.m */; }; - B82584A02315024B001B41CB /* LokiRSSFeedPoller.swift in Sources */ = {isa = PBXBuildFile; fileRef = B825849F2315024B001B41CB /* LokiRSSFeedPoller.swift */; }; - B845B4D4230CD09100D759F0 /* LokiGroupChatPoller.swift in Sources */ = {isa = PBXBuildFile; fileRef = B845B4D3230CD09000D759F0 /* LokiGroupChatPoller.swift */; }; + B82584A02315024B001B41CB /* RSSFeedPoller.swift in Sources */ = {isa = PBXBuildFile; fileRef = B825849F2315024B001B41CB /* RSSFeedPoller.swift */; }; + B845B4D4230CD09100D759F0 /* GroupChatPoller.swift in Sources */ = {isa = PBXBuildFile; fileRef = B845B4D3230CD09000D759F0 /* GroupChatPoller.swift */; }; B846365B22B7418B00AF1514 /* Identicon+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = B846365A22B7418B00AF1514 /* Identicon+ObjC.swift */; }; B86BD08123399883000F5AE3 /* QRCodeModal.swift in Sources */ = {isa = PBXBuildFile; fileRef = B86BD08023399883000F5AE3 /* QRCodeModal.swift */; }; B86BD08423399ACF000F5AE3 /* Modal.swift in Sources */ = {isa = PBXBuildFile; fileRef = B86BD08323399ACF000F5AE3 /* Modal.swift */; }; @@ -1367,12 +1367,12 @@ B6FE7EB61ADD62FA00A6D22F /* PushKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = PushKit.framework; path = System/Library/Frameworks/PushKit.framework; sourceTree = SDKROOT; }; B8162F0222891AD600D46544 /* FriendRequestView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FriendRequestView.swift; sourceTree = ""; }; B8162F0422892C5F00D46544 /* FriendRequestViewDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FriendRequestViewDelegate.swift; sourceTree = ""; }; - B821F2F72272CED3002C88C0 /* AccountDetailsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountDetailsViewController.swift; sourceTree = ""; }; - B821F2F92272CEEE002C88C0 /* SeedViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SeedViewController.swift; sourceTree = ""; }; + B821F2F72272CED3002C88C0 /* DisplayNameVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DisplayNameVC.swift; sourceTree = ""; }; + B821F2F92272CEEE002C88C0 /* SeedVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SeedVC.swift; sourceTree = ""; }; B8258491230FA5DA001B41CB /* ScanQRCodeViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ScanQRCodeViewController.h; sourceTree = ""; }; B8258492230FA5E9001B41CB /* ScanQRCodeViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ScanQRCodeViewController.m; sourceTree = ""; }; - B825849F2315024B001B41CB /* LokiRSSFeedPoller.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LokiRSSFeedPoller.swift; sourceTree = ""; }; - B845B4D3230CD09000D759F0 /* LokiGroupChatPoller.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LokiGroupChatPoller.swift; sourceTree = ""; }; + B825849F2315024B001B41CB /* RSSFeedPoller.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RSSFeedPoller.swift; sourceTree = ""; }; + B845B4D3230CD09000D759F0 /* GroupChatPoller.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GroupChatPoller.swift; sourceTree = ""; }; B846365A22B7418B00AF1514 /* Identicon+ObjC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Identicon+ObjC.swift"; sourceTree = ""; }; B86BD08023399883000F5AE3 /* QRCodeModal.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = QRCodeModal.swift; sourceTree = ""; }; B86BD08323399ACF000F5AE3 /* Modal.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Modal.swift; sourceTree = ""; }; @@ -2637,18 +2637,16 @@ B8439518228510E9000563FE /* Loki */ = { isa = PBXGroup; children = ( - B86BD08223399ABF000F5AE3 /* Modals */, - B821F2F72272CED3002C88C0 /* AccountDetailsViewController.swift */, + B86BD0892339A278000F5AE3 /* Group Chat */, + B86BD0872339A1ED000F5AE3 /* Onboarding */, + B86BD08223399ABF000F5AE3 /* Settings */, + B86BD0882339A253000F5AE3 /* Utilities */, B8162F0222891AD600D46544 /* FriendRequestView.swift */, B8162F0422892C5F00D46544 /* FriendRequestViewDelegate.swift */, - B845B4D3230CD09000D759F0 /* LokiGroupChatPoller.swift */, 24A830A12293CD0100F4CAC0 /* LokiP2PServer.swift */, - B825849F2315024B001B41CB /* LokiRSSFeedPoller.swift */, B89841E222B7579F00B1BDC6 /* NewConversationViewController.swift */, B8258491230FA5DA001B41CB /* ScanQRCodeViewController.h */, B8258492230FA5E9001B41CB /* ScanQRCodeViewController.m */, - B821F2F92272CEEE002C88C0 /* SeedViewController.swift */, - B885D5F52334A32100EE0D8E /* UIView+Constraint.swift */, ); path = Loki; sourceTree = ""; @@ -2664,15 +2662,41 @@ path = Loki; sourceTree = ""; }; - B86BD08223399ABF000F5AE3 /* Modals */ = { + B86BD08223399ABF000F5AE3 /* Settings */ = { isa = PBXGroup; children = ( - B86BD08323399ACF000F5AE3 /* Modal.swift */, B885D5F3233491AB00EE0D8E /* DeviceLinkingModal.swift */, B86BD08023399883000F5AE3 /* QRCodeModal.swift */, B86BD08523399CEF000F5AE3 /* SeedModal.swift */, ); - path = Modals; + path = Settings; + sourceTree = ""; + }; + B86BD0872339A1ED000F5AE3 /* Onboarding */ = { + isa = PBXGroup; + children = ( + B821F2F72272CED3002C88C0 /* DisplayNameVC.swift */, + B821F2F92272CEEE002C88C0 /* SeedVC.swift */, + ); + path = Onboarding; + sourceTree = ""; + }; + B86BD0882339A253000F5AE3 /* Utilities */ = { + isa = PBXGroup; + children = ( + B86BD08323399ACF000F5AE3 /* Modal.swift */, + B885D5F52334A32100EE0D8E /* UIView+Constraint.swift */, + ); + path = Utilities; + sourceTree = ""; + }; + B86BD0892339A278000F5AE3 /* Group Chat */ = { + isa = PBXGroup; + children = ( + B845B4D3230CD09000D759F0 /* GroupChatPoller.swift */, + B825849F2315024B001B41CB /* RSSFeedPoller.swift */, + ); + path = "Group Chat"; sourceTree = ""; }; D221A07E169C9E5E00537ABF = { @@ -3718,7 +3742,7 @@ 34A4C62022175C5C0042EF2E /* OnboardingProfileViewController.swift in Sources */, 4505C2BF1E648EA300CEBF41 /* ExperienceUpgrade.swift in Sources */, EF764C351DB67CC5000D9A87 /* UIViewController+Permissions.m in Sources */, - B845B4D4230CD09100D759F0 /* LokiGroupChatPoller.swift in Sources */, + B845B4D4230CD09100D759F0 /* GroupChatPoller.swift in Sources */, 45CD81EF1DC030E7004C9430 /* SyncPushTokensJob.swift in Sources */, 34D2CCE0206939B400CB1A14 /* DebugUIMessagesAssetLoader.m in Sources */, 4CEB78C92178EBAB00F315D2 /* OWSSessionResetJobRecord.m in Sources */, @@ -3752,7 +3776,7 @@ 4C4AEC4520EC343B0020E72B /* DismissableTextField.swift in Sources */, 4CB5F26720F6E1E2004D1B42 /* MenuActionsViewController.swift in Sources */, 3496955E219B605E00DCFE74 /* PhotoLibrary.swift in Sources */, - B82584A02315024B001B41CB /* LokiRSSFeedPoller.swift in Sources */, + B82584A02315024B001B41CB /* RSSFeedPoller.swift in Sources */, 24A830A22293CD0100F4CAC0 /* LokiP2PServer.swift in Sources */, 349ED990221B0194008045B0 /* Onboarding2FAViewController.swift in Sources */, 45D231771DC7E8F10034FA89 /* SessionResetJob.swift in Sources */, @@ -3798,7 +3822,7 @@ 4C21D5D8223AC60F00EF8A77 /* PhotoCapture.swift in Sources */, 4C13C9F620E57BA30089A98B /* ColorPickerViewController.swift in Sources */, B8162F0522892C5F00D46544 /* FriendRequestViewDelegate.swift in Sources */, - B821F2FA2272CEEE002C88C0 /* SeedViewController.swift in Sources */, + B821F2FA2272CEEE002C88C0 /* SeedVC.swift in Sources */, 4CC1ECFB211A553000CC13BE /* AppUpdateNag.swift in Sources */, 3448E16022134C89004B052E /* OnboardingSplashViewController.swift in Sources */, 34B6A903218B3F63007C4606 /* TypingIndicatorView.swift in Sources */, @@ -3816,7 +3840,7 @@ 45F32C222057297A00A300D5 /* MediaDetailViewController.m in Sources */, 34B3F8851E8DF1700035BE1A /* NewGroupViewController.m in Sources */, 34ABC0E421DD20C500ED9469 /* ConversationMessageMapping.swift in Sources */, - B821F2F82272CED3002C88C0 /* AccountDetailsViewController.swift in Sources */, + B821F2F82272CED3002C88C0 /* DisplayNameVC.swift in Sources */, 34D8C0271ED3673300188D7C /* DebugUIMessages.m in Sources */, B885D5F62334A32100EE0D8E /* UIView+Constraint.swift in Sources */, 34DBF003206BD5A500025978 /* OWSMessageTextView.m in Sources */, diff --git a/Signal/src/Loki/LokiGroupChatPoller.swift b/Signal/src/Loki/Group Chat/GroupChatPoller.swift similarity index 99% rename from Signal/src/Loki/LokiGroupChatPoller.swift rename to Signal/src/Loki/Group Chat/GroupChatPoller.swift index 3ec1683a1..d712c317c 100644 --- a/Signal/src/Loki/LokiGroupChatPoller.swift +++ b/Signal/src/Loki/Group Chat/GroupChatPoller.swift @@ -1,6 +1,6 @@ @objc(LKGroupChatPoller) -public final class LokiGroupChatPoller : NSObject { +public final class GroupChatPoller : NSObject { private let group: LokiGroupChat private var pollForNewMessagesTimer: Timer? = nil private var pollForDeletedMessagesTimer: Timer? = nil diff --git a/Signal/src/Loki/LokiRSSFeedPoller.swift b/Signal/src/Loki/Group Chat/RSSFeedPoller.swift similarity index 98% rename from Signal/src/Loki/LokiRSSFeedPoller.swift rename to Signal/src/Loki/Group Chat/RSSFeedPoller.swift index 4cac9710b..56ef5756e 100644 --- a/Signal/src/Loki/LokiRSSFeedPoller.swift +++ b/Signal/src/Loki/Group Chat/RSSFeedPoller.swift @@ -1,7 +1,7 @@ import FeedKit @objc(LKRSSFeedPoller) -public final class LokiRSSFeedPoller : NSObject { +public final class RSSFeedPoller : NSObject { private let feed: LokiRSSFeed private var timer: Timer? = nil private var hasStarted = false diff --git a/Signal/src/Loki/AccountDetailsViewController.swift b/Signal/src/Loki/Onboarding/DisplayNameVC.swift similarity index 97% rename from Signal/src/Loki/AccountDetailsViewController.swift rename to Signal/src/Loki/Onboarding/DisplayNameVC.swift index aae25b7b8..767b6b9a0 100644 --- a/Signal/src/Loki/AccountDetailsViewController.swift +++ b/Signal/src/Loki/Onboarding/DisplayNameVC.swift @@ -1,5 +1,5 @@ -final class AccountDetailsViewController : OnboardingBaseViewController { +final class DisplayNameVC : OnboardingBaseViewController { private lazy var userNameTextField: UITextField = { let result = UITextField() diff --git a/Signal/src/Loki/SeedViewController.swift b/Signal/src/Loki/Onboarding/SeedVC.swift similarity index 98% rename from Signal/src/Loki/SeedViewController.swift rename to Signal/src/Loki/Onboarding/SeedVC.swift index 4ab0be316..6a9704223 100644 --- a/Signal/src/Loki/SeedViewController.swift +++ b/Signal/src/Loki/Onboarding/SeedVC.swift @@ -1,7 +1,7 @@ -// TODO: Split this into multiple VCs? +// TODO: Split this into multiple VCs -final class SeedViewController : OnboardingBaseViewController { +final class SeedVC : OnboardingBaseViewController { private var mode: Mode = .register { didSet { if mode != oldValue { handleModeChanged() } } } private var seed: Data! { didSet { updateMnemonic() } } private var mnemonic: String! { didSet { handleMnemonicChanged() } } @@ -332,6 +332,6 @@ final class SeedViewController : OnboardingBaseViewController { if mode == .link { } - onboardingController.pushAccountDetailsViewController(from: self) + onboardingController.pushDisplayNameVC(from: self) } } diff --git a/Signal/src/Loki/Modals/DeviceLinkingModal.swift b/Signal/src/Loki/Settings/DeviceLinkingModal.swift similarity index 100% rename from Signal/src/Loki/Modals/DeviceLinkingModal.swift rename to Signal/src/Loki/Settings/DeviceLinkingModal.swift diff --git a/Signal/src/Loki/Modals/QRCodeModal.swift b/Signal/src/Loki/Settings/QRCodeModal.swift similarity index 100% rename from Signal/src/Loki/Modals/QRCodeModal.swift rename to Signal/src/Loki/Settings/QRCodeModal.swift diff --git a/Signal/src/Loki/Modals/SeedModal.swift b/Signal/src/Loki/Settings/SeedModal.swift similarity index 100% rename from Signal/src/Loki/Modals/SeedModal.swift rename to Signal/src/Loki/Settings/SeedModal.swift diff --git a/Signal/src/Loki/Modals/Modal.swift b/Signal/src/Loki/Utilities/Modal.swift similarity index 100% rename from Signal/src/Loki/Modals/Modal.swift rename to Signal/src/Loki/Utilities/Modal.swift diff --git a/Signal/src/Loki/UIView+Constraint.swift b/Signal/src/Loki/Utilities/UIView+Constraint.swift similarity index 100% rename from Signal/src/Loki/UIView+Constraint.swift rename to Signal/src/Loki/Utilities/UIView+Constraint.swift diff --git a/Signal/src/ViewControllers/Registration/OnboardingController.swift b/Signal/src/ViewControllers/Registration/OnboardingController.swift index a937065b4..e23aaddd6 100644 --- a/Signal/src/ViewControllers/Registration/OnboardingController.swift +++ b/Signal/src/ViewControllers/Registration/OnboardingController.swift @@ -98,7 +98,7 @@ public class OnboardingController: NSObject { // MARK: - Transitions public func onboardingSplashDidComplete(viewController: UIViewController) { - pushSeedViewController(from: viewController) + pushSeedVC(from: viewController) } public func onboardingPermissionsWasSkipped(viewController: UIViewController) { @@ -106,7 +106,7 @@ public class OnboardingController: NSObject { Logger.info("") - pushSeedViewController(from: viewController) + pushSeedVC(from: viewController) } public func onboardingPermissionsDidComplete(viewController: UIViewController) { @@ -114,19 +114,19 @@ public class OnboardingController: NSObject { Logger.info("") - pushSeedViewController(from: viewController) + pushSeedVC(from: viewController) } - public func pushSeedViewController(from viewController: UIViewController) { + public func pushSeedVC(from viewController: UIViewController) { AssertIsOnMainThread() - let seedVC = SeedViewController(onboardingController: self) + let seedVC = SeedVC(onboardingController: self) viewController.navigationController?.pushViewController(seedVC, animated: true) } - public func pushAccountDetailsViewController(from viewController: UIViewController) { + public func pushDisplayNameVC(from viewController: UIViewController) { AssertIsOnMainThread() - let accountDetailsVC = AccountDetailsViewController(onboardingController: self) - viewController.navigationController?.pushViewController(accountDetailsVC, animated: true) + let displayNameVC = DisplayNameVC(onboardingController: self) + viewController.navigationController?.pushViewController(displayNameVC, animated: true) } public func onboardingRegistrationSucceeded(viewController: UIViewController) { @@ -152,7 +152,7 @@ public class OnboardingController: NSObject { // from the "code verification" view. The "Captcha" view should always appear // immediately after the "phone number" view. while navigationController.viewControllers.count > 1 && - !(navigationController.topViewController is AccountDetailsViewController) { + !(navigationController.topViewController is DisplayNameVC) { navigationController.popViewController(animated: false) }