From 422e496dd7c795b0ff0104325457d70e6ff6db5f Mon Sep 17 00:00:00 2001 From: Florens Douwes Date: Sun, 9 Mar 2014 20:59:09 +0100 Subject: [PATCH] Fixed bugs --- Chan/src/org/floens/chan/adapter/PostAdapter.java | 2 +- Chan/src/org/floens/chan/fragment/ThreadFragment.java | 4 ++-- Chan/src/org/floens/chan/loader/Loader.java | 10 ++++++++-- Chan/src/org/floens/chan/loader/LoaderPool.java | 2 +- Chan/src/org/floens/chan/manager/ThreadManager.java | 6 +++--- Chan/src/org/floens/chan/watch/PinWatcher.java | 2 +- docs/Loading.txt | 4 ++-- 7 files changed, 18 insertions(+), 12 deletions(-) diff --git a/Chan/src/org/floens/chan/adapter/PostAdapter.java b/Chan/src/org/floens/chan/adapter/PostAdapter.java index e46ee564..85fc242d 100644 --- a/Chan/src/org/floens/chan/adapter/PostAdapter.java +++ b/Chan/src/org/floens/chan/adapter/PostAdapter.java @@ -80,7 +80,7 @@ public class PostAdapter extends BaseAdapter { } private View createThreadEndView() { - if (false/* && threadManager.getWatchLogic() != null*/) { + if (threadManager.getLoadable().isThreadMode()) { ThreadWatchCounterView view = new ThreadWatchCounterView(context); Utils.setPressedDrawable(view); view.init(threadManager, listView, this); diff --git a/Chan/src/org/floens/chan/fragment/ThreadFragment.java b/Chan/src/org/floens/chan/fragment/ThreadFragment.java index 5f7f323e..fe0c81cb 100644 --- a/Chan/src/org/floens/chan/fragment/ThreadFragment.java +++ b/Chan/src/org/floens/chan/fragment/ThreadFragment.java @@ -120,7 +120,7 @@ public class ThreadFragment extends Fragment implements ThreadManager.ThreadMana } @Override - public void onThreadLoaded(List posts) { + public void onThreadLoaded(List posts, boolean append) { if (postAdapter == null) { listView = new ListView(baseActivity); @@ -151,7 +151,7 @@ public class ThreadFragment extends Fragment implements ThreadManager.ThreadMana } } - if (loadable.isBoardMode()) { + if (append) { postAdapter.addList(posts); } else { postAdapter.setList(posts); diff --git a/Chan/src/org/floens/chan/loader/Loader.java b/Chan/src/org/floens/chan/loader/Loader.java index e945c6b2..b1b7c436 100644 --- a/Chan/src/org/floens/chan/loader/Loader.java +++ b/Chan/src/org/floens/chan/loader/Loader.java @@ -75,6 +75,12 @@ public class Loader { request.cancel(); } + request = getData(loadable); + } else if (loadable.isThreadMode()) { + if (request != null) { + return; + } + request = getData(loadable); } } @@ -124,7 +130,7 @@ public class Loader { } for (LoaderListener l : listeners) { - l.onData(result); + l.onData(result, loadable.isBoardMode()); } } @@ -144,7 +150,7 @@ public class Loader { } public static interface LoaderListener { - public void onData(List result); + public void onData(List result, boolean append); public void onError(VolleyError error); } } diff --git a/Chan/src/org/floens/chan/loader/LoaderPool.java b/Chan/src/org/floens/chan/loader/LoaderPool.java index 2cc8598b..9342d37a 100644 --- a/Chan/src/org/floens/chan/loader/LoaderPool.java +++ b/Chan/src/org/floens/chan/loader/LoaderPool.java @@ -41,7 +41,7 @@ public class LoaderPool { } if (loader.removeListener(listener)) { - loaders.remove(loader); + loaders.remove(loader.getLoadable()); } } } diff --git a/Chan/src/org/floens/chan/manager/ThreadManager.java b/Chan/src/org/floens/chan/manager/ThreadManager.java index 00de221d..f1af0da4 100644 --- a/Chan/src/org/floens/chan/manager/ThreadManager.java +++ b/Chan/src/org/floens/chan/manager/ThreadManager.java @@ -117,8 +117,8 @@ public class ThreadManager implements Loader.LoaderListener { } @Override - public void onData(List result) { - threadManagerListener.onThreadLoaded(result); + public void onData(List result, boolean append) { + threadManagerListener.onThreadLoaded(result, append); } public boolean hasLoader() { @@ -498,7 +498,7 @@ public class ThreadManager implements Loader.LoaderListener { } public interface ThreadManagerListener { - public void onThreadLoaded(List result); + public void onThreadLoaded(List result, boolean append); public void onThreadLoadError(VolleyError error); public void onOPClicked(Post post); public void onThumbnailClicked(Post post); diff --git a/Chan/src/org/floens/chan/watch/PinWatcher.java b/Chan/src/org/floens/chan/watch/PinWatcher.java index 2fefa2c7..2028e999 100644 --- a/Chan/src/org/floens/chan/watch/PinWatcher.java +++ b/Chan/src/org/floens/chan/watch/PinWatcher.java @@ -48,7 +48,7 @@ public class PinWatcher implements Loader.LoaderListener { } @Override - public void onData(List result) { + public void onData(List result, boolean append) { int count = result.size(); Logger.test("PinWatcher onData"); diff --git a/docs/Loading.txt b/docs/Loading.txt index cee05dac..9b1c5ca9 100644 --- a/docs/Loading.txt +++ b/docs/Loading.txt @@ -8,9 +8,9 @@ void release(Loader): Loader: void destroy(): -void request(): +void requestData(): load from beginning -void onBottomReached(): +void requestNextData(): board: load next page thread: reset new counter int getUnread():