From 77c28f646fe0fb82df0ea9e3e8ebf7588c6d17ef Mon Sep 17 00:00:00 2001 From: Yusuke Matsubara Date: Sun, 20 May 2018 12:51:26 +0200 Subject: [PATCH] Create Revision class --- .../commons/mwapi/ApacheHttpClientMediaWikiApi.java | 12 ++++++------ .../java/fr/free/nrw/commons/mwapi/MediaWikiApi.java | 2 +- .../java/fr/free/nrw/commons/mwapi/Revision.java | 11 +++++++++++ .../fr/free/nrw/commons/review/SendThankTask.java | 7 ++++--- 4 files changed, 22 insertions(+), 10 deletions(-) create mode 100644 app/src/main/java/fr/free/nrw/commons/mwapi/Revision.java diff --git a/app/src/main/java/fr/free/nrw/commons/mwapi/ApacheHttpClientMediaWikiApi.java b/app/src/main/java/fr/free/nrw/commons/mwapi/ApacheHttpClientMediaWikiApi.java index b06c8d875..62c741013 100644 --- a/app/src/main/java/fr/free/nrw/commons/mwapi/ApacheHttpClientMediaWikiApi.java +++ b/app/src/main/java/fr/free/nrw/commons/mwapi/ApacheHttpClientMediaWikiApi.java @@ -607,16 +607,16 @@ public class ApacheHttpClientMediaWikiApi implements MediaWikiApi { @Override @Nullable - public String firstRevisionOfFile(String filename) throws IOException { - String res = api.action("query") + public Revision firstRevisionOfFile(String filename) throws IOException { + ApiResult res = api.action("query") .param("prop", "revisions") - .param("rvprop", "timestamp|ids") + .param("rvprop", "timestamp|ids|user") .param("titles", filename) .param("rvdir", "newer") .param("rvlimit", "1") - .get() - .getString("/api/query/pages/page/revisions/rev/@revid"); - return res; + .get(); + return new Revision(res.getString("/api/query/pages/page/revisions/rev/@revid"), + res.getString("/api/query/pages/page/revisions/rev/@user")); } @Override diff --git a/app/src/main/java/fr/free/nrw/commons/mwapi/MediaWikiApi.java b/app/src/main/java/fr/free/nrw/commons/mwapi/MediaWikiApi.java index ffcaa594c..88efa7f4e 100644 --- a/app/src/main/java/fr/free/nrw/commons/mwapi/MediaWikiApi.java +++ b/app/src/main/java/fr/free/nrw/commons/mwapi/MediaWikiApi.java @@ -110,7 +110,7 @@ public interface MediaWikiApi { boolean thank(String editToken, String revision) throws IOException; - String firstRevisionOfFile(String filename) throws IOException; + Revision firstRevisionOfFile(String filename) throws IOException; interface ProgressListener { void onProgress(long transferred, long total); diff --git a/app/src/main/java/fr/free/nrw/commons/mwapi/Revision.java b/app/src/main/java/fr/free/nrw/commons/mwapi/Revision.java new file mode 100644 index 000000000..97108107d --- /dev/null +++ b/app/src/main/java/fr/free/nrw/commons/mwapi/Revision.java @@ -0,0 +1,11 @@ +package fr.free.nrw.commons.mwapi; + +public class Revision { + public String revisionId; + public String username; + + public Revision(String revisionId, String username) { + this.revisionId = revisionId; + this.username = username; + } +} diff --git a/app/src/main/java/fr/free/nrw/commons/review/SendThankTask.java b/app/src/main/java/fr/free/nrw/commons/review/SendThankTask.java index 1fa74e1c6..6d3d62052 100644 --- a/app/src/main/java/fr/free/nrw/commons/review/SendThankTask.java +++ b/app/src/main/java/fr/free/nrw/commons/review/SendThankTask.java @@ -16,6 +16,7 @@ import fr.free.nrw.commons.R; import fr.free.nrw.commons.auth.SessionManager; import fr.free.nrw.commons.di.ApplicationlessInjection; import fr.free.nrw.commons.mwapi.MediaWikiApi; +import fr.free.nrw.commons.mwapi.Revision; import timber.log.Timber; import static android.support.v4.app.NotificationCompat.DEFAULT_ALL; @@ -45,7 +46,7 @@ public class SendThankTask extends AsyncTask { private NotificationCompat.Builder notificationBuilder; private Context context; private Media media; - private String revision; + private Revision revision; public SendThankTask(Context context, Media media){ this.context = context; @@ -79,14 +80,14 @@ public class SendThankTask extends AsyncTask { mwApi.setAuthCookie(authCookie); try { - this.revision = mwApi.firstRevisionOfFile(media.getFilename()); + revision = mwApi.firstRevisionOfFile(media.getFilename()); editToken = mwApi.getEditToken(); if (editToken.equals("+\\")) { return false; } publishProgress(1); - mwApi.thank(editToken, revision); + mwApi.thank(editToken, revision.revisionId); publishProgress(2); }