diff options
author | Christian Schneppe <christian@pix-art.de> | 2016-09-28 21:31:15 +0200 |
---|---|---|
committer | Christian Schneppe <christian@pix-art.de> | 2016-09-28 21:31:15 +0200 |
commit | 6fdaed555ebcb18a313b78cebeab5c376861544d (patch) | |
tree | 4eaf9e980ae349476d36920f4b7e5c4ecfd53f17 /src/main/java/de/pixart/messenger/services/XmppConnectionService.java | |
parent | bd91a49fb8bb716d50c528e55b074a929159d7c7 (diff) |
Allow to dismiss the notification from a wear reply.
- use different IDs in the same method for the PendingIntent
- fix reply for GPG encrypted replies (untested)
Diffstat (limited to 'src/main/java/de/pixart/messenger/services/XmppConnectionService.java')
-rw-r--r-- | src/main/java/de/pixart/messenger/services/XmppConnectionService.java | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/main/java/de/pixart/messenger/services/XmppConnectionService.java b/src/main/java/de/pixart/messenger/services/XmppConnectionService.java index 1083f5965..2f61ed919 100644 --- a/src/main/java/de/pixart/messenger/services/XmppConnectionService.java +++ b/src/main/java/de/pixart/messenger/services/XmppConnectionService.java @@ -658,7 +658,7 @@ public class XmppConnectionService extends Service { if (remoteInput != null && c != null) { final CharSequence body = remoteInput.getCharSequence("text_reply"); if (body != null && body.length() > 0) { - directReply(c, body.toString()); + directReply(c, body.toString(),intent.getBooleanExtra("dismiss_notification",false)); } } break; @@ -791,7 +791,7 @@ public class XmppConnectionService extends Service { } } - private void directReply(Conversation conversation, String body) { + private void directReply(Conversation conversation, String body, final boolean dismissAfterReply) { Message message = new Message(conversation,body,conversation.getNextEncryption()); message.markUnread(); if (message.getEncryption() == Message.ENCRYPTION_PGP) { @@ -800,7 +800,11 @@ public class XmppConnectionService extends Service { public void success(Message message) { message.setEncryption(Message.ENCRYPTION_DECRYPTED); sendMessage(message); - mNotificationService.pushFromDirectReply(message); + if (dismissAfterReply) { + markRead(message.getConversation(),true); + } else { + mNotificationService.pushFromDirectReply(message); + } } @Override @@ -815,7 +819,11 @@ public class XmppConnectionService extends Service { }); } else { sendMessage(message); - mNotificationService.pushFromDirectReply(message); + if (dismissAfterReply) { + markRead(conversation,true); + } else { + mNotificationService.pushFromDirectReply(message); + } } } |