Only update last seen when watching is enabled.

captchafix
Florens Douwes 11 years ago
parent 8745fc364c
commit dc9419db3b
  1. 2
      Clover/app/src/main/java/org/floens/chan/core/manager/ThreadManager.java
  2. 7
      Clover/app/src/main/java/org/floens/chan/core/manager/WatchManager.java
  3. 4
      Clover/app/src/main/java/org/floens/chan/core/model/Pin.java

@ -565,6 +565,7 @@ public class ThreadManager implements Loader.LoaderListener {
} }
private void updateLastSeen() { private void updateLastSeen() {
if (ChanApplication.getWatchManager().getWatchEnabled()) {
Pin pin = ChanApplication.getWatchManager().findPinByLoadable(loader.getLoadable()); Pin pin = ChanApplication.getWatchManager().findPinByLoadable(loader.getLoadable());
if (pin != null) { if (pin != null) {
Post last = pin.getLastSeenPost(); Post last = pin.getLastSeenPost();
@ -575,6 +576,7 @@ public class ThreadManager implements Loader.LoaderListener {
} }
} }
} }
}
public interface ThreadManagerListener { public interface ThreadManagerListener {
public void onThreadLoaded(List<Post> result, boolean append); public void onThreadLoaded(List<Post> result, boolean append);

@ -134,7 +134,7 @@ public class WatchManager implements ChanApplication.ForegroundChangedListener {
public void removePin(Pin pin) { public void removePin(Pin pin) {
pins.remove(pin); pins.remove(pin);
ChanApplication.getDatabaseManager().removePin(pin); ChanApplication.getDatabaseManager().removePin(pin);
pin.destroyWatcher(); pin.destroy();
onPinsChanged(); onPinsChanged();
} }
@ -165,10 +165,11 @@ public class WatchManager implements ChanApplication.ForegroundChangedListener {
} }
public void onPinViewed(Pin pin) { public void onPinViewed(Pin pin) {
if (getWatchEnabled()) {
pin.getPinWatcher().onViewed(); pin.getPinWatcher().onViewed();
onPinsChanged(); onPinsChanged();
} }
}
public void addPinListener(PinListener l) { public void addPinListener(PinListener l) {
listeners.add(l); listeners.add(l);
@ -294,7 +295,7 @@ public class WatchManager implements ChanApplication.ForegroundChangedListener {
pendingTimer = null; pendingTimer = null;
for (Pin pin : getWatchingPins()) { for (Pin pin : getWatchingPins()) {
pin.updateWatch(); pin.update();
} }
updateTimerState(); updateTimerState();

@ -66,11 +66,11 @@ public class Pin {
return getPinWatcher().getLastSeenPost(); return getPinWatcher().getLastSeenPost();
} }
public void updateWatch() { public void update() {
getPinWatcher().update(); getPinWatcher().update();
} }
public void destroyWatcher() { public void destroy() {
if (pinWatcher != null) { if (pinWatcher != null) {
pinWatcher.destroy(); pinWatcher.destroy();
pinWatcher = null; pinWatcher = null;

Loading…
Cancel
Save