Mhurd has submitted this change and it was merged. Change subject: Removing needsRefreshed from Article Bug T98907 Follow on refactor for T97781 ......................................................................
Removing needsRefreshed from Article Bug T98907 Follow on refactor for T97781 This was being stored in the model, but was a view layer concern. Additionally this was not needed "later" needsRefresh is a "now" concern - so storage was unnecessary. Replaced with a scoped method variable where it is needed (see:WebVC line:1394). (aside: conceivably we could have a needsRefresh property on the article that marks the article as dirty and would cause the article to be downloaded in the background, but that is not the use case here) Change-Id: I732a4ae14541032d7f9d05b5c93ad362900847cd --- M MediaWikiKit/MediaWikiKit/MWKArticle.h M MediaWikiKit/MediaWikiKit/MWKArticle.m M Wikipedia/Networking/Fetchers/ArticleFetcher.m M Wikipedia/Networking/Fetchers/SavedArticlesFetcher.m M Wikipedia/View Controllers/WebView/WebViewController.m 5 files changed, 6 insertions(+), 40 deletions(-) Approvals: Mhurd: Looks good to me, approved jenkins-bot: Verified diff --git a/MediaWikiKit/MediaWikiKit/MWKArticle.h b/MediaWikiKit/MediaWikiKit/MWKArticle.h index 0c7bdd3..93f55de 100644 --- a/MediaWikiKit/MediaWikiKit/MWKArticle.h +++ b/MediaWikiKit/MediaWikiKit/MWKArticle.h @@ -51,8 +51,6 @@ @property (readonly) MWKImage* thumbnail; @property (readonly) MWKImage* image; -@property (readwrite) BOOL needsRefresh; - - (instancetype)initWithTitle:(MWKTitle*)title dataStore:(MWKDataStore*)dataStore; - (instancetype)initWithTitle:(MWKTitle*)title dataStore:(MWKDataStore*)dataStore dict:(NSDictionary*)dict; diff --git a/MediaWikiKit/MediaWikiKit/MWKArticle.m b/MediaWikiKit/MediaWikiKit/MWKArticle.m index b6355c8..c6cf2ab 100644 --- a/MediaWikiKit/MediaWikiKit/MWKArticle.m +++ b/MediaWikiKit/MediaWikiKit/MWKArticle.m @@ -166,30 +166,6 @@ } } -- (void)setNeedsRefresh:(BOOL)val { - NSString* filePath = [self.dataStore pathForArticle:self]; - NSString* fileName = [filePath stringByAppendingPathComponent:@"needsRefresh.lock"]; - - if (val) { - NSString* payload = @"needsRefresh"; - - [[NSFileManager defaultManager] createDirectoryAtPath:filePath - withIntermediateDirectories:YES - attributes:nil - error:nil]; - - [payload writeToFile:fileName atomically:YES encoding:NSUTF8StringEncoding error:nil]; - } else { - [[NSFileManager defaultManager] removeItemAtPath:fileName error:nil]; - } -} - -- (BOOL)needsRefresh { - NSString* filePath = [self.dataStore pathForArticle:self]; - NSString* fileName = [filePath stringByAppendingPathComponent:@"needsRefresh.lock"]; - return [[NSFileManager defaultManager] fileExistsAtPath:fileName isDirectory:nil]; -} - - (void)save { [self.dataStore saveArticle:self]; [self.images save]; diff --git a/Wikipedia/Networking/Fetchers/ArticleFetcher.m b/Wikipedia/Networking/Fetchers/ArticleFetcher.m index 9de9134..320b68a 100644 --- a/Wikipedia/Networking/Fetchers/ArticleFetcher.m +++ b/Wikipedia/Networking/Fetchers/ArticleFetcher.m @@ -105,12 +105,6 @@ [self associateThumbFromTempDirWithArticle]; - // Reminder: must reset "needsRefresh" to NO here! Otherwise saved articles - // (which had been refreshed at least once) won't work if you're offline - // because the system thinks a fresh is *still* needed and will try to load - // from network rather than from cache. - self.article.needsRefresh = NO; - // Update article and section image data. // Reminder: don't recall article save here as it expensively re-writes all section html. [self.article saveWithoutSavingSectionText]; diff --git a/Wikipedia/Networking/Fetchers/SavedArticlesFetcher.m b/Wikipedia/Networking/Fetchers/SavedArticlesFetcher.m index ea6f3b4..e2f4a77 100644 --- a/Wikipedia/Networking/Fetchers/SavedArticlesFetcher.m +++ b/Wikipedia/Networking/Fetchers/SavedArticlesFetcher.m @@ -63,7 +63,6 @@ for (MWKSavedPageEntry* entry in self.savedPageList) { MWKArticle* article = [self.dataStore articleWithTitle:entry.title]; - article.needsRefresh = NO; if (entry.title) { self.fetchersByArticleTitle[entry.title] = [[ArticleFetcher alloc] initAndFetchSectionsForArticle:article withManager:manager thenNotifyDelegate:self]; diff --git a/Wikipedia/View Controllers/WebView/WebViewController.m b/Wikipedia/View Controllers/WebView/WebViewController.m index 3e9e0cb..2bd8058 100644 --- a/Wikipedia/View Controllers/WebView/WebViewController.m +++ b/Wikipedia/View Controllers/WebView/WebViewController.m @@ -1391,27 +1391,26 @@ session.currentArticle = article; session.currentArticleDiscoveryMethod = discoveryMethod; + BOOL needsRefresh = NO; switch (session.currentArticleDiscoveryMethod) { case MWKHistoryDiscoveryMethodSearch: case MWKHistoryDiscoveryMethodRandom: case MWKHistoryDiscoveryMethodLink: case MWKHistoryDiscoveryMethodReload: case MWKHistoryDiscoveryMethodUnknown: { - // Mark article as needing refreshing so its data will be re-downloaded. - // Reminder: this needs to happen *after* "session.title" has been updated - // with the title of the article being retrieved. Otherwise you end up - // marking the previous article as needing to be refreshed. - session.currentArticle.needsRefresh = YES; + needsRefresh = YES; break; } case MWKHistoryDiscoveryMethodSaved: - case MWKHistoryDiscoveryMethodBackForward: + case MWKHistoryDiscoveryMethodBackForward: { + needsRefresh = NO; break; + } } // If article is cached - if ([article isCached] && !article.needsRefresh) { + if ([article isCached] && !needsRefresh) { [self displayArticle:session.currentArticle.title]; //[self showAlert:MWLocalizedString(@"search-loading-article-loaded", nil) type:ALERT_TYPE_TOP duration:-1]; [self fadeAlert]; -- To view, visit https://gerrit.wikimedia.org/r/210560 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I732a4ae14541032d7f9d05b5c93ad362900847cd Gerrit-PatchSet: 5 Gerrit-Project: apps/ios/wikipedia Gerrit-Branch: master Gerrit-Owner: Fjalapeno <cfl...@wikimedia.org> Gerrit-Reviewer: Bgerstle <bgers...@wikimedia.org> Gerrit-Reviewer: Mhurd <mh...@wikimedia.org> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits