From c52eb024ab13f66fc1a67e06dfb9ef3a0a311bb1 Mon Sep 17 00:00:00 2001 From: Brent Simmons Date: Sat, 7 Oct 2017 20:24:58 -0700 Subject: [PATCH] Avoid resetting the save timer so often during a refresh session. Instead just remove it (if refreshing) and add it back when the refresh session ends. --- Frameworks/Account/Account.swift | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/Frameworks/Account/Account.swift b/Frameworks/Account/Account.swift index e5b75f7ef..b7a5ceb52 100644 --- a/Frameworks/Account/Account.swift +++ b/Frameworks/Account/Account.swift @@ -46,8 +46,16 @@ public final class Account: DisplayNameProvider, Hashable { var username: String? var saveTimer: Timer? - private var dirty = false { + var dirty = false { didSet { + + if refreshInProgress { + if let _ = saveTimer { + removeSaveTimer() + } + return + } + if dirty { resetSaveTimer() } @@ -65,6 +73,9 @@ public final class Account: DisplayNameProvider, Hashable { } else { NotificationCenter.default.post(name: .AccountRefreshDidFinish, object: self) + if dirty { + resetSaveTimer() + } } } }