Signal-android: Disabling Vibration does not work when device's ringer is muted

Created on 25 Apr 2016  路  19Comments  路  Source: signalapp/Signal-Android

I have:


Bug description

When Device is muted, signal will still vibrate on incoming messages regardless of in signal vibration settings

Steps to reproduce

  • Create a conversation with yourself or another person
  • Set conversation settings to vibrate-disabled
  • Mute device ringer (vibrate on call)
  • Send a message to yourself / receive a message

Actual result: Device Vibrates
Expected result: No vibration, notification appears otherwise according to settings (notification light blinks, maybe device screen turns on)

Device info

Device: OnePlus One
Android version: 5.1.1
CM Version: 12.1
Signal version: 3.15.2

Link to debug log

https://gist.github.com/anonymous/ea0a9e0e8ae30825ab577b85b264ed3c

Most helpful comment

I believe a workaround for those who always have their phone on vibrate is to go to Settings > Notifications in the main screen of the app and set 'Sound' to None. Setting vibrate to disabled in per-conversation settings then seems to work correctly.

All 19 comments

This might be an issue with android, but other apps I use have worked around this (maybe by setting the vibration length/intensity to zero?) such as groupme.

I can confirm this on stock Android 5.1.1:

  1. Android notification sound on: does not vibrate
  2. turn down notification sound to vibrate-only: vibrates

This is the way Android handles it by default. One might consider this to be a design decision as in: vibrate-only means to vibrate when sound would be played otherwise.

It is possible to work around that by explicitly setting setVibrate(new long[]{0,0}).

I also tested that the stock 5.1.1 SMS app behaves exactly like Signal when ring volume is set to lowest (i.e. vibrate):

  • None mode: no vibration
  • Priority mode: no vibration
  • All mode: vibrates

@jgkamat Are the actual and expected results switched in your bug report description? (Well, maybe not because the expected result really is to vibrate ;)

@2-4601 Whops, sorry, I typed this up in a hurry. I'm fixing it now :)

Working around this would be the better option in my opinion because it's counterintuitive to the settings in the app, disabling vibration should 'disable vibration' completey (also I really like signal and this one issue is driving me insane). AFAIK there is no way to turn off notification vibration per app in when the ringer is silent.

I tend to leave my phone in vibrate mode always (vibration acts as my ringer, for all intensive purposes), and I prefer to mute chatty conversations so they don't disturb me ever with a vibration, but the notification light will alert me that there is activity if I'm not busy.

I believe a workaround for those who always have their phone on vibrate is to go to Settings > Notifications in the main screen of the app and set 'Sound' to None. Setting vibrate to disabled in per-conversation settings then seems to work correctly.

Also experiencing this issue on the latest Signal on a Moto Maxx and a Nexus 5x. If vibrations for a conversation are disabled, no vibrations will occur when the phone is at regular notification volume. However, when the phone is on vibrate, even vibration-disabled conversations will cause the phone to vibrate.

This issue was fixed in release 3.30
https://github.com/WhisperSystems/Signal-Android/releases/tag/v3.30.0

This issue can be closed

I don't use signal anymore, so if anyone thinks this isn't fixed, let me know. Closing for now.

The described behavior is still reproducible (on Android 5.1.1). I opened PR #6293 to make the mentioned workaround work with recipient preferences also.
In my opinion this bug does not need another fix though, because the behavior is a design choice made by Android.

Can anyone else confirm the issue is reproducible on 5.1.1? On 7.1 It's definitely fixed as of release 3.30. How different is Android 5.1.1 vs 7.1 in regards to ringers being set to "vibrate only"?

Yes, but that was a different issue. Maybe it is fixed for you because you set the recipient's ringtone to silent? What happens when you set a different ringtone and mute the device?
For me, on Android 5.1.1, only the workaround that @liamkirsh mentioned works. Notifications still vibrate with only that recipient's ringtone set to silent, so that is why I opened the new PR.

Interesting, you're correct. I had my signal default sound set to "none".

3.30 at least fixed that aspect though, before 3.30 with vibrate disabled per conversation and the default sound set to "none" my phone would still vibrate when on vibrate only. At least that was fixed.

Let me try to summarize this clearly:

Option 1:
Signal default notification sound none, recipient sound default, recipient vibration disabled
-> Android 5.1.1 does not vibrate; Android 7.1 does vibrate

Option 2:
Signal default notification sound default, recipient sound none, recipient vibration disabled
-> Android 5.1.1 does vibrate; Android 7.1 does not vibrate

Is that correct? Can anyone else give results using Signal 3.30.x?

I think that would mean that there is no common behavior that could be used in my PR #6293.

I have a Nexus 5 I can try to bring back to life and install 5.1.1 and 6.0 on and test under those versions as well as my current 7.1 phone. I agree that it's unclear what 3.30 actually did change about vibration behavior, and we should create a new issue once we fully understand that.

I can test out the latest signal on my phone (android 6), but I wouldn't be able to help with android 7 results. I think this issue should be reopened until we can figure out whether the vibration is stopped in all cases.

That works, eventually a new issue should be opened when we have all the information. This is pretty cluttered, and references some ambiguous language (ex, 'device muted' doesn't distinguish between 'vibrate only' and 'alarms only')

When I made this issue, I didn't know about the alarms only/priority notifications setting on android, and I was reffering to normal notifications mode, with the ringer turned all the way down. I think that in alarms only or priority mode android silences all vibration (so signal won't need to worry about it). I _think_ that the only case that signal needs to worry about is this one (since it works properly when volume is up, and when priority mode/only alarms is set), is that correct?

GitHub Issue Cleanup:
See #7598 for more information.

Was this page helpful?
0 / 5 - 0 ratings