aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/thedevstack/conversationsplus/ui/listeners
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/de/thedevstack/conversationsplus/ui/listeners')
-rw-r--r--src/main/java/de/thedevstack/conversationsplus/ui/listeners/ConversationMoreMessagesLoadedListener.java140
-rw-r--r--src/main/java/de/thedevstack/conversationsplus/ui/listeners/ConversationSwipeRefreshListener.java44
-rw-r--r--src/main/java/de/thedevstack/conversationsplus/ui/listeners/ResizePictureUserDecisionListener.java12
-rw-r--r--src/main/java/de/thedevstack/conversationsplus/ui/listeners/ShareWithResizePictureUserDecisionListener.java6
-rw-r--r--src/main/java/de/thedevstack/conversationsplus/ui/listeners/ShowResourcesListDialogListener.java4
5 files changed, 11 insertions, 195 deletions
diff --git a/src/main/java/de/thedevstack/conversationsplus/ui/listeners/ConversationMoreMessagesLoadedListener.java b/src/main/java/de/thedevstack/conversationsplus/ui/listeners/ConversationMoreMessagesLoadedListener.java
deleted file mode 100644
index cdc60187..00000000
--- a/src/main/java/de/thedevstack/conversationsplus/ui/listeners/ConversationMoreMessagesLoadedListener.java
+++ /dev/null
@@ -1,140 +0,0 @@
-package de.thedevstack.conversationsplus.ui.listeners;
-
-import android.support.v4.widget.SwipeRefreshLayout;
-import android.view.View;
-import android.widget.ListView;
-import android.widget.Toast;
-
-import java.util.List;
-
-import de.thedevstack.conversationsplus.entities.Conversation;
-import de.thedevstack.conversationsplus.entities.Message;
-import de.thedevstack.conversationsplus.services.XmppConnectionService;
-import de.thedevstack.conversationsplus.ui.ConversationActivity;
-import de.thedevstack.conversationsplus.ui.ConversationFragment;
-import de.thedevstack.conversationsplus.ui.adapter.MessageAdapter;
-
-/**
- * This listener updates the UI when messages are loaded from the server.
- */
-public class ConversationMoreMessagesLoadedListener implements XmppConnectionService.OnMoreMessagesLoaded {
- private SwipeRefreshLayout swipeLayout;
- private List<Message> messageList;
- private ConversationFragment fragment;
- private ListView messagesView;
- private MessageAdapter messageListAdapter;
- private Toast messageLoaderToast;
- /*
- The current loading status
- */
- private boolean loadingMessages = false;
-
- public ConversationMoreMessagesLoadedListener(SwipeRefreshLayout swipeLayout, List<Message> messageList, ConversationFragment fragment, ListView messagesView, MessageAdapter messageListAdapter) {
- this.swipeLayout = swipeLayout;
- this.messageList = messageList;
-
- this.fragment = fragment;
- this.messagesView = messagesView;
- this.messageListAdapter = messageListAdapter;
- }
-
- public void setLoadingInProgress() {
- this.loadingMessages = true;
- }
-
- public boolean isLoadingInProgress() {
- return this.loadingMessages;
- }
-
- @Override
- public void onMoreMessagesLoaded(final int c, final Conversation conversation) {
- ConversationActivity activity = (ConversationActivity) fragment.getActivity();
- // Current selected conversation is not the same the messages are loaded - skip updating message view and hide loading graphic
- if (activity.getSelectedConversation() != conversation) {
- activity.runOnUiThread(new Runnable() {
- @Override
- public void run() {
- swipeLayout.setRefreshing(false);
- }
- });
- return;
- }
- // No new messages are loaded
- if (0 == c) {
- activity.runOnUiThread(new Runnable() {
- @Override
- public void run() {
- swipeLayout.setRefreshing(false);
- }
- });
- }
- activity.runOnUiThread(new Runnable() {
- @Override
- public void run() {
- final int oldPosition = messagesView.getFirstVisiblePosition(); // Always 0 - because loading starts always when hitting the top
- String uuid = null;
- boolean oldMessageListWasEmpty = messageList.isEmpty();
- if (-1 < oldPosition && messageList.size() > oldPosition) {
- Message message = messageList.get(oldPosition);
- uuid = message != null ? message.getUuid() : null;
- }
- View v = messagesView.getChildAt(0);
- final int pxOffset = (v == null) ? 0 : v.getTop();
-
- conversation.populateWithMessages(messageList); // This overrides the old message list
- fragment.updateStatusMessages(); // This adds "messages" to the list for the status
- messageListAdapter.notifyDataSetChanged();
- loadingMessages = false; // Loading of messages is finished - next query can be loaded
-
- int pos = getIndexOf(uuid, messageList);
-
- if (!oldMessageListWasEmpty) {
- messagesView.setSelectionFromTop(pos, pxOffset);
- }
-
- if (messageLoaderToast != null) {
- messageLoaderToast.cancel();
- }
- swipeLayout.setRefreshing(false);
- }
- });
- }
-
- @Override
- public void informUser(final int resId) {
- final ConversationActivity activity = (ConversationActivity) fragment.getActivity();
-
- activity.runOnUiThread(new Runnable() {
- @Override
- public void run() {
- if (messageLoaderToast != null) {
- messageLoaderToast.cancel();
- }
- messageLoaderToast = Toast.makeText(activity, resId, Toast.LENGTH_LONG);
- messageLoaderToast.show();
- }
- });
-
- }
-
- private int getIndexOf(String uuid, List<Message> messages) {
- if (uuid == null) {
- return 0;
- }
- for (int i = 0; i < messages.size(); ++i) {
- if (uuid.equals(messages.get(i).getUuid())) {
- return i;
- } else {
- Message next = messages.get(i);
- while(next != null && next.wasMergedIntoPrevious()) {
- if (uuid.equals(next.getUuid())) {
- return i;
- }
- next = next.next();
- }
-
- }
- }
- return 0;
- }
-}
diff --git a/src/main/java/de/thedevstack/conversationsplus/ui/listeners/ConversationSwipeRefreshListener.java b/src/main/java/de/thedevstack/conversationsplus/ui/listeners/ConversationSwipeRefreshListener.java
deleted file mode 100644
index 05591b74..00000000
--- a/src/main/java/de/thedevstack/conversationsplus/ui/listeners/ConversationSwipeRefreshListener.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package de.thedevstack.conversationsplus.ui.listeners;
-
-import android.support.v4.widget.SwipeRefreshLayout;
-import android.util.Log;
-import android.widget.ListView;
-
-import java.util.List;
-
-import de.thedevstack.conversationsplus.Config;
-import de.thedevstack.conversationsplus.entities.Message;
-import de.thedevstack.conversationsplus.ui.ConversationActivity;
-import de.thedevstack.conversationsplus.ui.ConversationFragment;
-import de.thedevstack.conversationsplus.ui.adapter.MessageAdapter;
-
-/**
- * This listener starts loading messages from the server.
- */
-public class ConversationSwipeRefreshListener implements SwipeRefreshLayout.OnRefreshListener {
- private List<Message> messageList;
- private ConversationFragment fragment;
- private ConversationMoreMessagesLoadedListener listener;
-
- public ConversationSwipeRefreshListener(List<Message> 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(); // works only because of the ordering (last msg = first msg in list)
- }
- ConversationActivity activity = (ConversationActivity) fragment.getActivity();
- activity.xmppConnectionService.loadMoreMessages(activity.getSelectedConversation(), timestamp, this.listener);
- }
- Log.d(Config.LOGTAG, "End Refresh swipe container");
- }
-}
diff --git a/src/main/java/de/thedevstack/conversationsplus/ui/listeners/ResizePictureUserDecisionListener.java b/src/main/java/de/thedevstack/conversationsplus/ui/listeners/ResizePictureUserDecisionListener.java
index ae2b3b79..135d6faa 100644
--- a/src/main/java/de/thedevstack/conversationsplus/ui/listeners/ResizePictureUserDecisionListener.java
+++ b/src/main/java/de/thedevstack/conversationsplus/ui/listeners/ResizePictureUserDecisionListener.java
@@ -6,13 +6,13 @@ import android.widget.Toast;
import de.thedevstack.conversationsplus.ConversationsPlusApplication;
import de.thedevstack.conversationsplus.ConversationsPlusPreferences;
-import de.thedevstack.conversationsplus.R;
-import de.thedevstack.conversationsplus.entities.Conversation;
-import de.thedevstack.conversationsplus.entities.Message;
import de.thedevstack.conversationsplus.enums.UserDecision;
-import de.thedevstack.conversationsplus.services.XmppConnectionService;
-import de.thedevstack.conversationsplus.ui.UiCallback;
-import de.thedevstack.conversationsplus.ui.XmppActivity;
+import eu.siacs.conversations.R;
+import eu.siacs.conversations.entities.Conversation;
+import eu.siacs.conversations.entities.Message;
+import eu.siacs.conversations.services.XmppConnectionService;
+import eu.siacs.conversations.ui.UiCallback;
+import eu.siacs.conversations.ui.XmppActivity;
/**
* Created by tzur on 31.10.2015.
diff --git a/src/main/java/de/thedevstack/conversationsplus/ui/listeners/ShareWithResizePictureUserDecisionListener.java b/src/main/java/de/thedevstack/conversationsplus/ui/listeners/ShareWithResizePictureUserDecisionListener.java
index e2678ef7..7455cf97 100644
--- a/src/main/java/de/thedevstack/conversationsplus/ui/listeners/ShareWithResizePictureUserDecisionListener.java
+++ b/src/main/java/de/thedevstack/conversationsplus/ui/listeners/ShareWithResizePictureUserDecisionListener.java
@@ -4,9 +4,9 @@ import android.net.Uri;
import java.util.List;
-import de.thedevstack.conversationsplus.entities.Conversation;
-import de.thedevstack.conversationsplus.services.XmppConnectionService;
-import de.thedevstack.conversationsplus.ui.XmppActivity;
+import eu.siacs.conversations.entities.Conversation;
+import eu.siacs.conversations.services.XmppConnectionService;
+import eu.siacs.conversations.ui.XmppActivity;
/**
* Created by tzur on 03.11.2015.
diff --git a/src/main/java/de/thedevstack/conversationsplus/ui/listeners/ShowResourcesListDialogListener.java b/src/main/java/de/thedevstack/conversationsplus/ui/listeners/ShowResourcesListDialogListener.java
index 070ea58c..b082c5c4 100644
--- a/src/main/java/de/thedevstack/conversationsplus/ui/listeners/ShowResourcesListDialogListener.java
+++ b/src/main/java/de/thedevstack/conversationsplus/ui/listeners/ShowResourcesListDialogListener.java
@@ -3,8 +3,8 @@ package de.thedevstack.conversationsplus.ui.listeners;
import android.content.Context;
import android.view.View;
-import de.thedevstack.conversationsplus.R;
-import de.thedevstack.conversationsplus.entities.Contact;
+import eu.siacs.conversations.R;
+import eu.siacs.conversations.entities.Contact;
import de.thedevstack.conversationsplus.ui.adapter.PresencesArrayAdapter;
import de.thedevstack.conversationsplus.ui.dialogs.AbstractAlertDialog;