Niedzielski has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/341386 )

Change subject: Remove page combo endpoint usage
......................................................................

Remove page combo endpoint usage

Bug: T156917
Change-Id: Idf9e527a7fc4674821a9afdc0363defdad09247f
---
D 
app/src/main/java/org/wikipedia/dataclient/mwapi/page/MwMobileViewPageCombo.java
M app/src/main/java/org/wikipedia/dataclient/mwapi/page/MwPageClient.java
M app/src/main/java/org/wikipedia/dataclient/mwapi/page/MwPageService.java
M app/src/main/java/org/wikipedia/dataclient/page/PageClient.java
D app/src/main/java/org/wikipedia/dataclient/page/PageCombo.java
M app/src/main/java/org/wikipedia/dataclient/restbase/page/RbPageClient.java
D app/src/main/java/org/wikipedia/dataclient/restbase/page/RbPageCombo.java
M app/src/main/java/org/wikipedia/dataclient/restbase/page/RbPageService.java
M app/src/main/java/org/wikipedia/savedpages/SavedPageSyncService.java
9 files changed, 10 insertions(+), 189 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia 
refs/changes/86/341386/1

diff --git 
a/app/src/main/java/org/wikipedia/dataclient/mwapi/page/MwMobileViewPageCombo.java
 
b/app/src/main/java/org/wikipedia/dataclient/mwapi/page/MwMobileViewPageCombo.java
deleted file mode 100644
index 2abaf41..0000000
--- 
a/app/src/main/java/org/wikipedia/dataclient/mwapi/page/MwMobileViewPageCombo.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package org.wikipedia.dataclient.mwapi.page;
-
-import org.wikipedia.dataclient.page.PageCombo;
-
-/**
- * Combines MwMobileViewPageLead and MwMobileViewPageRemaining Gson POJOs for 
mobileview API.
- * In mobileview API the implementation is basically the same as 
MwMobileViewPageLead.
- * The class name "Page" was already used, and is very entrenched in this code 
base.
- */
-public class MwMobileViewPageCombo extends MwMobileViewPageLead implements 
PageCombo {
-}
diff --git 
a/app/src/main/java/org/wikipedia/dataclient/mwapi/page/MwPageClient.java 
b/app/src/main/java/org/wikipedia/dataclient/mwapi/page/MwPageClient.java
index db13a09..c180257 100644
--- a/app/src/main/java/org/wikipedia/dataclient/mwapi/page/MwPageClient.java
+++ b/app/src/main/java/org/wikipedia/dataclient/mwapi/page/MwPageClient.java
@@ -2,17 +2,12 @@
 
 import android.support.annotation.NonNull;
 
-import org.wikipedia.dataclient.ServiceError;
 import org.wikipedia.dataclient.page.PageClient;
-import org.wikipedia.dataclient.page.PageCombo;
 import org.wikipedia.dataclient.page.PageLead;
 import org.wikipedia.dataclient.page.PageRemaining;
 import org.wikipedia.dataclient.page.PageSummary;
 
-import java.io.IOException;
-
 import retrofit2.Call;
