Dynamic Ringtone - not switching
Moderator: Martin
Re: Dynamic Ringtone - not switching
Oops. Getting an error message on my notification bar. Error: Could not play sound: null.
Here is the log from the last call.
22.08.2015 11:47:05.357 [Phone Call] Starting to execute flow 'Phone Call' with Context{global{global_volume_music=15,global_volume_dtmf=15,global_volume_notification=7,global_volume_alarm=7,global_volume_system=7,global_volume_ring=7,global_volume_voice_call=6},local{trigger=Incoming Call. State: Ringing, Numbers: All,contact_email=XXXXXXflow_name=Phone Call,call_state=RINGING,contact_title=,contact_note=Category: Friends,contact_company=,incoming_number=XXXXXX,contact_nickname=,call_missed_rejected=false,contact_name=XXXXXX,triggertime=1440269224969,contact_groups=[My Contacts, Starred in Android, Friends]}}
22.08.2015 11:47:05.362 [Phone Call] Start executing condition 'Expression: containsElement(contact_groups,"Starred in Android")'
22.08.2015 11:47:05.401 [Phone Call] End executing condition 'Expression: containsElement(contact_groups,"Starred in Android")' with return value true
22.08.2015 11:47:05.413 [Phone Call] Flow continues executing with the next step.
22.08.2015 11:47:05.415 [Phone Call] Start executing action 'Script: playring = "/system/media/audio/ringtones/Eastern_Sky.ogg"'
22.08.2015 11:47:05.453 [Phone Call] End executing action 'Script: playring = "/system/media/audio/ringtones/Eastern_Sky.ogg"'
22.08.2015 11:47:05.454 [Phone Call] Flow continues executing with the next step.
22.08.2015 11:47:05.455 [Phone Call] Start executing condition 'Wired Headset Plugged'
22.08.2015 11:47:05.456 [Phone Call] End executing condition 'Wired Headset Plugged' with return value false
22.08.2015 11:47:05.457 [Phone Call] Flow continues executing with the next step.
22.08.2015 11:47:05.458 [Phone Call] Start executing condition 'Bluetooth Device Connected: Jawbone ICON'
22.08.2015 11:47:05.470 [Phone Call] End executing condition 'Bluetooth Device Connected: Jawbone ICON' with return value false
22.08.2015 11:47:05.472 [Phone Call] Flow continues executing with the next step.
22.08.2015 11:47:05.472 [Phone Call] Start executing action 'Script: raisevol = "true"'
22.08.2015 11:47:05.487 [Phone Call] End executing action 'Script: raisevol = "true"'
22.08.2015 11:47:05.488 [Phone Call] Flow continues executing with the next step.
22.08.2015 11:47:05.489 [Phone Call] Start executing action 'Store Music Volumes'
22.08.2015 11:47:05.523 [Phone Call] Action 'Store Music Volumes' Set global_volume_music to 15
22.08.2015 11:47:05.524 [Phone Call] End executing action 'Store Music Volumes'
22.08.2015 11:47:05.525 [Phone Call] Flow continues executing with the next step.
22.08.2015 11:47:05.526 [Phone Call] Start executing condition 'Expression: raisevol = "true"'
22.08.2015 11:47:05.553 [Phone Call] End executing condition 'Expression: raisevol = "true"' with return value true
22.08.2015 11:47:05.556 [Phone Call] Flow continues executing with the next step.
22.08.2015 11:47:05.557 [Phone Call] Start executing action 'Set Audio Stream Volume: Music to level 15'
22.08.2015 11:47:05.781 [Phone Call] End executing action 'Set Audio Stream Volume: Music to level 15'
22.08.2015 11:47:05.946 [Phone Call] Flow continues executing with the next step.
22.08.2015 11:47:05.947 [Phone Call] Start executing action 'Sound: {playring} as Ring'
22.08.2015 11:47:05.950 [Phone Call] End executing action 'Sound: {playring} as Ring'
22.08.2015 11:47:05.997 [Phone Call] Flow continues executing with the next step.
22.08.2015 11:47:06.000 [Phone Call] Start executing condition 'Call State: Ringing'
22.08.2015 11:47:06.012 [Phone Call] End executing condition 'Call State: Ringing' with return value true
22.08.2015 11:47:06.019 [Phone Call] Flow continues executing with the next step.
22.08.2015 11:47:06.021 [Phone Call] Start executing action 'Sleep: 4s (keep device awake)'
22.08.2015 11:47:06.023 [Phone Call] Action 'Sleep: 4s (keep device awake)' Sleeping for 4s (keep device awake)
22.08.2015 11:47:10.168 [Phone Call] End executing action 'Sleep: 4s (keep device awake)'
22.08.2015 11:47:10.169 [Phone Call] Flow continues executing with the next step.
22.08.2015 11:47:10.170 [Phone Call] Start executing action 'Sound: {playring} as Ring'
22.08.2015 11:47:10.185 [Phone Call] End executing action 'Sound: {playring} as Ring'
22.08.2015 11:47:10.186 [Phone Call] Flow continues executing with the next step.
22.08.2015 11:47:10.189 [Phone Call] Start executing condition 'Call State: Ringing'
22.08.2015 11:47:10.191 [Phone Call] End executing condition 'Call State: Ringing' with return value true
22.08.2015 11:47:10.193 [Phone Call] Flow continues executing with the next step.
22.08.2015 11:47:10.194 [Phone Call] Start executing action 'Sleep: 4s (keep device awake)'
22.08.2015 11:47:10.196 [Phone Call] Action 'Sleep: 4s (keep device awake)' Sleeping for 4s (keep device awake)
22.08.2015 11:47:14.221 [Phone Call] End executing action 'Sleep: 4s (keep device awake)'
22.08.2015 11:47:14.225 [Phone Call] Flow continues executing with the next step.
22.08.2015 11:47:14.227 [Phone Call] Start executing action 'Sound: {playring} as Ring'
22.08.2015 11:47:14.231 [Phone Call] End executing action 'Sound: {playring} as Ring'
22.08.2015 11:47:14.235 [Phone Call] Flow continues executing with the next step.
22.08.2015 11:47:14.240 [Phone Call] Start executing condition 'Call State: Ringing'
22.08.2015 11:47:14.246 [Phone Call] End executing condition 'Call State: Ringing' with return value false
22.08.2015 11:47:14.249 [Phone Call] Flow continues executing with the next step.
22.08.2015 11:47:14.251 [Phone Call] Start executing action 'Stop Action Sound'
22.08.2015 11:47:14.259 [Phone Call] End executing action 'Stop Action Sound'
22.08.2015 11:47:14.264 [Phone Call] Flow continues executing with the next step.
22.08.2015 11:47:14.273 [Phone Call] Start executing condition 'Expression: raisevol = "true"'
22.08.2015 11:47:14.286 [Phone Call] End executing condition 'Expression: raisevol = "true"' with return value true
22.08.2015 11:47:14.292 [Phone Call] Flow continues executing with the next step.
22.08.2015 11:47:14.293 [Phone Call] Start executing action 'Restore Music Volumes'
22.08.2015 11:47:14.297 [Phone Call] Action 'Restore Music Volumes' Set volume using global_volume_music to 15
22.08.2015 11:47:14.299 [Phone Call] End executing action 'Restore Music Volumes'
22.08.2015 11:47:14.300 [Phone Call] Flow ended.
22.08.2015 11:47:14.334 [Phone Call] Action 'Sound: {playring} as Ring'
java.lang.IllegalStateException
at android.media.MediaPlayer.setAudioStreamType(Native Method)
at ch.gridvision.ppam.androidautomagic.d.a.gq$1.a(SourceFile:515)
at ch.gridvision.ppam.androidautomagic.util.he$1.run(SourceFile:39)
at java.lang.Thread.run(Thread.java:841)
Here is the log from the last call.
22.08.2015 11:47:05.357 [Phone Call] Starting to execute flow 'Phone Call' with Context{global{global_volume_music=15,global_volume_dtmf=15,global_volume_notification=7,global_volume_alarm=7,global_volume_system=7,global_volume_ring=7,global_volume_voice_call=6},local{trigger=Incoming Call. State: Ringing, Numbers: All,contact_email=XXXXXXflow_name=Phone Call,call_state=RINGING,contact_title=,contact_note=Category: Friends,contact_company=,incoming_number=XXXXXX,contact_nickname=,call_missed_rejected=false,contact_name=XXXXXX,triggertime=1440269224969,contact_groups=[My Contacts, Starred in Android, Friends]}}
22.08.2015 11:47:05.362 [Phone Call] Start executing condition 'Expression: containsElement(contact_groups,"Starred in Android")'
22.08.2015 11:47:05.401 [Phone Call] End executing condition 'Expression: containsElement(contact_groups,"Starred in Android")' with return value true
22.08.2015 11:47:05.413 [Phone Call] Flow continues executing with the next step.
22.08.2015 11:47:05.415 [Phone Call] Start executing action 'Script: playring = "/system/media/audio/ringtones/Eastern_Sky.ogg"'
22.08.2015 11:47:05.453 [Phone Call] End executing action 'Script: playring = "/system/media/audio/ringtones/Eastern_Sky.ogg"'
22.08.2015 11:47:05.454 [Phone Call] Flow continues executing with the next step.
22.08.2015 11:47:05.455 [Phone Call] Start executing condition 'Wired Headset Plugged'
22.08.2015 11:47:05.456 [Phone Call] End executing condition 'Wired Headset Plugged' with return value false
22.08.2015 11:47:05.457 [Phone Call] Flow continues executing with the next step.
22.08.2015 11:47:05.458 [Phone Call] Start executing condition 'Bluetooth Device Connected: Jawbone ICON'
22.08.2015 11:47:05.470 [Phone Call] End executing condition 'Bluetooth Device Connected: Jawbone ICON' with return value false
22.08.2015 11:47:05.472 [Phone Call] Flow continues executing with the next step.
22.08.2015 11:47:05.472 [Phone Call] Start executing action 'Script: raisevol = "true"'
22.08.2015 11:47:05.487 [Phone Call] End executing action 'Script: raisevol = "true"'
22.08.2015 11:47:05.488 [Phone Call] Flow continues executing with the next step.
22.08.2015 11:47:05.489 [Phone Call] Start executing action 'Store Music Volumes'
22.08.2015 11:47:05.523 [Phone Call] Action 'Store Music Volumes' Set global_volume_music to 15
22.08.2015 11:47:05.524 [Phone Call] End executing action 'Store Music Volumes'
22.08.2015 11:47:05.525 [Phone Call] Flow continues executing with the next step.
22.08.2015 11:47:05.526 [Phone Call] Start executing condition 'Expression: raisevol = "true"'
22.08.2015 11:47:05.553 [Phone Call] End executing condition 'Expression: raisevol = "true"' with return value true
22.08.2015 11:47:05.556 [Phone Call] Flow continues executing with the next step.
22.08.2015 11:47:05.557 [Phone Call] Start executing action 'Set Audio Stream Volume: Music to level 15'
22.08.2015 11:47:05.781 [Phone Call] End executing action 'Set Audio Stream Volume: Music to level 15'
22.08.2015 11:47:05.946 [Phone Call] Flow continues executing with the next step.
22.08.2015 11:47:05.947 [Phone Call] Start executing action 'Sound: {playring} as Ring'
22.08.2015 11:47:05.950 [Phone Call] End executing action 'Sound: {playring} as Ring'
22.08.2015 11:47:05.997 [Phone Call] Flow continues executing with the next step.
22.08.2015 11:47:06.000 [Phone Call] Start executing condition 'Call State: Ringing'
22.08.2015 11:47:06.012 [Phone Call] End executing condition 'Call State: Ringing' with return value true
22.08.2015 11:47:06.019 [Phone Call] Flow continues executing with the next step.
22.08.2015 11:47:06.021 [Phone Call] Start executing action 'Sleep: 4s (keep device awake)'
22.08.2015 11:47:06.023 [Phone Call] Action 'Sleep: 4s (keep device awake)' Sleeping for 4s (keep device awake)
22.08.2015 11:47:10.168 [Phone Call] End executing action 'Sleep: 4s (keep device awake)'
22.08.2015 11:47:10.169 [Phone Call] Flow continues executing with the next step.
22.08.2015 11:47:10.170 [Phone Call] Start executing action 'Sound: {playring} as Ring'
22.08.2015 11:47:10.185 [Phone Call] End executing action 'Sound: {playring} as Ring'
22.08.2015 11:47:10.186 [Phone Call] Flow continues executing with the next step.
22.08.2015 11:47:10.189 [Phone Call] Start executing condition 'Call State: Ringing'
22.08.2015 11:47:10.191 [Phone Call] End executing condition 'Call State: Ringing' with return value true
22.08.2015 11:47:10.193 [Phone Call] Flow continues executing with the next step.
22.08.2015 11:47:10.194 [Phone Call] Start executing action 'Sleep: 4s (keep device awake)'
22.08.2015 11:47:10.196 [Phone Call] Action 'Sleep: 4s (keep device awake)' Sleeping for 4s (keep device awake)
22.08.2015 11:47:14.221 [Phone Call] End executing action 'Sleep: 4s (keep device awake)'
22.08.2015 11:47:14.225 [Phone Call] Flow continues executing with the next step.
22.08.2015 11:47:14.227 [Phone Call] Start executing action 'Sound: {playring} as Ring'
22.08.2015 11:47:14.231 [Phone Call] End executing action 'Sound: {playring} as Ring'
22.08.2015 11:47:14.235 [Phone Call] Flow continues executing with the next step.
22.08.2015 11:47:14.240 [Phone Call] Start executing condition 'Call State: Ringing'
22.08.2015 11:47:14.246 [Phone Call] End executing condition 'Call State: Ringing' with return value false
22.08.2015 11:47:14.249 [Phone Call] Flow continues executing with the next step.
22.08.2015 11:47:14.251 [Phone Call] Start executing action 'Stop Action Sound'
22.08.2015 11:47:14.259 [Phone Call] End executing action 'Stop Action Sound'
22.08.2015 11:47:14.264 [Phone Call] Flow continues executing with the next step.
22.08.2015 11:47:14.273 [Phone Call] Start executing condition 'Expression: raisevol = "true"'
22.08.2015 11:47:14.286 [Phone Call] End executing condition 'Expression: raisevol = "true"' with return value true
22.08.2015 11:47:14.292 [Phone Call] Flow continues executing with the next step.
22.08.2015 11:47:14.293 [Phone Call] Start executing action 'Restore Music Volumes'
22.08.2015 11:47:14.297 [Phone Call] Action 'Restore Music Volumes' Set volume using global_volume_music to 15
22.08.2015 11:47:14.299 [Phone Call] End executing action 'Restore Music Volumes'
22.08.2015 11:47:14.300 [Phone Call] Flow ended.
22.08.2015 11:47:14.334 [Phone Call] Action 'Sound: {playring} as Ring'
java.lang.IllegalStateException
at android.media.MediaPlayer.setAudioStreamType(Native Method)
at ch.gridvision.ppam.androidautomagic.d.a.gq$1.a(SourceFile:515)
at ch.gridvision.ppam.androidautomagic.util.he$1.run(SourceFile:39)
at java.lang.Thread.run(Thread.java:841)
Re: Dynamic Ringtone - not switching
The flow seems to run to the end without problems, the error comes up at the last line in the log. My knowledge stops here, you'll have to wait for Martin to solve this.
Re: Dynamic Ringtone - not switching
Hi Jarid
I'm puzzled by the exception since it does not really give much details about the real issue. Are you using an old version of Automagic? If yes, could you please update to the latest version available on Google Play and test again? There have been some internal changes to action Sound so the exception might not be the same anymore. Please also try to restart the device once.
Regards,
Martin
I'm puzzled by the exception since it does not really give much details about the real issue. Are you using an old version of Automagic? If yes, could you please update to the latest version available on Google Play and test again? There have been some internal changes to action Sound so the exception might not be the same anymore. Please also try to restart the device once.
Regards,
Martin
Re: Dynamic Ringtone - not switching
I am using a Droid Razr Maxx (XT912) running CyanogenMod v11-201560626-SNAPSHOT-XNG3CAO1L8-spyder on Android v4.4.4.
Automagic v1.28.0
I have a flow that reboots the device every night.
Manually rebooted the device this morning. Incoming call...after hanging-up, had the same error message.
I clear the error message after each occurrence. It does NOT happen with each call.
Automagic v1.28.0
I have a flow that reboots the device every night.
Manually rebooted the device this morning. Incoming call...after hanging-up, had the same error message.
I clear the error message after each occurrence. It does NOT happen with each call.
Re: Dynamic Ringtone - not switching
That's strange, maybe it's a timing related issue when the phone app and Automagic try to start the playback exactly at the same time. Please try to add an action Sleep: 5s right before the action Sound and see if this helps. Also try to change the duration from 5s to 2s or up to 10s to see if this makes a difference.
When the flow starts to fail, does the flow work again sometimes or does it fail every time when it fails once?
When the flow starts to fail, does the flow work again sometimes or does it fail every time when it fails once?
Re: Dynamic Ringtone - not switching
I finished my testing....
As per your instructions, I made the adjustments and tried different timing combinations...error still occurred. Even with the error in the notification, the flow responded to the next incoming call.
Additional problems: 1) adjusting the time delayed the sound/music did not give me enough rings to answer the phone (since it is initially set to silent), 2) sometimes when I answer the phone, the song continues to play until the end of the ringtone and 3) sometimes at the completion of the song, the ringtone will resume from where it stopped.
As per your instructions, I made the adjustments and tried different timing combinations...error still occurred. Even with the error in the notification, the flow responded to the next incoming call.
Additional problems: 1) adjusting the time delayed the sound/music did not give me enough rings to answer the phone (since it is initially set to silent), 2) sometimes when I answer the phone, the song continues to play until the end of the ringtone and 3) sometimes at the completion of the song, the ringtone will resume from where it stopped.
Re: Dynamic Ringtone - not switching
Could you please share the flow so I can make some tests with the exact same flow? You can also send it to info@automagic4android.com if you prefer not to share it in the forum.
Re: Dynamic Ringtone - not switching
After all I've found the cause of the error: Immediately executing an action Stop Sound after starting a sound sometimes leads to the error since action Sound does not have enough time to properly start playback. You can workaround this issue by adding an action Sleep: 2s before executing the stop action at the end of the flow.
The actions should be fixed in the next version.
Regards,
Martin
The actions should be fixed in the next version.
Regards,
Martin
Re: Dynamic Ringtone - not switching
I will have to wait for the update. Adding the delay will permit the song to continue playing when I answer the phone (the other side can hear the music).