diff options
Diffstat (limited to 'app/src/main/java/net/lacolaco/smileessence/view/page/MessagesFragment.kt')
-rw-r--r-- | app/src/main/java/net/lacolaco/smileessence/view/page/MessagesFragment.kt | 40 |
1 files changed, 15 insertions, 25 deletions
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/page/MessagesFragment.kt b/app/src/main/java/net/lacolaco/smileessence/view/page/MessagesFragment.kt index ea756d09..89ac7853 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/page/MessagesFragment.kt +++ b/app/src/main/java/net/lacolaco/smileessence/view/page/MessagesFragment.kt @@ -27,7 +27,6 @@ package net.lacolaco.smileessence.view.page import android.os.Bundle import android.widget.ListView 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.twitter.task.Messages @@ -35,12 +34,10 @@ import net.lacolaco.smileessence.twitter.task.TimelineTask import net.lacolaco.smileessence.view.adapter.MessageListAdapter class MessagesFragment : CustomListFragment<MessageListAdapter>() { - override val refreshMode: PullToRefreshBase.Mode - get() = PullToRefreshBase.Mode.BOTH + override val adapter by lazy { MessageListAdapter(activity, world) } override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - adapter = MessageListAdapter(activity) world.addDirectMessageTimeline(this) { message -> adapter.add(message) @@ -51,39 +48,32 @@ class MessagesFragment : CustomListFragment<MessageListAdapter>() { } override fun refresh() { - runRefreshTask(Messages.GetAllReceived(world.account), { adapter.updateForce() }) - runRefreshTask(Messages.GetAllSent(world.account), { adapter.updateForce() }) + runRefreshTask(Messages.GetAllReceived(world.account)) { adapter.updateForce() } + runRefreshTask(Messages.GetAllSent(world.account)) { adapter.updateForce() } } + override val refreshMode: PullToRefreshBase.Mode + get() = PullToRefreshBase.Mode.BOTH + override fun onPullDownToRefresh(refreshView: PullToRefreshBase<ListView>) { - runRefreshTask( - Messages.GetAllReceived(world.account) - .setSinceId(adapter.topID), - { - updateListViewWithNotice(refreshView.refreshableView, true) - refreshView.onRefreshComplete() - }) // TODO: sent? + runRefreshTask(Messages.GetAllReceived(world.account).setSinceId(adapter.topID)) { + updateListViewWithNotice(refreshView.refreshableView, true) + refreshView.onRefreshComplete() + } } override fun onPullUpToRefresh(refreshView: PullToRefreshBase<ListView>) { - runRefreshTask( - Messages.GetAllReceived(world.account) - .setMaxId(adapter.lastID - 1), - { - updateListViewWithNotice(refreshView.refreshableView, false) - refreshView.onRefreshComplete() - }) // TODO: sent? + runRefreshTask(Messages.GetAllReceived(world.account).setMaxId(adapter.lastID - 1)) { + updateListViewWithNotice(refreshView.refreshableView, false) + refreshView.onRefreshComplete() + } } private fun runRefreshTask(task: TimelineTask<DirectMessage>, onFinish: () -> Unit) { task .setCount(200) .onFail { x -> world.notifyError(R.string.notice_error_get_messages) } - .onDoneUI { messages -> - for (message in messages) { - world.addDirectMessage(message) - } - } + .onDone { messages -> world.addDirectMessage(messages) } .onFinishUI(onFinish) .execute() } |