From 2087970de652bcd1f08645558b74707c2c4ce5cd Mon Sep 17 00:00:00 2001 From: FooIbar <118464521+FooIbar@users.noreply.github.com> Date: Sun, 11 Dec 2022 18:55:48 +0800 Subject: [PATCH] Use MODE for favoriteSlot in HistoryInfo --- app/src/main/java/com/hippo/ehviewer/EhDB.java | 15 ++++++++------- .../java/com/hippo/ehviewer/dao/HistoryInfo.java | 11 +++++++---- .../com/hippo/ehviewer/dao/LocalFavoriteInfo.java | 1 + 3 files changed, 16 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/com/hippo/ehviewer/EhDB.java b/app/src/main/java/com/hippo/ehviewer/EhDB.java index 467c40fac..f8ca2d32e 100644 --- a/app/src/main/java/com/hippo/ehviewer/EhDB.java +++ b/app/src/main/java/com/hippo/ehviewer/EhDB.java @@ -328,15 +328,16 @@ public class EhDB { public static synchronized void putHistoryInfo(GalleryInfo galleryInfo) { HistoryDao dao = db.historyDao(); - HistoryInfo info = dao.load(galleryInfo.gid); - if (null != info) { - // Update time - info.time = System.currentTimeMillis(); + HistoryInfo info; + if (galleryInfo instanceof HistoryInfo) { + info = (HistoryInfo) galleryInfo; + } else { + info = new HistoryInfo(galleryInfo); + } + info.time = System.currentTimeMillis(); + if (null != dao.load(info.gid)) { dao.update(info); } else { - // New history - info = new HistoryInfo(galleryInfo); - info.time = System.currentTimeMillis(); dao.insert(info); } } diff --git a/app/src/main/java/com/hippo/ehviewer/dao/HistoryInfo.java b/app/src/main/java/com/hippo/ehviewer/dao/HistoryInfo.java index 01fec78fe..da8437cd1 100644 --- a/app/src/main/java/com/hippo/ehviewer/dao/HistoryInfo.java +++ b/app/src/main/java/com/hippo/ehviewer/dao/HistoryInfo.java @@ -20,8 +20,10 @@ public class HistoryInfo extends GalleryInfo { return new HistoryInfo[size]; } }; + + // Use MODE for favoriteSlot @ColumnInfo(name = "MODE") - public int mode; + private int mode; @ColumnInfo(name = "TIME") public long time; @@ -43,10 +45,11 @@ public class HistoryInfo extends GalleryInfo { this.rating = galleryInfo.rating; this.simpleTags = galleryInfo.simpleTags; this.simpleLanguage = galleryInfo.simpleLanguage; + this.favoriteSlot = galleryInfo.favoriteSlot; } public HistoryInfo(int mode, long time) { - this.mode = mode; + this.favoriteSlot = mode - 2; this.time = time; } @@ -131,11 +134,11 @@ public class HistoryInfo extends GalleryInfo { } public int getMode() { - return mode; + return favoriteSlot + 2; } public void setMode(int mode) { - this.mode = mode; + this.favoriteSlot = mode - 2; } public long getTime() { diff --git a/app/src/main/java/com/hippo/ehviewer/dao/LocalFavoriteInfo.java b/app/src/main/java/com/hippo/ehviewer/dao/LocalFavoriteInfo.java index e7a5fa601..082e0f1a8 100644 --- a/app/src/main/java/com/hippo/ehviewer/dao/LocalFavoriteInfo.java +++ b/app/src/main/java/com/hippo/ehviewer/dao/LocalFavoriteInfo.java @@ -44,6 +44,7 @@ public class LocalFavoriteInfo extends GalleryInfo { } public LocalFavoriteInfo() { + this.favoriteSlot = -1; } public long getGid() {