From 61f48620d0755f78968999d849ae8f3733b2f9ca Mon Sep 17 00:00:00 2001 From: Nikolay Pultsin Date: Tue, 27 Oct 2015 02:20:25 +0000 Subject: [PATCH] fixed network search --- .../fbreader/network/opds/OPDSFeedHandler.java | 10 +++++++--- .../fbreader/network/opds/OPDSFeedMetadata.java | 2 +- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/fbreader/app/src/main/java/org/geometerplus/fbreader/network/opds/OPDSFeedHandler.java b/fbreader/app/src/main/java/org/geometerplus/fbreader/network/opds/OPDSFeedHandler.java index f7057ac67..144148431 100644 --- a/fbreader/app/src/main/java/org/geometerplus/fbreader/network/opds/OPDSFeedHandler.java +++ b/fbreader/app/src/main/java/org/geometerplus/fbreader/network/opds/OPDSFeedHandler.java @@ -71,9 +71,13 @@ class OPDSFeedHandler extends AbstractOPDSFeedHandler implements OPDSConstants { myIndex = feed.OpensearchStartIndex - 1; if (feed.OpensearchItemsPerPage > 0) { myItemsToLoad = feed.OpensearchItemsPerPage; - final int len = feed.OpensearchTotalResults - myIndex; - if (len > 0 && len < myItemsToLoad) { - myItemsToLoad = len; + if (feed.OpensearchTotalResults >= 0) { + myItemsToLoad = + Math.min(Math.max(0, feed.OpensearchTotalResults - myIndex), myItemsToLoad); + } + if (myItemsToLoad == 0) { + myData.ResumeURI = null; + return true; } } if ("series".equals(feed.ViewType)) { diff --git a/fbreader/app/src/main/java/org/geometerplus/fbreader/network/opds/OPDSFeedMetadata.java b/fbreader/app/src/main/java/org/geometerplus/fbreader/network/opds/OPDSFeedMetadata.java index cbcc2eb6a..541e71bec 100644 --- a/fbreader/app/src/main/java/org/geometerplus/fbreader/network/opds/OPDSFeedMetadata.java +++ b/fbreader/app/src/main/java/org/geometerplus/fbreader/network/opds/OPDSFeedMetadata.java @@ -24,7 +24,7 @@ import org.geometerplus.zlibrary.core.xml.ZLStringMap; import org.geometerplus.fbreader.network.atom.*; class OPDSFeedMetadata extends ATOMFeedMetadata { - public int OpensearchTotalResults; + public int OpensearchTotalResults = -1; public int OpensearchItemsPerPage; public int OpensearchStartIndex = 1;