Fix crash when a reply success is given to an unbounded replypresenter

multisite
Floens 10 years ago
parent 8e14e088bf
commit 9a728bc6b3
  1. 12
      Clover/app/src/main/java/org/floens/chan/core/presenter/ReplyPresenter.java
  2. 2
      Clover/app/src/main/java/org/floens/chan/core/presenter/ThreadPresenter.java

@ -65,6 +65,7 @@ public class ReplyPresenter implements ReplyManager.HttpCallback<ReplyHttpCall>,
private WatchManager watchManager;
private DatabaseManager databaseManager;
private boolean bound = false;
private Loadable loadable;
private Board board;
private Reply draft;
@ -88,12 +89,10 @@ public class ReplyPresenter implements ReplyManager.HttpCallback<ReplyHttpCall>,
if (this.loadable != null) {
unbindLoadable();
}
bound = true;
this.loadable = loadable;
Board board = boardManager.getBoardByValue(loadable.board);
if (board != null) {
this.board = board;
}
this.board = boardManager.getBoardByValue(loadable.board);
draft = replyManager.getReply(loadable);
@ -117,13 +116,12 @@ public class ReplyPresenter implements ReplyManager.HttpCallback<ReplyHttpCall>,
}
public void unbindLoadable() {
bound = false;
draft.file = null;
draft.fileName = "";
callback.loadViewsIntoDraft(draft);
replyManager.putReply(loadable, draft);
loadable = null;
board = null;
closeAll();
}
@ -219,7 +217,7 @@ public class ReplyPresenter implements ReplyManager.HttpCallback<ReplyHttpCall>,
callback.loadDraftIntoViews(draft);
callback.onPosted();
if (!loadable.isThreadMode()) {
if (bound && !loadable.isThreadMode()) {
callback.showThread(LoadablePool.getInstance().obtain(new Loadable(loadable.board, replyCall.postNo)));
}
} else {

@ -553,7 +553,7 @@ public class ThreadPresenter implements ChanLoader.ChanLoaderCallback, PostAdapt
@Override
public void requestNewPostLoad() {
if (loadable.isThreadMode()) {
if (loadable != null && loadable.isThreadMode()) {
chanLoader.requestMoreDataAndResetTimer();
}
}

Loading…
Cancel
Save