r3828 - in trunk/src/target/OM-2007.2/applications/openmoko-dialer2: . src/phone-kit
chris at sita.openmoko.org
chris at sita.openmoko.org
Mon Jan 14 16:20:01 CET 2008
Author: chris
Date: 2008-01-14 16:20:00 +0100 (Mon, 14 Jan 2008)
New Revision: 3828
Modified:
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/ChangeLog
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-network.c
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-sms.c
Log:
* src/phone-kit/moko-network.c: (retry_oper_get),
(retry_opers_get), (retry_get_imsi), (on_network_registered),
(net_msghandler), (phone_msghandler), (moko_network_init):
Only retry n amount of times before giving up on getting imsi,
subscriber number and network number
* src/phone-kit/moko-sms.c: (moko_sms_send):
Don't rely on subscriber number to send messages
Modified: trunk/src/target/OM-2007.2/applications/openmoko-dialer2/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-dialer2/ChangeLog 2008-01-14 14:21:51 UTC (rev 3827)
+++ trunk/src/target/OM-2007.2/applications/openmoko-dialer2/ChangeLog 2008-01-14 15:20:00 UTC (rev 3828)
@@ -1,5 +1,16 @@
2008-01-14 Chris Lord <chris at openedhand.com>
+ * src/phone-kit/moko-network.c: (retry_oper_get),
+ (retry_opers_get), (retry_get_imsi), (on_network_registered),
+ (net_msghandler), (phone_msghandler), (moko_network_init):
+ Only retry n amount of times before giving up on getting imsi,
+ subscriber number and network number
+
+ * src/phone-kit/moko-sms.c: (moko_sms_send):
+ Don't rely on subscriber number to send messages
+
+2008-01-14 Chris Lord <chris at openedhand.com>
+
Patch by Roman Moravcik <roman.moravcik at gmail.com>, bug #1153
* src/phone-kit/moko-dialer.c: (on_call_progress):
Modified: trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-network.c
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-network.c 2008-01-14 14:21:51 UTC (rev 3827)
+++ trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-network.c 2008-01-14 15:20:00 UTC (rev 3828)
@@ -41,6 +41,9 @@
#define MOKO_NETWORK_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE(obj, \
MOKO_TYPE_NETWORK, MokoNetworkPrivate))
+#define RETRY_MAX 5
+#define RETRY_DELAY 15
+
enum {
PROP_STATUS = 1,
};
@@ -70,8 +73,11 @@
gchar *imsi;
guint retry_oper;
+ gint retry_oper_n;
guint retry_opers;
+ gint retry_opers_n;
guint retry_imsi;
+ gint retry_imsi_n;
/* gsmd connection variables */
struct lgsm_handle *handle;
@@ -107,25 +113,26 @@
static gboolean
retry_oper_get (MokoNetwork *network)
{
- g_debug ("Retrying operator retrieval");
+ g_debug ("Retrying operator retrieval (%d)", network->priv->retry_oper_n);
lgsm_oper_get (network->priv->handle);
- return TRUE;
+ return (--network->priv->retry_oper_n) ? TRUE : FALSE;
}
static gboolean
retry_opers_get (MokoNetwork *network)
{
- g_debug ("Retrying operators list retrieval");
+ g_debug ("Retrying operators list retrieval (%d)",
+ network->priv->retry_opers_n);
lgsm_opers_get (network->priv->handle);
- return TRUE;
+ return (--network->priv->retry_opers_n) ? TRUE : FALSE;
}
static gboolean
retry_get_imsi (MokoNetwork *network)
{
- g_debug ("Retrying imsi retrieval");
+ g_debug ("Retrying imsi retrieval (%d)", network->priv->retry_imsi_n);
lgsm_get_imsi (network->priv->handle);
- return TRUE;
+ return (--network->priv->retry_imsi_n) ? TRUE : FALSE;
}
static void
@@ -195,17 +202,21 @@
/* Retrieve IMSI to get home country code */
lgsm_get_imsi (handle);
- /* Add a time-out in case retrieval fails - retry every 10 seconds */
+ /* Add a time-out in case retrieval fails,
+ * retry every RETRY_DELAY seconds */
stop_retrying (MOKO_NETWORK (listener));
- priv->retry_oper = g_timeout_add_seconds (15,
- (GSourceFunc)retry_oper_get,
- listener);
- priv->retry_opers = g_timeout_add_seconds (15,
- (GSourceFunc)retry_opers_get,
- listener);
- priv->retry_imsi = g_timeout_add_seconds (15,
- (GSourceFunc)retry_get_imsi,
- listener);
+ if (priv->retry_oper_n)
+ priv->retry_oper = g_timeout_add_seconds (RETRY_DELAY,
+ (GSourceFunc)retry_oper_get,
+ listener);
+ if (priv->retry_opers_n)
+ priv->retry_opers = g_timeout_add_seconds (RETRY_DELAY,
+ (GSourceFunc)retry_opers_get,
+ listener);
+ if (priv->retry_imsi_n)
+ priv->retry_imsi = g_timeout_add_seconds (RETRY_DELAY,
+ (GSourceFunc)retry_get_imsi,
+ listener);
}
break;
@@ -557,6 +568,7 @@
if (priv->retry_oper) {
g_source_remove (priv->retry_oper);
priv->retry_oper = 0;
+ priv->retry_oper_n = RETRY_MAX;
}
for (l = priv->listeners; l; l = l->next) {
moko_listener_on_network_name (MOKO_LISTENER (l->data),
@@ -567,6 +579,7 @@
if (priv->retry_opers) {
g_source_remove (priv->retry_opers);
priv->retry_opers = 0;
+ priv->retry_opers_n = RETRY_MAX;
}
for (l = priv->listeners; l; l = l->next) {
moko_listener_on_network_list (MOKO_LISTENER (l->data),
@@ -594,6 +607,7 @@
if (priv->retry_imsi) {
g_source_remove (priv->retry_imsi);
priv->retry_imsi = 0;
+ priv->retry_imsi_n = RETRY_MAX;
}
for (l = priv->listeners; l; l = l->next) {
moko_listener_on_imsi (MOKO_LISTENER (l->data), priv->handle,
@@ -754,6 +768,10 @@
MokoNetworkPrivate *priv;
priv = network->priv = MOKO_NETWORK_GET_PRIVATE (network);
+
+ priv->retry_oper_n = RETRY_MAX;
+ priv->retry_opers_n = RETRY_MAX;
+ priv->retry_imsi_n = RETRY_MAX;
network_init_gsmd (network);
}
Modified: trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-sms.c
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-sms.c 2008-01-14 14:21:51 UTC (rev 3827)
+++ trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-sms.c 2008-01-14 15:20:00 UTC (rev 3828)
@@ -638,8 +638,7 @@
return FALSE;
}
- if (!moko_network_get_subscriber_number (priv->network, &sub_num, error))
- return FALSE;
+ moko_network_get_subscriber_number (priv->network, &sub_num, NULL);
/* Ask for delivery report */
sms.ask_ds = report ? 1 : 0;
@@ -693,9 +692,11 @@
g_free (full_number);
} else
jana_note_set_recipient (note, number);
- jana_note_set_author (note, sub_num);
+ if (sub_num) {
+ jana_note_set_author (note, sub_num);
+ g_free (sub_num);
+ }
g_free (dialcode);
- g_free (sub_num);
jana_note_set_body (note, message);
if (report) {
More information about the commitlog
mailing list