package eu.siacs.conversations.ui.listeners; import android.support.v4.widget.SwipeRefreshLayout; import android.util.Log; import android.view.View; import android.widget.ListView; import android.widget.Toast; import java.util.List; import eu.siacs.conversations.Config; import eu.siacs.conversations.entities.Conversation; import eu.siacs.conversations.entities.Message; import eu.siacs.conversations.services.XmppConnectionService; import eu.siacs.conversations.ui.ConversationActivity; import eu.siacs.conversations.ui.ConversationFragment; import eu.siacs.conversations.ui.adapter.MessageAdapter; /** * This listener starts loading messages from the server. */ public class ConversationSwipeRefreshListener implements SwipeRefreshLayout.OnRefreshListener { private List messageList; private ConversationFragment fragment; private ConversationMoreMessagesLoadedListener listener; public ConversationSwipeRefreshListener(List messageList, SwipeRefreshLayout swipeLayout, ConversationFragment fragment, ListView messagesView, MessageAdapter messageListAdapter) { this.messageList = messageList; this.fragment = fragment; this.listener = new ConversationMoreMessagesLoadedListener(swipeLayout, messageList, fragment, messagesView, messageListAdapter); } @Override public void onRefresh() { Log.d(Config.LOGTAG, "Refresh swipe container"); synchronized (this.messageList) { long timestamp; if (messageList.isEmpty()) { timestamp = System.currentTimeMillis(); } else { timestamp = this.messageList.get(0).getTimeSent(); } ConversationActivity activity = (ConversationActivity) fragment.getActivity(); activity.xmppConnectionService.loadMoreMessages(activity.getSelectedConversation(), timestamp, this.listener); } Log.d(Config.LOGTAG, "End Refresh swipe container"); } }