To simulate the single tone playback (avoiding the stkagent method
to return immediately), a timeout is started (5 seconds).
During this time, the user can terminate the session.
---
 test/test-stk-menu |   18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/test/test-stk-menu b/test/test-stk-menu
index 6e7f7b7..f4553d1 100755
--- a/test/test-stk-menu
+++ b/test/test-stk-menu
@@ -6,6 +6,10 @@ import sys
 import dbus
 import dbus.service
 import dbus.mainloop.glib
+import signal
+
+def handler(signum, frame):
+       raise Exception("\nSingle tone is finished!")
 
 class GoBack(dbus.DBusException):
        _dbus_error_name = "org.ofono.Error.GoBack"
@@ -195,6 +199,20 @@ class StkAgent(dbus.service.Object):
                print "Text: %s" % (text)
                print "Icon: %d" % (icon)
 
+               signal.signal(signal.SIGALRM, handler)
+               signal.alarm(5)
+
+               try:
+                       key = raw_input("Press return to end before end of"
+                                                        " single tone (t):")
+                       signal.alarm(0)
+
+                       if key == 't':
+                               raise EndSession("User wishes to terminate"
+                                                                " session");
+               except Exception, exc:
+                       print exc
+
        @dbus.service.method("org.ofono.SimToolkitAgent",
                                        in_signature="ssy", out_signature="")
        def LoopTone(self, tone, text, icon):
-- 
1.7.9.5

_______________________________________________
ofono mailing list
ofono@ofono.org
http://lists.ofono.org/listinfo/ofono

Reply via email to