Remove unnecessary Task.detached NotificationCenter workaround

This commit is contained in:
Sasha Weiss 2026-05-06 17:30:56 -07:00 committed by GitHub
parent eef251790f
commit 1a61fe0b1a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 40 additions and 67 deletions

View File

@ -331,54 +331,46 @@ class BackupSettingsViewController:
return true
}
},
NotificationCenter.default.startTaskTrackingNotifications(
named: .OWSApplicationDidBecomeActive,
onNotification: { [weak self] in
Task { [weak self] in
for await _ in NotificationCenter.default.notifications(named: .OWSApplicationDidBecomeActive) {
self?.loadBackupSubscription()
},
),
NotificationCenter.default.startTaskTrackingNotifications(
named: .backupPlanChanged,
onNotification: { [weak self] in
}
},
Task { [weak self] in
for await _ in NotificationCenter.default.notifications(named: .backupPlanChanged) {
self?._backupPlanDidChange()
},
),
NotificationCenter.default.startTaskTrackingNotifications(
named: .lastBackupDetailsDidChange,
onNotification: { [weak self] in
}
},
Task { [weak self] in
for await _ in NotificationCenter.default.notifications(named: .lastBackupDetailsDidChange) {
self?._lastBackupDetailsDidChange()
},
),
NotificationCenter.default.startTaskTrackingNotifications(
named: .shouldAllowBackupUploadsOnCellularChanged,
onNotification: { [weak self] in
}
},
Task { [weak self] in
for await _ in NotificationCenter.default.notifications(named: .shouldAllowBackupUploadsOnCellularChanged) {
self?._shouldAllowBackupUploadsOnCellularDidChange()
},
),
NotificationCenter.default.startTaskTrackingNotifications(
named: .backupSubscriptionAlreadyRedeemedDidChange,
onNotification: { [weak self] in
}
},
Task { [weak self] in
for await _ in NotificationCenter.default.notifications(named: .backupSubscriptionAlreadyRedeemedDidChange) {
self?._backupSubscriptionAlreadyRedeemedDidChange()
},
),
NotificationCenter.default.startTaskTrackingNotifications(
named: .backupIAPNotFoundLocallyDidChange,
onNotification: { [weak self] in
}
},
Task { [weak self] in
for await _ in NotificationCenter.default.notifications(named: .backupIAPNotFoundLocallyDidChange) {
self?._backupIAPNotFoundLocallyDidChange()
},
),
NotificationCenter.default.startTaskTrackingNotifications(
named: .hasConsumedMediaTierCapacityStatusDidChange,
onNotification: { [weak self] in
}
},
Task { [weak self] in
for await _ in NotificationCenter.default.notifications(named: .hasConsumedMediaTierCapacityStatusDidChange) {
self?._hasConsumedMediaTierCapacityDidChange()
},
),
NotificationCenter.default.startTaskTrackingNotifications(
named: UIApplication.backgroundRefreshStatusDidChangeNotification,
onNotification: { [weak self] in
}
},
Task { [weak self] in
for await _ in NotificationCenter.default.notifications(named: UIApplication.backgroundRefreshStatusDidChangeNotification) {
self?._isBackgroundAppRefreshDisabledDidChange()
},
),
}
},
]
}

View File

@ -198,9 +198,8 @@ class CLVBackupExportProgressView: BackupExportProgressView.Delegate {
}
}
},
NotificationCenter.default.startTaskTrackingNotifications(
named: .lastBackupDetailsDidChange,
onNotification: { [weak self] in
Task { @MainActor [weak self] in
for await _ in NotificationCenter.default.notifications(named: .lastBackupDetailsDidChange) {
guard let self else { return }
let lastBackupDetails = db.read { tx in
@ -211,11 +210,10 @@ class CLVBackupExportProgressView: BackupExportProgressView.Delegate {
_state.lastBackupDetails = lastBackupDetails
self.setViewStateForState(state: &_state)
}
},
),
NotificationCenter.default.startTaskTrackingNotifications(
named: .isHiddenDidChange,
onNotification: { [weak self] in
}
},
Task { @MainActor [weak self] in
for await _ in NotificationCenter.default.notifications(named: .isHiddenDidChange) {
guard let self else { return }
let isHidden = db.read { tx in
@ -226,8 +224,8 @@ class CLVBackupExportProgressView: BackupExportProgressView.Delegate {
_state.isHidden = isHidden
self.setViewStateForState(state: &_state)
}
},
),
}
},
]
}

View File

@ -48,20 +48,3 @@ extension NotificationCenter {
removeObserver(observer.wrapped)
}
}
// MARK: -
extension NotificationCenter {
public func startTaskTrackingNotifications(
named name: Notification.Name,
onNotification: @MainActor @escaping () -> Void,
) -> Task<Void, Never> {
return Task.detached {
for await _ in NotificationCenter.default.notifications(named: name) {
await MainActor.run {
onNotification()
}
}
}
}
}