-import retrofit2.Response;
 
 /**
  * Retrofit web service client for MediaWiki PHP API.
@@ -40,17 +35,6 @@
     @NonNull @Override public Call<? extends PageRemaining> sections(@NonNull 
String title,
                                                                      boolean 
noImages) {
         return service.sections(title, optional(noImages));
-    }
-
-    @Override public PageCombo pageCombo(String title, boolean noImages) 
throws IOException {
-        Response<MwMobileViewPageCombo> rsp = service.pageCombo(title, 
optional(noImages)).execute();
-        if (!rsp.body().hasError()) {
-            return rsp.body();
-        }
-        ServiceError err = rsp.body() == null || rsp.body().getError() == null
-                ? null
-                : rsp.body().getError();
-        throw new IOException(err == null ? rsp.message() : err.getDetails());
     }
 
     /**
diff --git 
a/app/src/main/java/org/wikipedia/dataclient/mwapi/page/MwPageService.java 
b/app/src/main/java/org/wikipedia/dataclient/mwapi/page/MwPageService.java
index 53711eb..51ca18e 100644
--- a/app/src/main/java/org/wikipedia/dataclient/mwapi/page/MwPageService.java
+++ b/app/src/main/java/org/wikipedia/dataclient/mwapi/page/MwPageService.java
@@ -67,19 +67,4 @@
             + "&sectionprop=toclevel%7Cline%7Canchor&noheadings=true")
     @NonNull Call<MwMobileViewPageRemaining> sections(@NonNull @Query("page") 
String title,
                                                       @Nullable 
@Query("noimages") Boolean noImages);
-
-    /**
-     * Gets all page content of a given title -- for refreshing a saved page
-     * Note: the only difference in the URL from #pageLead is the sections=all 
instead of 0.
-     *
-     * @param title the page title to be used including prefix
-     * @param noImages add the noimages flag to the request if true
-     */
-    @GET("w/api.php?action=mobileview&format=json&formatversion=2&prop="
-            + 
"text%7Csections%7Clanguagecount%7Cthumb%7Cimage%7Cid%7Crevision%7Cdescription"
-            + 
"%7Clastmodified%7Cnormalizedtitle%7Cdisplaytitle%7Cprotection%7Ceditable"
-            + 
"%7Cpageprops&pageprops=wikibase_item&onlyrequestedsections=1&sections=all"
-            + "&sectionprop=toclevel%7Cline%7Canchor&noheadings=true")
-    Call<MwMobileViewPageCombo> pageCombo(@Query("page") String title,
-                                          @Query("noimages") Boolean noImages);
 }
diff --git a/app/src/main/java/org/wikipedia/dataclient/page/PageClient.java 
b/app/src/main/java/org/wikipedia/dataclient/page/PageClient.java
index a8f4008..7bcfbd8 100644
--- a/app/src/main/java/org/wikipedia/dataclient/page/PageClient.java
+++ b/app/src/main/java/org/wikipedia/dataclient/page/PageClient.java
@@ -2,8 +2,6 @@
 
 import android.support.annotation.NonNull;
 
-import java.io.IOException;
-
 import retrofit2.Call;
 
 /**
@@ -36,14 +34,4 @@
      * @param noImages add the noimages flag to the request if true
      */
     @NonNull <T extends PageRemaining> Call<T> sections(@NonNull String title, 
boolean noImages);
-
-    /**
-     * Gets all page content of a given title.  Used in the saved page sync 
background service.
-     * Synchronous call.
-     *
-     * @param title the page title to be used including prefix
-     * @param noImages add the noimages flag to the request if true
-     * @throws IOException when the request did not succeed
-     */
-    PageCombo pageCombo(String title, boolean noImages) throws IOException;
 }
diff --git a/app/src/main/java/org/wikipedia/dataclient/page/PageCombo.java 
b/app/src/main/java/org/wikipedia/dataclient/page/PageCombo.java
deleted file mode 100644
index c066b07..0000000
--- a/app/src/main/java/org/wikipedia/dataclient/page/PageCombo.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package org.wikipedia.dataclient.page;
-
-/**
- * Combines PageLead and PageRemaining Gson POJIs for mobileview API.
- * It's basically the same as PageLead.
- * The class name "Page" was already used, and is very entrenched in this code 
base.
- */
-public interface PageCombo extends PageLead {
-
-    /** So we can have polymorphic Retrofit Callbacks */
-    interface Callback {
-        void success(PageCombo pageCombo);
-
-        void failure(Throwable throwable);
-    }
-}
diff --git 
a/app/src/main/java/org/wikipedia/dataclient/restbase/page/RbPageClient.java 
b/app/src/main/java/org/wikipedia/dataclient/restbase/page/RbPageClient.java
index 36f9fb3..e31de34 100644
--- a/app/src/main/java/org/wikipedia/dataclient/restbase/page/RbPageClient.java
+++ b/app/src/main/java/org/wikipedia/dataclient/restbase/page/RbPageClient.java
@@ -5,15 +5,12 @@
 
 import com.google.gson.JsonParseException;
 
-import org.wikipedia.dataclient.ServiceError;
 import org.wikipedia.dataclient.page.PageClient;
