aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian S <kriztan@users.noreply.github.com>2016-01-06 22:01:09 +0100
committerChristian S <kriztan@users.noreply.github.com>2016-01-06 22:01:09 +0100
commitc9c7383956f4770ea0ede90fcc08ca295d9882eb (patch)
treea2de1b10f2671ead2d1aeb35ed8129cf4814c095
parent6ec2b6e0fe5940bad1ad42bde8ea8ecc0f2a1ad4 (diff)
parentc59eb75a59d2fbddea2a42e7d2435e7312f5c759 (diff)
Merge pull request #61 from siacs/master
copy commits
-rw-r--r--src/main/java/eu/siacs/conversations/entities/Conversation.java12
-rw-r--r--src/main/java/eu/siacs/conversations/persistance/FileBackend.java1
-rw-r--r--src/main/java/eu/siacs/conversations/services/NotificationService.java4
-rw-r--r--src/main/java/eu/siacs/conversations/utils/FileUtils.java3
4 files changed, 16 insertions, 4 deletions
diff --git a/src/main/java/eu/siacs/conversations/entities/Conversation.java b/src/main/java/eu/siacs/conversations/entities/Conversation.java
index bc7f302ae..7685d896b 100644
--- a/src/main/java/eu/siacs/conversations/entities/Conversation.java
+++ b/src/main/java/eu/siacs/conversations/entities/Conversation.java
@@ -707,8 +707,16 @@ public class Conversation extends AbstractEntity implements Blockable {
synchronized (this.messages) {
for (int i = this.messages.size() - 1; i >= 0; --i) {
Message message = this.messages.get(i);
- if ((message.getStatus() == Message.STATUS_UNSEND || message.getStatus() == Message.STATUS_SEND) && message.getBody() != null && message.getBody().equals(body)) {
- return message;
+ if (message.getStatus() == Message.STATUS_UNSEND || message.getStatus() == Message.STATUS_SEND) {
+ String otherBody;
+ if (message.hasFileOnRemoteHost()) {
+ otherBody = message.getFileParams().url.toString();
+ } else {
+ otherBody = message.body;
+ }
+ if (otherBody != null && otherBody.equals(body)) {
+ return message;
+ }
}
}
return null;
diff --git a/src/main/java/eu/siacs/conversations/persistance/FileBackend.java b/src/main/java/eu/siacs/conversations/persistance/FileBackend.java
index b18a28444..5366fdee7 100644
--- a/src/main/java/eu/siacs/conversations/persistance/FileBackend.java
+++ b/src/main/java/eu/siacs/conversations/persistance/FileBackend.java
@@ -152,7 +152,6 @@ public class FileBackend {
}
public String getOriginalPath(Uri uri) {
- Log.d(Config.LOGTAG,"get original path for uri: "+uri.toString());
return FileUtils.getPath(mXmppConnectionService,uri);
}
diff --git a/src/main/java/eu/siacs/conversations/services/NotificationService.java b/src/main/java/eu/siacs/conversations/services/NotificationService.java
index b69e5f79e..b43b9f93c 100644
--- a/src/main/java/eu/siacs/conversations/services/NotificationService.java
+++ b/src/main/java/eu/siacs/conversations/services/NotificationService.java
@@ -115,7 +115,9 @@ public class NotificationService {
public void pushFromBacklog(final Message message) {
if (notify(message)) {
- pushToStack(message);
+ synchronized (notifications) {
+ pushToStack(message);
+ }
}
}
diff --git a/src/main/java/eu/siacs/conversations/utils/FileUtils.java b/src/main/java/eu/siacs/conversations/utils/FileUtils.java
index c29841112..ad8b8640f 100644
--- a/src/main/java/eu/siacs/conversations/utils/FileUtils.java
+++ b/src/main/java/eu/siacs/conversations/utils/FileUtils.java
@@ -23,6 +23,9 @@ public class FileUtils {
*/
@SuppressLint("NewApi")
public static String getPath(final Context context, final Uri uri) {
+ if (uri == null) {
+ return null;
+ }
final boolean isKitKat = Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT;