diff --git a/Clover/app/src/main/java/org/floens/chan/core/manager/ThreadManager.java b/Clover/app/src/main/java/org/floens/chan/core/manager/ThreadManager.java index cdb8600f..9d6faa74 100644 --- a/Clover/app/src/main/java/org/floens/chan/core/manager/ThreadManager.java +++ b/Clover/app/src/main/java/org/floens/chan/core/manager/ThreadManager.java @@ -565,13 +565,15 @@ public class ThreadManager implements Loader.LoaderListener { } private void updateLastSeen() { - Pin pin = ChanApplication.getWatchManager().findPinByLoadable(loader.getLoadable()); - if (pin != null) { - Post last = pin.getLastSeenPost(); - if (last != null) { - lastSeenPost = last.no; - } else { - lastSeenPost = -1; + if (ChanApplication.getWatchManager().getWatchEnabled()) { + Pin pin = ChanApplication.getWatchManager().findPinByLoadable(loader.getLoadable()); + if (pin != null) { + Post last = pin.getLastSeenPost(); + if (last != null) { + lastSeenPost = last.no; + } else { + lastSeenPost = -1; + } } } } diff --git a/Clover/app/src/main/java/org/floens/chan/core/manager/WatchManager.java b/Clover/app/src/main/java/org/floens/chan/core/manager/WatchManager.java index c1d0bb7d..ddec5b61 100644 --- a/Clover/app/src/main/java/org/floens/chan/core/manager/WatchManager.java +++ b/Clover/app/src/main/java/org/floens/chan/core/manager/WatchManager.java @@ -134,7 +134,7 @@ public class WatchManager implements ChanApplication.ForegroundChangedListener { public void removePin(Pin pin) { pins.remove(pin); ChanApplication.getDatabaseManager().removePin(pin); - pin.destroyWatcher(); + pin.destroy(); onPinsChanged(); } @@ -165,9 +165,10 @@ public class WatchManager implements ChanApplication.ForegroundChangedListener { } public void onPinViewed(Pin pin) { - pin.getPinWatcher().onViewed(); - - onPinsChanged(); + if (getWatchEnabled()) { + pin.getPinWatcher().onViewed(); + onPinsChanged(); + } } public void addPinListener(PinListener l) { @@ -294,7 +295,7 @@ public class WatchManager implements ChanApplication.ForegroundChangedListener { pendingTimer = null; for (Pin pin : getWatchingPins()) { - pin.updateWatch(); + pin.update(); } updateTimerState(); diff --git a/Clover/app/src/main/java/org/floens/chan/core/model/Pin.java b/Clover/app/src/main/java/org/floens/chan/core/model/Pin.java index a909d5ee..35e0b75a 100644 --- a/Clover/app/src/main/java/org/floens/chan/core/model/Pin.java +++ b/Clover/app/src/main/java/org/floens/chan/core/model/Pin.java @@ -66,11 +66,11 @@ public class Pin { return getPinWatcher().getLastSeenPost(); } - public void updateWatch() { + public void update() { getPinWatcher().update(); } - public void destroyWatcher() { + public void destroy() { if (pinWatcher != null) { pinWatcher.destroy(); pinWatcher = null;