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;