wip
This commit is contained in:
parent
f8030ed60e
commit
006ae2a612
|
@ -26,8 +26,6 @@ final class WrapperXMPP: ObservableObject {
|
|||
// subscribe to monalxmpp notifications and fire notification for update
|
||||
subscribeToUpdates()
|
||||
processOnStart()
|
||||
// xmpp.reconnectAll()
|
||||
// NotificationCenter.default.post(name: Notification.Name(kMonalRefresh), object: nil)
|
||||
}
|
||||
|
||||
deinit {
|
||||
|
@ -42,8 +40,6 @@ extension WrapperXMPP {
|
|||
let result = await scenario.tryLogin(login, password)
|
||||
if !result {
|
||||
throw AimErrors.loginError
|
||||
} else {
|
||||
processOnStart()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -78,8 +74,6 @@ extension WrapperXMPP {
|
|||
semaphore.signal()
|
||||
}
|
||||
semaphore.wait()
|
||||
refreshChats()
|
||||
refreshContacts()
|
||||
contact = contacts.first(where: { $0.ownerId == with.accountId && $0.contactJid == with.participantJid })
|
||||
}
|
||||
|
||||
|
@ -95,17 +89,24 @@ private extension WrapperXMPP {
|
|||
func subscribeToUpdates() {
|
||||
notificationObservers.append(
|
||||
NotificationCenter.default.addObserver(forName: Notification.Name(kMonalRefresh), object: nil, queue: .main) { [weak self] notification in
|
||||
self?.processEvent(kMonalRefresh, notification.object)
|
||||
self?.processEvent(kMonalRefresh, notification.userInfo?["contact"])
|
||||
}
|
||||
)
|
||||
notificationObservers.append(
|
||||
NotificationCenter.default.addObserver(forName: Notification.Name(kMonalContactRefresh), object: nil, queue: .main) { [weak self] notification in
|
||||
self?.processEvent(kMonalContactRefresh, notification.object)
|
||||
self?.processEvent(kMonalContactRefresh, notification.userInfo?["contact"])
|
||||
}
|
||||
)
|
||||
notificationObservers.append(
|
||||
NotificationCenter.default.addObserver(forName: Notification.Name(kMonalContactRemoved), object: nil, queue: .main) { [weak self] notification in
|
||||
self?.processEvent(kMonalContactRemoved, notification.object)
|
||||
self?.processEvent(kMonalContactRemoved, notification.userInfo?["contact"])
|
||||
}
|
||||
)
|
||||
notificationObservers.append(
|
||||
NotificationCenter.default.addObserver(forName: Notification.Name(kMLResourceBoundNotice), object: nil, queue: .main) { [weak self] _ in
|
||||
self?.processOnStart()
|
||||
// DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {
|
||||
// }
|
||||
}
|
||||
)
|
||||
}
|
||||
|
@ -117,9 +118,14 @@ private extension WrapperXMPP {
|
|||
print("refresh?")
|
||||
|
||||
case kMonalContactRefresh:
|
||||
if let mlContact = object as? MLContact {
|
||||
if let updated = Contact(mlContact), let index = contacts.firstIndex(where: { $0.id == mlContact.id }) {
|
||||
contacts[index] = updated
|
||||
if let mlContact = object as? MLContact, !mlContact.isSelfChat {
|
||||
if let contact = Contact(mlContact) {
|
||||
if let index = contacts.firstIndex(where: { $0.id == mlContact.id }) {
|
||||
contacts[index] = contact
|
||||
} else {
|
||||
contacts.append(contact)
|
||||
contacts.sort { $0.name < $1.name }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue