Tasker Project for Notifying of Calls on Silent
Background
Back in the old days android phones allowed multiple sound “profiles” to be set up. Each one could have different volumes for notifications / calls / alarms / media etc. This meant that you could setup different profiles for driving, cinema etc.
Now days most phones are limited to the either loud, silent or vibrate. However what I really wanted was a way for my phone to be on silent or vibrate so that I’m not distracted by emails or other notifications but I still want calls to ring out loud so that I’m not constantly missing calls.
Solution
I’ve setup tasker so that I have a settings tile that looks like a little phone. Clicking it will toggle on / off the functionality of allowing calls to ring when the phone is in silent or vibrate.
Tasker
I created a tasker project that lets you do just this. You can download it here, I’ve also included a description of the tasker project below.
To set this up you’ll need the following on your phone
The tasker project configures the first settings tile in AutoNotification, if you already use the first settings tile for something else you’ll want to update the tasks to point at a different settings tile.
Tasker project
Project: Notify Of Calls
Profiles
Profile: Sound Mode Silent
State: Custom Setting [ Type:Global Name:mode_ringer Value:0 ]
Enter Task: Sound Mode Mute
A1: Variable Set [
Name: %SoundMode
To: mute
Structure Output (JSON, etc): On ]
A2: [X] Flash [
Text: %SoundMode
Continue Task Immediately: On
Dismiss On Click: On ]
Profile: Sound Mode Vibrate
State: Custom Setting [ Type:Global Name:mode_ringer Value:1 ]
Enter Task: Sound Mode Vibrate
A1: Variable Set [
Name: %SoundMode
To: vibrate
Structure Output (JSON, etc): On ]
A2: [X] Flash [
Text: %SoundMode
Continue Task Immediately: On
Dismiss On Click: On ]
Profile: Sound Mode Sound
State: Custom Setting [ Type:Global Name:mode_ringer Value:2 ]
Enter Task: Sound Mode Sound
A1: Variable Set [
Name: %SoundMode
To: sound
Structure Output (JSON, etc): On ]
A2: [X] Flash [
Text: %SoundMode
Continue Task Immediately: On
Dismiss On Click: On ]
Profile: When Pressing Shortcut Toggle Call Sounds
Event: Command [ Output Variables:* Command:toggle_call_sound Variables:* Last Variable Is Array:Off Structure Output (JSON, etc):On ]
Enter Task: Toggle Call Sound
A1: If [ %CallSound eq on ]
A2: AutoNotification Tiles [
Configuration: Tile: AutoNotification
Icon: android.resource://net.dinglisch.android.taskerm/hd_aaa_ext_phone_missed
State: Inactive
Timeout (Seconds): 60
Structure Output (JSON, etc): On ]
A3: Variable Set [
Name: %CallSound
To: off
Structure Output (JSON, etc): On ]
A4: Else
A5: Variable Set [
Name: %CallSound
To: on
Structure Output (JSON, etc): On ]
A6: AutoNotification Tiles [
Configuration: Tile: AutoNotification
Icon: android.resource://net.dinglisch.android.taskerm/hd_device_access_ring_volume
State: Active
Timeout (Seconds): 60
Structure Output (JSON, etc): On ]
A7: End If
A8: Flash [
Text: Call sound: %CallSound
Continue Task Immediately: On
Dismiss On Click: On ]
Profile: Alert For Calls
State: Call [ Type:Incoming Number:* ]
State: Variable Value [ %CallSound eq on ]
Enter Task: Set Sound Mode To Loud
A1: Variable Set [
Name: %PreviousSoundMode
To: %SoundMode
Structure Output (JSON, etc): On ]
A2: Sound Mode [
Mode: Sound ]
Exit Task: Reset Sound Mode
A1: Goto [
Type: Action Label
Label: %PreviousSoundMode ]
<mute>
A2: Sound Mode [
Mode: Mute ]
A3: Stop [ ]
<vibrate>
A4: Sound Mode [
Mode: Vibrate ]
A5: Stop [ ]
<sound>
A6: Sound Mode [
Mode: Sound ]
A7: Stop [ ]
Tasks
Task: Sound Mode Mute
A1: Variable Set [
Name: %SoundMode
To: mute
Structure Output (JSON, etc): On ]
A2: [X] Flash [
Text: %SoundMode
Continue Task Immediately: On
Dismiss On Click: On ]
Task: Reset Sound Mode
A1: Goto [
Type: Action Label
Label: %PreviousSoundMode ]
<mute>
A2: Sound Mode [
Mode: Mute ]
A3: Stop [ ]
<vibrate>
A4: Sound Mode [
Mode: Vibrate ]
A5: Stop [ ]
<sound>
A6: Sound Mode [
Mode: Sound ]
A7: Stop [ ]
Task: Set Sound Mode To Loud
A1: Variable Set [
Name: %PreviousSoundMode
To: %SoundMode
Structure Output (JSON, etc): On ]
A2: Sound Mode [
Mode: Sound ]
Task: Sound Mode Vibrate
A1: Variable Set [
Name: %SoundMode
To: vibrate
Structure Output (JSON, etc): On ]
A2: [X] Flash [
Text: %SoundMode
Continue Task Immediately: On
Dismiss On Click: On ]
Task: Sound Mode Sound
A1: Variable Set [
Name: %SoundMode
To: sound
Structure Output (JSON, etc): On ]
A2: [X] Flash [
Text: %SoundMode
Continue Task Immediately: On
Dismiss On Click: On ]
Task: RUNME: Configure Shortcut Button
A1: AutoNotification Tiles [
Configuration: Tile: AutoNotification
Command: toggle_call_sound
Label: Toggle Calls
Icon: android.resource://net.dinglisch.android.taskerm/hd_device_access_ring_volume
State: Inactive
Timeout (Seconds): 60
Structure Output (JSON, etc): On ]
Task: Toggle Call Sound
A1: If [ %CallSound eq on ]
A2: AutoNotification Tiles [
Configuration: Tile: AutoNotification
Icon: android.resource://net.dinglisch.android.taskerm/hd_aaa_ext_phone_missed
State: Inactive
Timeout (Seconds): 60
Structure Output (JSON, etc): On ]
A3: Variable Set [
Name: %CallSound
To: off
Structure Output (JSON, etc): On ]
A4: Else
A5: Variable Set [
Name: %CallSound
To: on
Structure Output (JSON, etc): On ]
A6: AutoNotification Tiles [
Configuration: Tile: AutoNotification
Icon: android.resource://net.dinglisch.android.taskerm/hd_device_access_ring_volume
State: Active
Timeout (Seconds): 60
Structure Output (JSON, etc): On ]
A7: End If
A8: Flash [
Text: Call sound: %CallSound
Continue Task Immediately: On
Dismiss On Click: On ]