// // ChatListViewModel.swift // Chat // // Created by Sergey Tarasov on 25.07.2022. // import Foundation import XMPPFramework import XMPPFrameworkSwift class ChatListViewModel: ObservableObject { let xmppController = XMPPController.shared @Published var jids: [XMPPJID] = [] var timer: Timer? init() { self.timer = Timer.scheduledTimer( timeInterval: 2, target: self, selector: #selector(fetchChatList), userInfo: nil, repeats: true ) } @objc public func fetchChatList() { if jids.isEmpty { let jids = xmppController.xmppRosterStorage.jids(for: self.xmppController.xmppStream) self.jids = jids } else { self.timer?.invalidate() } } }