Exclude Inoreader from article status syncs
This commit is contained in:
parent
70cf3a303a
commit
091ef7aba2
@ -443,21 +443,7 @@ public final class Account: DisplayNameProvider, UnreadCountProvider, Container,
|
|||||||
}
|
}
|
||||||
|
|
||||||
public func syncArticleStatus(completion: ((Result<Void, Error>) -> Void)? = nil) {
|
public func syncArticleStatus(completion: ((Result<Void, Error>) -> Void)? = nil) {
|
||||||
delegate.sendArticleStatus(for: self) { [unowned self] result in
|
delegate.syncArticleStatus(for: self, completion: completion)
|
||||||
switch result {
|
|
||||||
case .success:
|
|
||||||
self.delegate.refreshArticleStatus(for: self) { result in
|
|
||||||
switch result {
|
|
||||||
case .success:
|
|
||||||
completion?(.success(()))
|
|
||||||
case .failure(let error):
|
|
||||||
completion?(.failure(error))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
case .failure(let error):
|
|
||||||
completion?(.failure(error))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public func importOPML(_ opmlFile: URL, completion: @escaping (Result<Void, Error>) -> Void) {
|
public func importOPML(_ opmlFile: URL, completion: @escaping (Result<Void, Error>) -> Void) {
|
||||||
|
@ -26,6 +26,7 @@ protocol AccountDelegate {
|
|||||||
func receiveRemoteNotification(for account: Account, userInfo: [AnyHashable : Any], completion: @escaping () -> Void)
|
func receiveRemoteNotification(for account: Account, userInfo: [AnyHashable : Any], completion: @escaping () -> Void)
|
||||||
|
|
||||||
func refreshAll(for account: Account, completion: @escaping (Result<Void, Error>) -> Void)
|
func refreshAll(for account: Account, completion: @escaping (Result<Void, Error>) -> Void)
|
||||||
|
func syncArticleStatus(for account: Account, completion: ((Result<Void, Error>) -> Void)?)
|
||||||
func sendArticleStatus(for account: Account, completion: @escaping ((Result<Void, Error>) -> Void))
|
func sendArticleStatus(for account: Account, completion: @escaping ((Result<Void, Error>) -> Void))
|
||||||
func refreshArticleStatus(for account: Account, completion: @escaping ((Result<Void, Error>) -> Void))
|
func refreshArticleStatus(for account: Account, completion: @escaping ((Result<Void, Error>) -> Void))
|
||||||
|
|
||||||
|
@ -92,6 +92,24 @@ final class CloudKitAccountDelegate: AccountDelegate {
|
|||||||
standardRefreshAll(for: account, completion: completion)
|
standardRefreshAll(for: account, completion: completion)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func syncArticleStatus(for account: Account, completion: ((Result<Void, Error>) -> Void)? = nil) {
|
||||||
|
sendArticleStatus(for: account) { result in
|
||||||
|
switch result {
|
||||||
|
case .success:
|
||||||
|
self.refreshArticleStatus(for: account) { result in
|
||||||
|
switch result {
|
||||||
|
case .success:
|
||||||
|
completion?(.success(()))
|
||||||
|
case .failure(let error):
|
||||||
|
completion?(.failure(error))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
case .failure(let error):
|
||||||
|
completion?(.failure(error))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func sendArticleStatus(for account: Account, completion: @escaping ((Result<Void, Error>) -> Void)) {
|
func sendArticleStatus(for account: Account, completion: @escaping ((Result<Void, Error>) -> Void)) {
|
||||||
sendArticleStatus(for: account, showProgress: false, completion: completion)
|
sendArticleStatus(for: account, showProgress: false, completion: completion)
|
||||||
}
|
}
|
||||||
|
@ -150,6 +150,24 @@ final class FeedWranglerAccountDelegate: AccountDelegate {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func syncArticleStatus(for account: Account, completion: ((Result<Void, Error>) -> Void)? = nil) {
|
||||||
|
sendArticleStatus(for: account) { result in
|
||||||
|
switch result {
|
||||||
|
case .success:
|
||||||
|
self.refreshArticleStatus(for: account) { result in
|
||||||
|
switch result {
|
||||||
|
case .success:
|
||||||
|
completion?(.success(()))
|
||||||
|
case .failure(let error):
|
||||||
|
completion?(.failure(error))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
case .failure(let error):
|
||||||
|
completion?(.failure(error))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func refreshArticles(for account: Account, page: Int = 0, completion: @escaping ((Result<Void, Error>) -> Void)) {
|
func refreshArticles(for account: Account, page: Int = 0, completion: @escaping ((Result<Void, Error>) -> Void)) {
|
||||||
os_log(.debug, log: log, "Refreshing articles, page: %d...", page)
|
os_log(.debug, log: log, "Refreshing articles, page: %d...", page)
|
||||||
|
|
||||||
|
@ -112,6 +112,24 @@ final class FeedbinAccountDelegate: AccountDelegate {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func syncArticleStatus(for account: Account, completion: ((Result<Void, Error>) -> Void)? = nil) {
|
||||||
|
sendArticleStatus(for: account) { result in
|
||||||
|
switch result {
|
||||||
|
case .success:
|
||||||
|
self.refreshArticleStatus(for: account) { result in
|
||||||
|
switch result {
|
||||||
|
case .success:
|
||||||
|
completion?(.success(()))
|
||||||
|
case .failure(let error):
|
||||||
|
completion?(.failure(error))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
case .failure(let error):
|
||||||
|
completion?(.failure(error))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func sendArticleStatus(for account: Account, completion: @escaping ((Result<Void, Error>) -> Void)) {
|
func sendArticleStatus(for account: Account, completion: @escaping ((Result<Void, Error>) -> Void)) {
|
||||||
|
|
||||||
os_log(.debug, log: log, "Sending article statuses...")
|
os_log(.debug, log: log, "Sending article statuses...")
|
||||||
|
@ -145,6 +145,24 @@ final class FeedlyAccountDelegate: AccountDelegate {
|
|||||||
operationQueue.add(syncAllOperation)
|
operationQueue.add(syncAllOperation)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func syncArticleStatus(for account: Account, completion: ((Result<Void, Error>) -> Void)? = nil) {
|
||||||
|
sendArticleStatus(for: account) { result in
|
||||||
|
switch result {
|
||||||
|
case .success:
|
||||||
|
self.refreshArticleStatus(for: account) { result in
|
||||||
|
switch result {
|
||||||
|
case .success:
|
||||||
|
completion?(.success(()))
|
||||||
|
case .failure(let error):
|
||||||
|
completion?(.failure(error))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
case .failure(let error):
|
||||||
|
completion?(.failure(error))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func sendArticleStatus(for account: Account, completion: @escaping ((Result<Void, Error>) -> Void)) {
|
func sendArticleStatus(for account: Account, completion: @escaping ((Result<Void, Error>) -> Void)) {
|
||||||
// Ensure remote articles have the same status as they do locally.
|
// Ensure remote articles have the same status as they do locally.
|
||||||
let send = FeedlySendArticleStatusesOperation(database: database, service: caller, log: log)
|
let send = FeedlySendArticleStatusesOperation(database: database, service: caller, log: log)
|
||||||
|
@ -96,6 +96,10 @@ final class LocalAccountDelegate: AccountDelegate {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func syncArticleStatus(for account: Account, completion: ((Result<Void, Error>) -> Void)? = nil) {
|
||||||
|
completion?(.success(()))
|
||||||
|
}
|
||||||
|
|
||||||
func sendArticleStatus(for account: Account, completion: @escaping ((Result<Void, Error>) -> Void)) {
|
func sendArticleStatus(for account: Account, completion: @escaping ((Result<Void, Error>) -> Void)) {
|
||||||
completion(.success(()))
|
completion(.success(()))
|
||||||
}
|
}
|
||||||
|
@ -114,6 +114,24 @@ final class NewsBlurAccountDelegate: AccountDelegate {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func syncArticleStatus(for account: Account, completion: ((Result<Void, Error>) -> Void)? = nil) {
|
||||||
|
sendArticleStatus(for: account) { result in
|
||||||
|
switch result {
|
||||||
|
case .success:
|
||||||
|
self.refreshArticleStatus(for: account) { result in
|
||||||
|
switch result {
|
||||||
|
case .success:
|
||||||
|
completion?(.success(()))
|
||||||
|
case .failure(let error):
|
||||||
|
completion?(.failure(error))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
case .failure(let error):
|
||||||
|
completion?(.failure(error))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func sendArticleStatus(for account: Account, completion: @escaping (Result<Void, Error>) -> ()) {
|
func sendArticleStatus(for account: Account, completion: @escaping (Result<Void, Error>) -> ()) {
|
||||||
os_log(.debug, log: log, "Sending story statuses...")
|
os_log(.debug, log: log, "Sending story statuses...")
|
||||||
|
|
||||||
|
@ -131,6 +131,29 @@ final class ReaderAPIAccountDelegate: AccountDelegate {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func syncArticleStatus(for account: Account, completion: ((Result<Void, Error>) -> Void)? = nil) {
|
||||||
|
guard variant != .inoreader else {
|
||||||
|
completion?(.success(()))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
sendArticleStatus(for: account) { result in
|
||||||
|
switch result {
|
||||||
|
case .success:
|
||||||
|
self.refreshArticleStatus(for: account) { result in
|
||||||
|
switch result {
|
||||||
|
case .success:
|
||||||
|
completion?(.success(()))
|
||||||
|
case .failure(let error):
|
||||||
|
completion?(.failure(error))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
case .failure(let error):
|
||||||
|
completion?(.failure(error))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func sendArticleStatus(for account: Account, completion: @escaping ((Result<Void, Error>) -> Void)) {
|
func sendArticleStatus(for account: Account, completion: @escaping ((Result<Void, Error>) -> Void)) {
|
||||||
os_log(.debug, log: log, "Sending article statuses...")
|
os_log(.debug, log: log, "Sending article statuses...")
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user