diff options
Diffstat (limited to 'app/src/main/java/net/lacolaco/smileessence/view/page/MessagesFragment.java')
-rw-r--r-- | app/src/main/java/net/lacolaco/smileessence/view/page/MessagesFragment.java | 42 |
1 files changed, 9 insertions, 33 deletions
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/page/MessagesFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/page/MessagesFragment.java index e07cf272..291f4cfc 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/page/MessagesFragment.java +++ b/app/src/main/java/net/lacolaco/smileessence/view/page/MessagesFragment.java @@ -30,64 +30,40 @@ import com.handmark.pulltorefresh.library.PullToRefreshBase; import net.lacolaco.smileessence.Application; import net.lacolaco.smileessence.R; import net.lacolaco.smileessence.entity.DirectMessage; -import net.lacolaco.smileessence.notification.Notificator; -import net.lacolaco.smileessence.twitter.StatusFilter; import net.lacolaco.smileessence.twitter.task.Messages; import net.lacolaco.smileessence.twitter.task.TimelineTask; import net.lacolaco.smileessence.view.adapter.MessageListAdapter; -import net.lacolaco.smileessence.viewmodel.MessageViewModel; -/** - * Fragment of messages list - */ public class MessagesFragment extends CustomListFragment<MessageListAdapter> { - - // --------------------- GETTER / SETTER METHODS --------------------- - @Override protected PullToRefreshBase.Mode getRefreshMode() { return PullToRefreshBase.Mode.BOTH; } - // ------------------------ INTERFACE METHODS ------------------------ - @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); MessageListAdapter adapter = new MessageListAdapter(getActivity()); setAdapter(adapter); - StatusFilter.getInstance().register(this, DirectMessage.class, (DirectMessage message) -> { - adapter.addItem(new MessageViewModel(message)); + getWorld().addDirectMessageTimeline(this, message -> { + adapter.add(message); adapter.update(); - }, id -> { - adapter.removeItemById(id); - adapter.updateForce(); }); - if (Application.getInstance().getCurrentAccount() != null) { - refresh(); - } - } - - @Override - public void onDestroy() { - super.onDestroy(); - StatusFilter.getInstance().unregister(this); + refresh(); } @Override public void refresh() { - runRefreshTask(new Messages.GetAllReceived(Application.getInstance().getCurrentAccount()), () -> getAdapter().updateForce()); - runRefreshTask(new Messages.GetAllSent(Application.getInstance().getCurrentAccount()), () -> getAdapter().updateForce()); + runRefreshTask(new Messages.GetAllReceived(getWorld().getAccount()), () -> getAdapter().updateForce()); + runRefreshTask(new Messages.GetAllSent(getWorld().getAccount()), () -> getAdapter().updateForce()); } - // --------------------- Interface OnRefreshListener2 --------------------- - @Override public void onPullDownToRefresh(final PullToRefreshBase<ListView> refreshView) { runRefreshTask( - new Messages.GetAllReceived(Application.getInstance().getCurrentAccount()) + new Messages.GetAllReceived(getWorld().getAccount()) .setSinceId(getAdapter().getTopID()), () -> { updateListViewWithNotice(refreshView.getRefreshableView(), true); @@ -98,7 +74,7 @@ public class MessagesFragment extends CustomListFragment<MessageListAdapter> { @Override public void onPullUpToRefresh(final PullToRefreshBase<ListView> refreshView) { runRefreshTask( - new Messages.GetAllReceived(Application.getInstance().getCurrentAccount()) + new Messages.GetAllReceived(getWorld().getAccount()) .setMaxId(getAdapter().getLastID() - 1), () -> { updateListViewWithNotice(refreshView.getRefreshableView(), false); @@ -109,10 +85,10 @@ public class MessagesFragment extends CustomListFragment<MessageListAdapter> { private void runRefreshTask(TimelineTask<DirectMessage> task, Runnable onFinish) { task .setCount(200) - .onFail(x -> Notificator.getInstance().alert(R.string.notice_error_get_messages)) + .onFail(x -> getWorld().notifyError(R.string.notice_error_get_messages)) .onDoneUI(messages -> { for (DirectMessage message : messages) { - StatusFilter.getInstance().filter(message); + getWorld().addDirectMessage(message); } }) .onFinishUI(onFinish) |