Create ExtensionFeedAddRequestFile.shared and WidgetDataEncoder.shared.

This commit is contained in:
Brent Simmons
2025-02-01 20:16:33 -08:00
parent e640c65db5
commit 4008ad5dd0
4 changed files with 12 additions and 15 deletions

View File

@@ -26,8 +26,6 @@ final class AppDelegate: NSObject, NSApplicationDelegate, NSUserInterfaceValidat
static let mainWindow = "mainWindow"
}
var extensionFeedAddRequestFile: ExtensionFeedAddRequestFile!
var refreshTimer: AccountRefreshTimer?
var syncTimer: ArticleStatusSyncTimer?
var lastRefreshInterval = AppDefaults.refreshInterval
@@ -195,7 +193,7 @@ final class AppDelegate: NSObject, NSApplicationDelegate, NSUserInterfaceValidat
}
_ = ExtensionContainersFile.shared
extensionFeedAddRequestFile = ExtensionFeedAddRequestFile()
_ = ExtensionFeedAddRequestFile.shared
refreshTimer = AccountRefreshTimer()
_ = ArticleStatusSyncTimer.shared

View File

@@ -12,6 +12,8 @@ import Account
final class ExtensionFeedAddRequestFile: NSObject, NSFilePresenter {
static let shared = ExtensionFeedAddRequestFile()
private static var log = OSLog(subsystem: Bundle.main.bundleIdentifier!, category: "extensionFeedAddRequestFile")
private static var filePath: String = {

View File

@@ -16,6 +16,8 @@ import Account
public final class WidgetDataEncoder {
static let shared = WidgetDataEncoder()
private let log = OSLog(subsystem: Bundle.main.bundleIdentifier!, category: "Application")
private let fetchLimit = 7

View File

@@ -25,9 +25,6 @@ final class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationC
private let logger = Logger(subsystem: Bundle.main.bundleIdentifier!, category: "Application")
var extensionFeedAddRequestFile: ExtensionFeedAddRequestFile!
var widgetDataEncoder: WidgetDataEncoder!
private var unreadCount = 0 {
didSet {
if unreadCount != oldValue {
@@ -85,13 +82,11 @@ final class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationC
}
UNUserNotificationCenter.current().delegate = self
_ = UserNotificationManager.shared
_ = ExtensionContainersFile.shared
extensionFeedAddRequestFile = ExtensionFeedAddRequestFile()
widgetDataEncoder = WidgetDataEncoder()
_ = ExtensionFeedAddRequestFile.shared
_ = WidgetDataEncoder.shared
_ = ArticleStatusSyncTimer.shared
#if DEBUG
@@ -184,16 +179,16 @@ final class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationC
}
func prepareAccountsForBackground() {
extensionFeedAddRequestFile.suspend()
ExtensionFeedAddRequestFile.shared.suspend()
ArticleStatusSyncTimer.shared.invalidate()
scheduleBackgroundFeedRefresh()
syncArticleStatus()
widgetDataEncoder.encode()
WidgetDataEncoder.shared.encode()
waitForSyncTasksToFinish()
}
func prepareAccountsForForeground() {
extensionFeedAddRequestFile.resume()
ExtensionFeedAddRequestFile.shared.resume()
ArticleStatusSyncTimer.shared.update()
if let lastRefresh = AppDefaults.lastRefresh {
@@ -307,7 +302,7 @@ private extension AppDelegate {
return
}
if AccountManager.shared.refreshInProgress || isSyncArticleStatusRunning || widgetDataEncoder.isRunning {
if AccountManager.shared.refreshInProgress || isSyncArticleStatusRunning || WidgetDataEncoder.shared.isRunning {
logger.info("Waiting for sync to finish…")
DispatchQueue.main.asyncAfter(deadline: .now() + 1.0) { [weak self] in
self?.waitToComplete(completion: completion)