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

Reply via email to