mirror of
https://github.com/MessageKit/MessageKit.git
synced 2026-02-06 19:03:19 +00:00
Merge remote-tracking branch 'origin/3.0.0-beta' into typingIndicatorView
This commit is contained in:
@@ -43,6 +43,7 @@ final internal class SampleData {
|
||||
case Url
|
||||
case Phone
|
||||
case Custom
|
||||
case ShareContact
|
||||
}
|
||||
|
||||
let system = MockUser(senderId: "000000", displayName: "System")
|
||||
@@ -51,6 +52,15 @@ final internal class SampleData {
|
||||
let wu = MockUser(senderId: "000003", displayName: "Wu Zhong")
|
||||
|
||||
lazy var senders = [nathan, steven, wu]
|
||||
|
||||
lazy var contactsToShare = [
|
||||
MockContactItem(name: "System", initials: "S"),
|
||||
MockContactItem(name: "Nathan Tannar", initials: "NT", emails: ["test@test.com"]),
|
||||
MockContactItem(name: "Steven Deutsch", initials: "SD", phoneNumbers: ["+1-202-555-0114", "+1-202-555-0145"]),
|
||||
MockContactItem(name: "Wu Zhong", initials: "WZ", phoneNumbers: ["202-555-0158"]),
|
||||
MockContactItem(name:"+40 123 123", initials: "#", phoneNumbers: ["+40 123 123"]),
|
||||
MockContactItem(name:"test@test.com", initials: "#", emails: ["test@test.com"])
|
||||
]
|
||||
|
||||
var currentSender: MockUser {
|
||||
return nathan
|
||||
@@ -142,8 +152,8 @@ final internal class SampleData {
|
||||
return messageTypes.random()!
|
||||
}
|
||||
|
||||
// swiftlint:disable cyclomatic_complexity
|
||||
func randomMessage(allowedSenders: [MockUser]) -> MockMessage {
|
||||
|
||||
let randomNumberSender = Int(arc4random_uniform(UInt32(allowedSenders.count)))
|
||||
|
||||
let uniqueID = NSUUID().uuidString
|
||||
@@ -182,8 +192,12 @@ final internal class SampleData {
|
||||
return MockMessage(text: "123-456-7890", user: user, messageId: uniqueID, date: date)
|
||||
case .Custom:
|
||||
return MockMessage(custom: "Someone left the conversation", user: system, messageId: uniqueID, date: date)
|
||||
case .ShareContact:
|
||||
let randomContact = Int(arc4random_uniform(UInt32(contactsToShare.count)))
|
||||
return MockMessage(contact: contactsToShare[randomContact], user: user, messageId: uniqueID, date: date)
|
||||
}
|
||||
}
|
||||
// swiftlint:enable cyclomatic_complexity
|
||||
|
||||
func getMessages(count: Int, completion: ([MockMessage]) -> Void) {
|
||||
var messages: [MockMessage] = []
|
||||
|
||||
@@ -70,6 +70,22 @@ private struct MockAudiotem: AudioItem {
|
||||
|
||||
}
|
||||
|
||||
struct MockContactItem: ContactItem {
|
||||
|
||||
var displayName: String
|
||||
var initials: String
|
||||
var phoneNumbers: [String]
|
||||
var emails: [String]
|
||||
|
||||
init(name: String, initials: String, phoneNumbers: [String] = [], emails: [String] = []) {
|
||||
self.displayName = name
|
||||
self.initials = initials
|
||||
self.phoneNumbers = phoneNumbers
|
||||
self.emails = emails
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
internal struct MockMessage: MessageType {
|
||||
|
||||
var messageId: String
|
||||
@@ -124,4 +140,7 @@ internal struct MockMessage: MessageType {
|
||||
self.init(kind: .audio(audioItem), user: user, messageId: messageId, date: date)
|
||||
}
|
||||
|
||||
init(contact: MockContactItem, user: MockUser, messageId: String, date: Date) {
|
||||
self.init(kind: .contact(contact), user: user, messageId: messageId, date: date)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -33,7 +33,7 @@ final internal class SettingsViewController: UITableViewController {
|
||||
return .lightContent
|
||||
}
|
||||
|
||||
let cells = ["Mock messages count", "Text Messages", "AttributedText Messages", "Photo Messages", "Video Messages", "Audio Messages", "Emoji Messages", "Location Messages", "Url Messages", "Phone Messages"]
|
||||
let cells = ["Mock messages count", "Text Messages", "AttributedText Messages", "Photo Messages", "Video Messages", "Audio Messages", "Emoji Messages", "Location Messages", "Url Messages", "Phone Messages", "ShareContact Messages"]
|
||||
|
||||
// MARK: - Picker
|
||||
|
||||
@@ -137,6 +137,7 @@ final internal class SettingsViewController: UITableViewController {
|
||||
let cell = cells[sender.tag]
|
||||
|
||||
UserDefaults.standard.set(sender.isOn, forKey: cell)
|
||||
UserDefaults.standard.synchronize()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user