From a058885b37eac30a6e269fcd388f23dc0e4e894d Mon Sep 17 00:00:00 2001 From: Nathan Tannar Date: Sun, 24 Mar 2019 18:34:43 -0700 Subject: [PATCH] Fix example app --- .../Sources/Data Generation/SampleData.swift | 52 ++++++++----------- Example/Sources/Models/MockUser.swift | 2 +- .../SettingsViewController.swift | 1 - 3 files changed, 24 insertions(+), 31 deletions(-) diff --git a/Example/Sources/Data Generation/SampleData.swift b/Example/Sources/Data Generation/SampleData.swift index 44eaf155..2e353d55 100644 --- a/Example/Sources/Data Generation/SampleData.swift +++ b/Example/Sources/Data Generation/SampleData.swift @@ -32,29 +32,23 @@ final internal class SampleData { private init() {} - enum MessageTypes: UInt32, CaseIterable { - case Text = 0 - case AttributedText = 1 - case Photo = 2 - case Video = 3 - case Audio = 4 - case Emoji = 5 - case Location = 6 - case Url = 7 - case Phone = 8 - case Custom = 9 - - static func random() -> MessageTypes { - let randomIndex = Int(arc4random()) % MessageTypes.all.count - return all[randomIndex] - } - + enum MessageTypes: String, CaseIterable { + case Text + case AttributedText + case Photo + case Video + case Audio + case Emoji + case Location + case Url + case Phone + case Custom } - let system = MockUser(id: "000000", displayName: "System") - let nathan = MockUser(id: "000001", displayName: "Nathan Tannar") - let steven = MockUser(id: "000002", displayName: "Steven Deutsch") - let wu = MockUser(id: "000003", displayName: "Wu Zhong") + let system = MockUser(senderId: "000000", displayName: "System") + let nathan = MockUser(senderId: "000001", displayName: "Nathan Tannar") + let steven = MockUser(senderId: "000002", displayName: "Steven Deutsch") + let wu = MockUser(senderId: "000003", displayName: "Wu Zhong") lazy var senders = [nathan, steven, wu] @@ -139,13 +133,13 @@ final internal class SampleData { } func randomMessageType() -> MessageTypes { - let messageType = MessageTypes.random() - - if !UserDefaults.standard.bool(forKey: "\(messageType.rawValue)" + " Messages") { - return randomMessageType() + var messageTypes = [MessageTypes]() + for type in MessageTypes.allCases { + if UserDefaults.standard.bool(forKey: "\(type.rawValue)" + " Messages") { + messageTypes.append(type) + } } - - return messageType + return messageTypes.random()! } func randomMessage(allowedSenders: [MockUser]) -> MockMessage { @@ -157,7 +151,7 @@ final internal class SampleData { let date = dateAddingRandomTime() switch randomMessageType() { - case .text: + case .Text: let randomSentence = Lorem.sentence() return MockMessage(text: randomSentence, user: user, messageId: uniqueID, date: date) case .AttributedText: @@ -228,7 +222,7 @@ final internal class SampleData { let firstName = sender.displayName.components(separatedBy: " ").first let lastName = sender.displayName.components(separatedBy: " ").first let initials = "\(firstName?.first ?? "A")\(lastName?.first ?? "A")" - switch sender.id { + switch sender.senderId { case "000001": return Avatar(image: #imageLiteral(resourceName: "Nathan-Tannar"), initials: initials) case "000002": diff --git a/Example/Sources/Models/MockUser.swift b/Example/Sources/Models/MockUser.swift index de17c097..def55314 100644 --- a/Example/Sources/Models/MockUser.swift +++ b/Example/Sources/Models/MockUser.swift @@ -26,6 +26,6 @@ import Foundation import MessageKit struct MockUser: SenderType, Equatable { - var id: String + var senderId: String var displayName: String } diff --git a/Example/Sources/View Controllers/SettingsViewController.swift b/Example/Sources/View Controllers/SettingsViewController.swift index ae0b3d40..7c39887e 100644 --- a/Example/Sources/View Controllers/SettingsViewController.swift +++ b/Example/Sources/View Controllers/SettingsViewController.swift @@ -34,7 +34,6 @@ final internal class SettingsViewController: UITableViewController { } let cells = ["Mock messages count", "Text Messages", "AttributedText Messages", "Photo Messages", "Video Messages", "Audio Messages", "Emoji Messages", "Location Messages", "Url Messages", "Phone Messages"] - // MARK: - Picker