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