-import org.wikipedia.dataclient.page.PageCombo;
 import org.wikipedia.dataclient.page.PageLead;
 import org.wikipedia.dataclient.page.PageRemaining;
 import org.wikipedia.dataclient.page.PageSummary;
 import org.wikipedia.dataclient.restbase.RbDefinition;
 
-import java.io.IOException;
 import java.util.Map;
 
 import retrofit2.Call;
@@ -59,17 +56,6 @@
     @NonNull @Override public Call<? extends PageRemaining> sections(@NonNull 
String title,
                                                                      boolean 
noImages) {
         return service.sections(title, optional(noImages));
-    }
-
-    @Override public PageCombo pageCombo(String title, boolean noImages) 
throws IOException {
-        Response<RbPageCombo> rsp = service.pageCombo(title, 
optional(noImages)).execute();
-        if (!rsp.body().hasError()) {
-            return rsp.body();
-        }
-        ServiceError err = rsp.body() == null || rsp.body().getError() == null
-                ? null
-                : rsp.body().getError();
-        throw new IOException(err == null ? rsp.message() : err.getDetails());
     }
 
     /* Not defined in the PageClient interface since the Wiktionary definition 
endpoint exists only
diff --git 
a/app/src/main/java/org/wikipedia/dataclient/restbase/page/RbPageCombo.java 
b/app/src/main/java/org/wikipedia/dataclient/restbase/page/RbPageCombo.java
deleted file mode 100644
index 741271e..0000000
--- a/app/src/main/java/org/wikipedia/dataclient/restbase/page/RbPageCombo.java
+++ /dev/null
@@ -1,82 +0,0 @@
-package org.wikipedia.dataclient.restbase.page;
-
-import android.location.Location;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-
-import org.wikipedia.dataclient.WikiSite;
-import org.wikipedia.dataclient.page.PageCombo;
-import org.wikipedia.dataclient.restbase.RbServiceError;
-import org.wikipedia.page.Page;
-import org.wikipedia.page.PageProperties;
-import org.wikipedia.page.PageTitle;
-import org.wikipedia.util.log.L;
-
-
-/**
- * Combines RbPageLead and RbPageRemaining Gson POJOs for RESTBase Nodejs API.
- * When using the Mobile Content Service API this class composes the two 
parts, lead and
- * remaining.
- */
-public class RbPageCombo implements PageCombo {
-    @SuppressWarnings("unused") @Nullable private RbServiceError error;
-    @SuppressWarnings("unused") @Nullable private RbPageLead lead;
-    @SuppressWarnings("unused") @Nullable private RbPageRemaining remaining;
-
-    @Override
-    public boolean hasError() {
-        return error != null;
-    }
-
-    @Override
-    @Nullable
-    public RbServiceError getError() {
-        return error;
-    }
-
-    @Override
-    public void logError(String message) {
-        if (error != null) {
-            message += ": " + error.toString();
-        }
-        L.e(message);
-    }
-
-    /**
-     * Note: before using this check that #hasError is false
-     */
-    @Override
-    public Page toPage(PageTitle title) {
-        if (lead == null) {
-            throw new RuntimeException("lead is null. Check for errors before 
use!");
-        }
-        Page page = new Page(lead.adjustPageTitle(title), lead.getSections(),
-                toPageProperties(title.getWikiSite()));
-        if (remaining != null) {
-            page.augmentRemainingSections(remaining.getSections());
-        }
-        return page;
-    }
-
-    @Override
-    public String getLeadSectionContent() {
-        return lead != null ? lead.getLeadSectionContent() : "";
-    }
-
-    @Override
-    @Nullable
-    public String getTitlePronunciationUrl() {
-        return lead == null ? null : lead.getTitlePronunciationUrl();
-    }
-
-    @Nullable
-    @Override
-    public Location getGeo() {
-        return lead == null ? null : lead.getGeo();
-    }
-
-    /** Converter */
-    public PageProperties toPageProperties(@NonNull WikiSite wiki) {
-        return new PageProperties(wiki, lead);
-    }
-}
diff --git 
a/app/src/main/java/org/wikipedia/dataclient/restbase/page/RbPageService.java 
b/app/src/main/java/org/wikipedia/dataclient/restbase/page/RbPageService.java
index 875d159..e9e75cb 100644
--- 
a/app/src/main/java/org/wikipedia/dataclient/restbase/page/RbPageService.java
+++ 
b/app/src/main/java/org/wikipedia/dataclient/restbase/page/RbPageService.java
@@ -56,18 +56,6 @@
     @NonNull Call<RbPageRemaining> sections(@NonNull @Path("title") String 
title,
                                             @Nullable @Query("noimages") 
Boolean noImages);
 
-    /**
-     * Gets all page content of a given title -- for refreshing a saved page
-     * Note: the only difference in the URL from #pageLead is the sections=all 
instead of 0.
-     *
-     * @param title the page title to be used including prefix
-     * @param noImages add the noimages flag to the request if true
-     */
-    @Headers(ACCEPT_HEADER_MOBILE_SECTIONS)
-    @GET("page/mobile-sections/{title}")
-    Call<RbPageCombo> pageCombo(@Path("title") String title,
-                                @Query("noimages") Boolean noImages);
-
     // todo: this Content Service-only endpoint is under page/ but that 
implementation detail should
     //       probably not be reflected here. Move to WordDefinitionClient
     /**
diff --git 
a/app/src/main/java/org/wikipedia/savedpages/SavedPageSyncService.java 
b/app/src/main/java/org/wikipedia/savedpages/SavedPageSyncService.java
index 8276e03..4bda952 100644
--- a/app/src/main/java/org/wikipedia/savedpages/SavedPageSyncService.java
+++ b/app/src/main/java/org/wikipedia/savedpages/SavedPageSyncService.java
@@ -6,11 +6,9 @@
 import android.support.annotation.Nullable;
 import android.support.annotation.VisibleForTesting;
 
-import org.wikipedia.WikipediaApp;
 import org.wikipedia.dataclient.okhttp.OkHttpConnectionFactory;
 import org.wikipedia.dataclient.page.PageClient;
 import org.wikipedia.dataclient.page.PageClientFactory;
-import org.wikipedia.page.Page;
 import org.wikipedia.page.PageTitle;
 import org.wikipedia.readinglist.page.ReadingListPageRow;
 import org.wikipedia.readinglist.page.database.ReadingListPageDao;
@@ -104,15 +102,16 @@
         }
 
         try {
-            final Page page = 
getApiService(title).pageCombo(title.getPrefixedText(),
-                            
!WikipediaApp.getInstance().isImageDownloadEnabled()).toPage(title);
-            final SavedPage savedPage = new SavedPage(page.getTitle());
-            final ImageUrlMap imageUrlMap = new 
ImageUrlMap.Builder(FileUtil.getSavedPageDirFor(title))
-                .extractUrls(page).build();
-            downloadImages(imageUrlMap);
-            savedPage.writeUrlMap(imageUrlMap.toJSON());
-            L.i("Page " + title.getDisplayText() + " saved!");
-            return true;
+//            final Page page = 
getApiService(title).pageCombo(title.getPrefixedText(),
+//                            
!WikipediaApp.getInstance().isImageDownloadEnabled()).toPage(title);
+//            final SavedPage savedPage = new SavedPage(page.getTitle());
+//            final ImageUrlMap imageUrlMap = new 
ImageUrlMap.Builder(FileUtil.getSavedPageDirFor(title))
+//                .extractUrls(page).build();
+//            downloadImages(imageUrlMap);
+//            savedPage.writeUrlMap(imageUrlMap.toJSON());
+//            L.i("Page " + title.getDisplayText() + " saved!");
+//            return true;
+            return false;
         } catch (Exception e) {
             L.e("Failed to save page " + title.getDisplayText(), e);
             return false;

-- 
To view, visit https://gerrit.wikimedia.org/r/341386
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Idf9e527a7fc4674821a9afdc0363defdad09247f
Gerrit-PatchSet: 1
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Niedzielski <[email protected]>
Gerrit-Reviewer: Sniedzielski <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to