aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/net/lacolaco/smileessence/view/page/MessagesFragment.java
diff options
context:
space:
mode:
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.java42
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)