From 92f6ee3f4271ee02596335a6762e823db467544f Mon Sep 17 00:00:00 2001 From: Maurice Parker Date: Wed, 15 Jul 2020 21:32:56 -0500 Subject: [PATCH] Coalesce refresh progress updates --- Multiplatform/Shared/RefreshProgressModel.swift | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/Multiplatform/Shared/RefreshProgressModel.swift b/Multiplatform/Shared/RefreshProgressModel.swift index cdf2f5747..26e5c4a02 100644 --- a/Multiplatform/Shared/RefreshProgressModel.swift +++ b/Multiplatform/Shared/RefreshProgressModel.swift @@ -6,10 +6,10 @@ // Copyright © 2020 Ranchero Software. All rights reserved. // -import Account -import Combine -import Foundation import SwiftUI +import Combine +import RSCore +import Account class RefreshProgressModel: ObservableObject { @@ -40,11 +40,15 @@ class RefreshProgressModel: ObservableObject { // MARK: Observing account changes private func observeRefreshProgress() { - NotificationCenter.default.addObserver(self, selector: #selector(updateState), name: .AccountRefreshProgressDidChange, object: nil) + NotificationCenter.default.addObserver(self, selector: #selector(accountRefreshProgressDidChange), name: .AccountRefreshProgressDidChange, object: nil) } // MARK: Refreshing state + @objc private func accountRefreshProgressDidChange() { + CoalescingQueue.standard.add(self, #selector(updateState)) + } + @objc private func updateState() { let progress = AccountManager.shared.combinedRefreshProgress