diff options
author | Christian Schneppe <christian@pix-art.de> | 2019-08-31 14:05:41 +0200 |
---|---|---|
committer | Christian Schneppe <christian@pix-art.de> | 2019-08-31 14:31:31 +0200 |
commit | dd627f76bf21e5ce494c33a7b03f1bdb90f32b13 (patch) | |
tree | 6404d409f5fd09cfb87ebced1519b9675b3f4b66 /src/main/java | |
parent | 037cd4e95b66f6c8cf92ea096bd6533703958a30 (diff) |
make short vibrate in open chat configurable and respect phone silent mode
Diffstat (limited to '')
-rw-r--r-- | src/main/java/de/pixart/messenger/services/NotificationService.java | 5 | ||||
-rw-r--r-- | src/main/java/de/pixart/messenger/services/XmppConnectionService.java | 9 |
2 files changed, 10 insertions, 4 deletions
diff --git a/src/main/java/de/pixart/messenger/services/NotificationService.java b/src/main/java/de/pixart/messenger/services/NotificationService.java index 939c95299..4d8c39d22 100644 --- a/src/main/java/de/pixart/messenger/services/NotificationService.java +++ b/src/main/java/de/pixart/messenger/services/NotificationService.java @@ -316,11 +316,14 @@ public class NotificationService { private void pushNow(final Message message) { mXmppConnectionService.updateUnreadCountBadge(); + final boolean isScreenOn = mXmppConnectionService.isInteractive(); if (!notify(message)) { + if (this.mIsInForeground && isScreenOn && this.mOpenConversation == message.getConversation()) { + mXmppConnectionService.vibrate(); + } Log.d(Config.LOGTAG, message.getConversation().getAccount().getJid().asBareJid() + ": suppressing notification because turned off"); return; } - final boolean isScreenOn = mXmppConnectionService.isInteractive(); if (this.mIsInForeground && isScreenOn && this.mOpenConversation == message.getConversation()) { mXmppConnectionService.vibrate(); Log.d(Config.LOGTAG, message.getConversation().getAccount().getJid().asBareJid() + ": suppressing notification because conversation is open"); diff --git a/src/main/java/de/pixart/messenger/services/XmppConnectionService.java b/src/main/java/de/pixart/messenger/services/XmppConnectionService.java index a0d298d47..bb7162bb3 100644 --- a/src/main/java/de/pixart/messenger/services/XmppConnectionService.java +++ b/src/main/java/de/pixart/messenger/services/XmppConnectionService.java @@ -4172,9 +4172,12 @@ public class XmppConnectionService extends Service { } public void vibrate() { - Log.d(Config.LOGTAG, "Notification: short vibrate"); - Vibrator vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE); - vibrator.vibrate(100); + final boolean vibrateInChat = getBooleanPreference("vibrate_in_chat", R.bool.vibrate_in_chat); + if (!isPhoneSilenced() && vibrateInChat) { + Log.d(Config.LOGTAG, "Notification: short vibrate"); + Vibrator vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE); + vibrator.vibrate(100); + } } private <T> List<T> threadSafeList(Set<T> set) { |