aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/eu/siacs/conversations/ui
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/eu/siacs/conversations/ui')
-rw-r--r--src/main/java/eu/siacs/conversations/ui/ConversationActivity.java19
-rw-r--r--src/main/java/eu/siacs/conversations/ui/ShareWithActivity.java15
-rw-r--r--src/main/java/eu/siacs/conversations/ui/UiInformableCallback.java5
3 files changed, 35 insertions, 4 deletions
diff --git a/src/main/java/eu/siacs/conversations/ui/ConversationActivity.java b/src/main/java/eu/siacs/conversations/ui/ConversationActivity.java
index 8a7a2785..65b81732 100644
--- a/src/main/java/eu/siacs/conversations/ui/ConversationActivity.java
+++ b/src/main/java/eu/siacs/conversations/ui/ConversationActivity.java
@@ -1543,9 +1543,26 @@ public class ConversationActivity extends XmppActivity
}
final Toast prepareFileToast = Toast.makeText(getApplicationContext(),getText(R.string.preparing_file), Toast.LENGTH_LONG);
prepareFileToast.show();
- xmppConnectionService.attachFileToConversation(conversation, uri, new UiCallback<Message>() {
+ xmppConnectionService.attachFileToConversation(conversation, uri, new UiInformableCallback<Message>() {
+ @Override
+ public void inform(final String text) {
+ hidePrepareFileToast(prepareFileToast);
+ runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ replaceToast(text);
+ }
+ });
+ }
+
@Override
public void success(Message message) {
+ runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ hideToast();
+ }
+ });
hidePrepareFileToast(prepareFileToast);
xmppConnectionService.sendMessage(message);
}
diff --git a/src/main/java/eu/siacs/conversations/ui/ShareWithActivity.java b/src/main/java/eu/siacs/conversations/ui/ShareWithActivity.java
index f5724fc6..9cb7c87e 100644
--- a/src/main/java/eu/siacs/conversations/ui/ShareWithActivity.java
+++ b/src/main/java/eu/siacs/conversations/ui/ShareWithActivity.java
@@ -59,7 +59,17 @@ public class ShareWithActivity extends XmppActivity implements XmppConnectionSer
private Toast mToast;
private AtomicInteger attachmentCounter = new AtomicInteger(0);
- private UiCallback<Message> attachFileCallback = new UiCallback<Message>() {
+ private UiInformableCallback<Message> attachFileCallback = new UiInformableCallback<Message>() {
+
+ @Override
+ public void inform(final String text) {
+ runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ replaceToast(text);
+ }
+ });
+ }
@Override
public void userInputRequried(PendingIntent pi, Message object) {
@@ -293,8 +303,7 @@ public class ShareWithActivity extends XmppActivity implements XmppConnectionSer
} else {
replaceToast(getString(R.string.preparing_file));
ShareWithActivity.this.xmppConnectionService
- .attachFileToConversation(conversation, share.uris.get(0),
- attachFileCallback);
+ .attachFileToConversation(conversation, share.uris.get(0), attachFileCallback);
}
}
};
diff --git a/src/main/java/eu/siacs/conversations/ui/UiInformableCallback.java b/src/main/java/eu/siacs/conversations/ui/UiInformableCallback.java
new file mode 100644
index 00000000..9021f988
--- /dev/null
+++ b/src/main/java/eu/siacs/conversations/ui/UiInformableCallback.java
@@ -0,0 +1,5 @@
+package eu.siacs.conversations.ui;
+
+public interface UiInformableCallback<T> extends UiCallback<T> {
+ void inform(String text);
+}