[pkg-fso-commits] [SCM] freesmartphone.org demo GUI branch, master, updated. milestone4-28-g19ac3e4

Jan Luebbe jluebbe at debian.org
Mon Feb 2 18:44:24 UTC 2009


The following commit has been merged in the master branch:
commit 80d85c2faff7a9b8bde0c19c7ae69f4305773b88
Author: Peter Strapp <peter at strapp.co.uk>
Date:   Thu Jan 22 15:01:28 2009 +0100

    send and receive USSD messages

diff --git a/src/zhone b/src/zhone
index 185cb0a..8d1274a 100755
--- a/src/zhone
+++ b/src/zhone
@@ -195,7 +195,10 @@ class pyphone_phone(edje_group):
             self.part_text_set("label", u"".join(self.text)+u" ")
         elif key in "dial":
             if dbus_object.gsm_device_obj:
-                dbus_object.gsm_call_iface.Initiate( "".join(self.text), "voice" )
+                if "".join(self.text)[0] == "*":
+                    dbus_object.gsm_network_iface.SendUssdRequest( "".join(self.text) )
+                else:
+                    dbus_object.gsm_call_iface.Initiate( "".join(self.text), "voice" )
             else:
                 # Fake onCallStatus...
                 self.main.groups["call"].onCallStatus( None, "outgoing", {"peer": "".join(self.text)} )
@@ -216,6 +219,10 @@ class pyphone_phone(edje_group):
             self.main.groups["main"].targets["phone"] = False
             self.main.groups["main"].update()
 
+    def onIncomingUssd( self, mode, message ):
+        logger.info( "USSD Message: %s" % message )
+        self.main.groups["alert"].activate( "<title>Operator Message</title>%s" % message, [("OK")] )
+
 _("active")
 _("incoming")
 _("held")
@@ -914,10 +921,10 @@ class pyphone_contacts(edje_group):
     def on_edje_signal_button_action_dial_pressed( self, emission, source ):
         if self.selected is not None:
             if dbus_object.gsm_device_obj:
-                dbus_object.gsm_call_iface.Initiate( self.current[self.selected][2], "voice" )
-            else:
-                # Fake onCallStatus...
-                self.main.groups["call"].onCallStatus( None, "outgoing", {"peer": self.current[self.selected][2]} )
+                if self.current[self.selected][2][0] == "*":
+                    dbus_object.gsm_network_iface.SendUssdRequest( self.current[self.selected][2] )
+                else:
+                    dbus_object.gsm_call_iface.Initiate( self.current[self.selected][2], "voice" )
 
     @edje.decorators.signal_callback( "mouse,clicked,1", "button_bottom_middle" )
     def on_edje_signal_button_bottom_middle_pressed( self, emission, source ):
@@ -2357,6 +2364,7 @@ class GUI(object):
         dbus_object.onReadyStatus.append( self.groups["contacts"].onReadyStatus )
         dbus_object.onReadyStatus.append( self.groups["sms"].onReadyStatus )
         dbus_object.onIncomingMessage.append( self.groups["sms"].onIncomingMessage )
+        dbus_object.onIncomingUssd.append( self.groups["phone"].onIncomingUssd )
         dbus_object.onIdleStateChanged.append( self.lock_on_idle )
         dbus_object.onNetworkStatus.append( self.groups["phone"].onNetworkStatus )
 
@@ -2512,6 +2520,7 @@ class DBusObject( object ):
         self.onReadyStatus = []
         self.onNetworkStatus = []
         self.onIncomingMessage = []
+        self.onIncomingUssd = []
         self.onIdleStateChanged = []
         self.onInputEvent = []
 
@@ -2626,6 +2635,7 @@ class DBusObject( object ):
             self.gsm_sim_iface.connect_to_signal( "ReadyStatus", self.cbReadyStatus )
             self.gsm_call_iface.connect_to_signal( "CallStatus", self.cbCallStatus )
             self.gsm_network_iface.connect_to_signal( "Status", self.cbNetworkStatus )
+            self.gsm_network_iface.connect_to_signal( "IncomingUssd", self.cbIncomingUssd )
         if self.gsm_device_obj is None:
             failcount += 1
         else:
@@ -2715,6 +2725,11 @@ class DBusObject( object ):
         for cb in self.onNetworkStatus:
             cb( status=status )
 
+    def cbIncomingUssd( self, mode, message ):
+        logger.info("New USSID")
+        for cb in self.onIncomingUssd:
+            cb( mode=mode, message=message )
+
     def cbIncomingMessage( self, index ):
         for cb in self.onIncomingMessage:
             cb( index=index )

-- 
freesmartphone.org demo GUI



More information about the pkg-fso-commits mailing list