Fjalapeno has uploaded a new change for review. https://gerrit.wikimedia.org/r/210560
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(-) git pull ssh://gerrit.wikimedia.org:29418/apps/ios/wikipedia refs/changes/60/210560/1 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 999ccd6..450c943 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 362d8e0..6cbee3d 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: newchange Gerrit-Change-Id: I732a4ae14541032d7f9d05b5c93ad362900847cd Gerrit-PatchSet: 1 Gerrit-Project: apps/ios/wikipedia Gerrit-Branch: master Gerrit-Owner: Fjalapeno <cfl...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits