BearND has uploaded a new change for review.
https://gerrit.wikimedia.org/r/195078
Change subject: Just log the read next items actually shown
......................................................................
Just log the read next items actually shown
Before it was logging up to 11 items when it only showed 1
for the new Read Next functionality.
Now callers of SuggestionsTask specify both the number
of items requested and the max number of items shown.
For the case where a lead image is required just one extra
item doesn't cut if since there could be items without
lead images in the result returned by the API.
Also fixed the test.
Change-Id: I26be484d9f98d51dadf96de5c4736fa292f387c2
---
M wikipedia-it/src/main/java/org/wikipedia/test/SuggestionsTaskTests.java
M wikipedia/src/main/java/org/wikipedia/page/SuggestionsTask.java
M
wikipedia/src/main/java/org/wikipedia/page/bottomcontent/BottomContentHandler.java
M
wikipedia/src/main/java/org/wikipedia/page/bottomcontent/BottomContentHandlerOld.java
4 files changed, 20 insertions(+), 14 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia
refs/changes/78/195078/1
diff --git
a/wikipedia-it/src/main/java/org/wikipedia/test/SuggestionsTaskTests.java
b/wikipedia-it/src/main/java/org/wikipedia/test/SuggestionsTaskTests.java
index 3ced283..1257d30 100644
--- a/wikipedia-it/src/main/java/org/wikipedia/test/SuggestionsTaskTests.java
+++ b/wikipedia-it/src/main/java/org/wikipedia/test/SuggestionsTaskTests.java
@@ -20,6 +20,7 @@
public class SuggestionsTaskTests extends
ActivityUnitTestCase<TestDummyActivity> {
private static final int TASK_COMPLETION_TIMEOUT = 200000;
private static final int BATCH_SIZE = 3;
+ private static final int THUMB_SIZE = 100;
private static final Site SITE = new Site("test.wikipedia.org");
private WikipediaApp app;
@@ -40,7 +41,8 @@
runTestOnUiThread(new Runnable() {
@Override
public void run() {
- new SuggestionsTask(app.getAPIForSite(SITE), SITE, "test") {
+ new SuggestionsTask(app.getAPIForSite(SITE), SITE, "test",
+ BATCH_SIZE + 1, BATCH_SIZE, THUMB_SIZE, false) {
@Override
public void onFinish(SearchResults results) {
assertNotNull(results);
@@ -88,7 +90,8 @@
}
private void checkFilter(int expected, List<PageTitle> originalResults) {
- SuggestionsTask task = new SuggestionsTask(app.getAPIForSite(SITE),
SITE, "test");
+ SuggestionsTask task = new SuggestionsTask(app.getAPIForSite(SITE),
SITE, "test",
+ BATCH_SIZE + 1, BATCH_SIZE, THUMB_SIZE, false);
SearchResults searchResults = new SearchResults(originalResults, null,
null);
List<PageTitle> filteredList =
task.filterResults(searchResults).getPageTitles();
assertEquals(expected, filteredList.size());
diff --git a/wikipedia/src/main/java/org/wikipedia/page/SuggestionsTask.java
b/wikipedia/src/main/java/org/wikipedia/page/SuggestionsTask.java
index b1e304b..cf816e8 100644
--- a/wikipedia/src/main/java/org/wikipedia/page/SuggestionsTask.java
+++ b/wikipedia/src/main/java/org/wikipedia/page/SuggestionsTask.java
@@ -16,14 +16,15 @@
*/
public class SuggestionsTask extends FullSearchArticlesTask {
private final String title;
- private final int numItems;
+ private final int maxItems;
private final boolean requireThumbnail;
- public SuggestionsTask(Api api, Site site, String title, int thumbSize,
int numItems,
- boolean requireThumbnail) {
- super(api, site, title, numItems + 1, null, thumbSize);
+ public SuggestionsTask(Api api, Site site, String title,
+ int numRequestItems, int maxResultItems,
+ int thumbSize, boolean requireThumbnail) {
+ super(api, site, title, numRequestItems, null, thumbSize);
this.title = title;
- this.numItems = numItems;
+ this.maxItems = maxResultItems;
this.requireThumbnail = requireThumbnail;
}
@@ -42,7 +43,7 @@
public SearchResults filterResults(SearchResults searchResults) {
List<PageTitle> filteredResults = new ArrayList<>();
List<PageTitle> results = searchResults.getPageTitles();
- for (int i = 0, count = 0; i < results.size() && count < numItems;
i++) {
+ for (int i = 0, count = 0; i < results.size() && count < maxItems;
i++) {
final PageTitle res = results.get(i);
if (!title.equalsIgnoreCase(res.getPrefixedText()) &&
(!requireThumbnail || res.getThumbUrl() != null)) {
filteredResults.add(res);
diff --git
a/wikipedia/src/main/java/org/wikipedia/page/bottomcontent/BottomContentHandler.java
b/wikipedia/src/main/java/org/wikipedia/page/bottomcontent/BottomContentHandler.java
index 325a6dc..0e8baf3 100644
---
a/wikipedia/src/main/java/org/wikipedia/page/bottomcontent/BottomContentHandler.java
+++
b/wikipedia/src/main/java/org/wikipedia/page/bottomcontent/BottomContentHandler.java
@@ -266,10 +266,11 @@
return;
}
- final int numSuggestions = 10;
+ final int maxResultItems = 1;
+ final int numRequestItems = 10; // increase the chance of getting one
with thumbnails
new SuggestionsTask(app.getAPIForSite(myTitle.getSite()),
myTitle.getSite(),
- myTitle.getPrefixedText(),
(int)(parentFragment.getActivity().getResources().getDimension(R.dimen.leadImageWidth)
/ displayDensity),
- numSuggestions, true) {
+ myTitle.getPrefixedText(), numRequestItems, maxResultItems,
+
(int)(parentFragment.getActivity().getResources().getDimension(R.dimen.leadImageWidth)
/ displayDensity), true) {
@Override
public void onFinish(SearchResults results) {
readMoreItems = results;
diff --git
a/wikipedia/src/main/java/org/wikipedia/page/bottomcontent/BottomContentHandlerOld.java
b/wikipedia/src/main/java/org/wikipedia/page/bottomcontent/BottomContentHandlerOld.java
index 27fdd2b..1240370 100644
---
a/wikipedia/src/main/java/org/wikipedia/page/bottomcontent/BottomContentHandlerOld.java
+++
b/wikipedia/src/main/java/org/wikipedia/page/bottomcontent/BottomContentHandlerOld.java
@@ -290,10 +290,11 @@
layoutContent();
return;
}
- final int numSuggestions = 3;
+ final int maxResultItems = 3;
+ final int numRequestItems = 4;
new SuggestionsTask(app.getAPIForSite(myTitle.getSite()),
myTitle.getSite(),
- myTitle.getPrefixedText(),
(int)(parentFragment.getActivity().getResources().getDimension(R.dimen.leadImageWidth)
/ displayDensity),
- numSuggestions, false) {
+ myTitle.getPrefixedText(), numRequestItems, maxResultItems,
+
(int)(parentFragment.getActivity().getResources().getDimension(R.dimen.leadImageWidth)
/ displayDensity), false) {
@Override
public void onFinish(SearchResults results) {
readMoreItems = results;
--
To view, visit https://gerrit.wikimedia.org/r/195078
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I26be484d9f98d51dadf96de5c4736fa292f387c2
Gerrit-PatchSet: 1
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: BearND <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits