Auto pause pins when they get archived

multisite
Floens 9 years ago
parent d48373eabe
commit 1131da4a2d
  1. 8
      Clover/app/src/main/java/org/floens/chan/core/presenter/ThreadPresenter.java
  2. 21
      Clover/app/src/main/java/org/floens/chan/core/watch/PinWatcher.java

@ -227,14 +227,6 @@ public class ThreadPresenter implements ChanLoader.ChanLoaderCallback, PostAdapt
*/ */
@Override @Override
public void onChanLoaderData(ChanThread result) { public void onChanLoaderData(ChanThread result) {
Pin pin = watchManager.findPinByLoadable(loadable);
if (pin != null) {
if (pin.archived != result.archived) {
pin.archived = result.archived;
watchManager.updatePin(pin);
}
}
if (isWatching()) { if (isWatching()) {
chanLoader.setTimer(); chanLoader.setTimer();
} }

@ -25,7 +25,6 @@ import org.floens.chan.core.model.ChanThread;
import org.floens.chan.core.model.Pin; import org.floens.chan.core.model.Pin;
import org.floens.chan.core.model.Post; import org.floens.chan.core.model.Post;
import org.floens.chan.core.pool.LoaderPool; import org.floens.chan.core.pool.LoaderPool;
import org.floens.chan.utils.AndroidUtils;
import org.floens.chan.utils.Logger; import org.floens.chan.utils.Logger;
import java.util.ArrayList; import java.util.ArrayList;
@ -119,12 +118,8 @@ public class PinWatcher implements ChanLoader.ChanLoaderCallback {
Logger.e(TAG, "PinWatcher onError"); Logger.e(TAG, "PinWatcher onError");
pin.isError = true; pin.isError = true;
AndroidUtils.runOnUiThread(new Runnable() { pin.watching = false;
@Override Chan.getWatchManager().pinWatcherUpdated(pin);
public void run() {
Chan.getWatchManager().onPinsChanged();
}
});
} }
@Override @Override
@ -192,11 +187,11 @@ public class PinWatcher implements ChanLoader.ChanLoaderCallback {
pin.watchLastCount, pin.watchNewCount, wereNewPosts, pin.quoteLastCount, pin.quoteNewCount, wereNewQuotes)); pin.watchLastCount, pin.watchNewCount, wereNewPosts, pin.quoteLastCount, pin.quoteNewCount, wereNewQuotes));
} }
AndroidUtils.runOnUiThread(new Runnable() { if (thread.archived || thread.closed) {
@Override pin.archived = true;
public void run() { pin.watching = false;
Chan.getWatchManager().pinWatcherUpdated(pin); }
}
}); Chan.getWatchManager().pinWatcherUpdated(pin);
} }
} }

Loading…
Cancel
Save