diff --git a/app/src/main/java/com/hippo/ehviewer/EhDB.java b/app/src/main/java/com/hippo/ehviewer/EhDB.java index dd0c1b43a..05ead6e76 100644 --- a/app/src/main/java/com/hippo/ehviewer/EhDB.java +++ b/app/src/main/java/com/hippo/ehviewer/EhDB.java @@ -162,7 +162,12 @@ public class EhDB { gi.category = cursor.getInt(4); gi.thumb = cursor.getString(5); gi.uploader = cursor.getString(6); - gi.rating = cursor.getFloat(7); + try { + // In 0.6.x version, NaN is stored + gi.rating = cursor.getFloat(7); + } catch (Exception e) { + gi.rating = -1.0f; + } map.put(gi.gid, gi); diff --git a/app/src/main/java/com/hippo/ehviewer/client/parser/GalleryDetailParser.java b/app/src/main/java/com/hippo/ehviewer/client/parser/GalleryDetailParser.java index dc45474de..74408b12a 100644 --- a/app/src/main/java/com/hippo/ehviewer/client/parser/GalleryDetailParser.java +++ b/app/src/main/java/com/hippo/ehviewer/client/parser/GalleryDetailParser.java @@ -198,7 +198,7 @@ public class GalleryDetailParser { if (null != rating_label) { String ratingStr = StringUtils.trim(rating_label.text()); if ("Not Yet Rated".equals(ratingStr)) { - gd.rating = Float.NaN; + gd.rating = -1.0f; } else { int index = ratingStr.indexOf(' '); if (index == -1 || index >= ratingStr.length()) { @@ -208,7 +208,7 @@ public class GalleryDetailParser { } } } else { - gd.rating = Float.NaN; + gd.rating = -1.0f; } // isFavorited diff --git a/app/src/main/java/com/hippo/ehviewer/client/parser/GalleryListParser.java b/app/src/main/java/com/hippo/ehviewer/client/parser/GalleryListParser.java index 4f882dd4a..9d104fd8c 100644 --- a/app/src/main/java/com/hippo/ehviewer/client/parser/GalleryListParser.java +++ b/app/src/main/java/com/hippo/ehviewer/client/parser/GalleryListParser.java @@ -162,10 +162,10 @@ public class GalleryListParser { // Rating Element it4r = JsoupUtils.getElementByClass(e, "it4r"); if (null != it4r) { - gi.rating = NumberUtils.parseFloatSafely(parseRating(it4r.attr("style")), Float.NaN); + gi.rating = NumberUtils.parseFloatSafely(parseRating(it4r.attr("style")), -1.0f); } else { Log.w(TAG, "Can't parse gallery info rating"); - gi.rating = Float.NaN; + gi.rating = -1.0f; } // Uploader Element itu = JsoupUtils.getElementByClass(e, "itu"); diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryDetailScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryDetailScene.java index 470c0f556..30d0f7c91 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryDetailScene.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryDetailScene.java @@ -913,7 +913,7 @@ public class GalleryDetailScene extends BaseScene implements View.OnClickListene private static String getRatingText(float rating, Resources resources) { String undefine = "(´_ゝ`)"; - if (Float.isNaN(rating)) { + if (-1.0f == rating) { return undefine; }