Dbrant has submitted this change and it was merged.
Change subject: Fix loading saved pages while offline
......................................................................
Fix loading saved pages while offline
Use a stable ID for storing and loading saved pages.
bug: 70944
Change-Id: I116bbef24940c4e42c7dcb4878aba486c1dbdd9f
---
M wikipedia/src/main/java/org/wikipedia/PageTitle.java
M wikipedia/src/main/java/org/wikipedia/savedpages/SavedPage.java
2 files changed, 16 insertions(+), 4 deletions(-)
Approvals:
Dbrant: Looks good to me, approved
diff --git a/wikipedia/src/main/java/org/wikipedia/PageTitle.java
b/wikipedia/src/main/java/org/wikipedia/PageTitle.java
index 35bd4da..3ef2493 100644
--- a/wikipedia/src/main/java/org/wikipedia/PageTitle.java
+++ b/wikipedia/src/main/java/org/wikipedia/PageTitle.java
@@ -102,17 +102,29 @@
return getPrefixedText().replace("_", " ");
}
- public String getHashedItentifier() {
- return Utils.md5base64(String.format("%1$s/%2$s",
getSite().getDomain(), getPrefixedText()));
+ /** Please keep the ID stable. */
+ public String getIdentifier() {
+ return Utils.md5string(toIdentifierJSON().toString());
}
- public JSONObject toJSON() {
+ /** Please keep the ID stable. */
+ private JSONObject toIdentifierJSON() {
try {
JSONObject json = new JSONObject();
json.put("site", site.getDomain());
json.put("namespace", getNamespace());
json.put("text", getText());
json.put("fragment", getFragment());
+ return json;
+ } catch (JSONException e) {
+ // This will also never happen
+ throw new RuntimeException(e);
+ }
+ }
+
+ public JSONObject toJSON() {
+ try {
+ JSONObject json = toIdentifierJSON();
json.put("thumbUrl", getThumbUrl());
return json;
} catch (JSONException e) {
diff --git a/wikipedia/src/main/java/org/wikipedia/savedpages/SavedPage.java
b/wikipedia/src/main/java/org/wikipedia/savedpages/SavedPage.java
index a15c970..fd82a67 100644
--- a/wikipedia/src/main/java/org/wikipedia/savedpages/SavedPage.java
+++ b/wikipedia/src/main/java/org/wikipedia/savedpages/SavedPage.java
@@ -103,7 +103,7 @@
String getBaseDir() {
// Make the folder name be based on the complete PageTitle object,
// which includes title, site info, etc.
- String dir = getSavedPagesDir() + "/" +
Utils.md5string(title.toJSON().toString());
+ String dir = getSavedPagesDir() + "/" + title.getIdentifier();
(new File(dir)).mkdirs();
return dir;
}
--
To view, visit https://gerrit.wikimedia.org/r/160994
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I116bbef24940c4e42c7dcb4878aba486c1dbdd9f
Gerrit-PatchSet: 1
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: BearND <[email protected]>
Gerrit-Reviewer: Brion VIBBER <[email protected]>
Gerrit-Reviewer: Dbrant <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits