aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/de')
-rw-r--r--src/main/java/de/pixart/messenger/entities/Transferable.java1
-rw-r--r--src/main/java/de/pixart/messenger/http/HttpDownloadConnection.java2
-rw-r--r--src/main/java/de/pixart/messenger/http/HttpUploadConnection.java10
-rw-r--r--src/main/java/de/pixart/messenger/utils/UIHelper.java2
4 files changed, 13 insertions, 2 deletions
diff --git a/src/main/java/de/pixart/messenger/entities/Transferable.java b/src/main/java/de/pixart/messenger/entities/Transferable.java
index e1deb744d..054841b6e 100644
--- a/src/main/java/de/pixart/messenger/entities/Transferable.java
+++ b/src/main/java/de/pixart/messenger/entities/Transferable.java
@@ -26,6 +26,7 @@ public interface Transferable {
int STATUS_DOWNLOADING = 0x204;
int STATUS_OFFER_CHECK_FILESIZE = 0x206;
int STATUS_UPLOADING = 0x207;
+ int STATUS_WAITING = 0x199;
boolean start();
diff --git a/src/main/java/de/pixart/messenger/http/HttpDownloadConnection.java b/src/main/java/de/pixart/messenger/http/HttpDownloadConnection.java
index 7c056bdc1..ac3e8e40c 100644
--- a/src/main/java/de/pixart/messenger/http/HttpDownloadConnection.java
+++ b/src/main/java/de/pixart/messenger/http/HttpDownloadConnection.java
@@ -344,7 +344,7 @@ public class HttpDownloadConnection implements Transferable {
@Override
public void run() {
- changeStatus(STATUS_DOWNLOADING);
+ changeStatus(STATUS_WAITING);
mXmppConnectionService.mDownloadExecutor.execute(() -> {
try {
changeStatus(STATUS_DOWNLOADING);
diff --git a/src/main/java/de/pixart/messenger/http/HttpUploadConnection.java b/src/main/java/de/pixart/messenger/http/HttpUploadConnection.java
index f43a94d73..4eedfcf3f 100644
--- a/src/main/java/de/pixart/messenger/http/HttpUploadConnection.java
+++ b/src/main/java/de/pixart/messenger/http/HttpUploadConnection.java
@@ -47,6 +47,7 @@ public class HttpUploadConnection implements Transferable {
private String mime;
private SlotRequester.Slot slot;
private byte[] key = null;
+ private int mStatus = Transferable.STATUS_UNKNOWN;
private long transmitted = 0;
@@ -66,7 +67,7 @@ public class HttpUploadConnection implements Transferable {
@Override
public int getStatus() {
- return STATUS_UPLOADING;
+ return this.mStatus;
}
@Override
@@ -134,7 +135,9 @@ public class HttpUploadConnection implements Transferable {
@Override
public void success(SlotRequester.Slot slot) {
if (!cancelled) {
+ changeStatus(STATUS_WAITING);
mXmppConnectionService.mUploadExecutor.execute(() -> {
+ changeStatus(STATUS_UPLOADING);
HttpUploadConnection.this.slot = slot;
HttpUploadConnection.this.upload();
});
@@ -242,6 +245,11 @@ public class HttpUploadConnection implements Transferable {
}
}
+ private void changeStatus(int status) {
+ this.mStatus = status;
+ mHttpConnectionManager.updateConversationUi(true);
+ }
+
public Message getMessage() {
return message;
}
diff --git a/src/main/java/de/pixart/messenger/utils/UIHelper.java b/src/main/java/de/pixart/messenger/utils/UIHelper.java
index 097baa3f6..590085ff5 100644
--- a/src/main/java/de/pixart/messenger/utils/UIHelper.java
+++ b/src/main/java/de/pixart/messenger/utils/UIHelper.java
@@ -254,6 +254,8 @@ public class UIHelper {
final Transferable d = message.getTransferable();
if (d != null) {
switch (d.getStatus()) {
+ case Transferable.STATUS_WAITING:
+ return new Pair<>(context.getString(R.string.waiting_for_transfer), true);
case Transferable.STATUS_CHECKING:
return new Pair<>(context.getString(R.string.checking_x,
getFileDescriptionString(context, message)), true);