summaryrefslogtreecommitdiffstats
path: root/meta-openmoko/packages/openmoko2/openmoko-dialer2/openmoko-dialer.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-openmoko/packages/openmoko2/openmoko-dialer2/openmoko-dialer.patch')
-rw-r--r--meta-openmoko/packages/openmoko2/openmoko-dialer2/openmoko-dialer.patch117
1 files changed, 117 insertions, 0 deletions
diff --git a/meta-openmoko/packages/openmoko2/openmoko-dialer2/openmoko-dialer.patch b/meta-openmoko/packages/openmoko2/openmoko-dialer2/openmoko-dialer.patch
new file mode 100644
index 0000000000..5969726857
--- /dev/null
+++ b/meta-openmoko/packages/openmoko2/openmoko-dialer2/openmoko-dialer.patch
@@ -0,0 +1,117 @@
1--- openmoko-dialer2/src/moko-dialer.c~ 2007-08-27 20:02:37.000000000 +0930
2+++ openmoko-dialer2/src/moko-dialer.c 2007-08-27 18:59:37.000000000 +0930
3@@ -69,8 +69,7 @@
4
5 /* Registration variables */
6 guint reg_timeout;
7- gboolean reg_request;
8- gboolean registered;
9+ MokoGsmdConnectionNetregType registered;
10 };
11
12 enum
13@@ -292,8 +291,7 @@
14
15 moko_keypad_set_pin_mode (MOKO_KEYPAD (priv->keypad), FALSE);
16
17- priv->reg_request = TRUE;
18- priv->registered = FALSE;
19+ priv->registered = MOKO_GSMD_CONNECTION_NETREG_NONE;
20 priv->reg_timeout = g_timeout_add (GSM_REGISTER_TIMEOUT,
21 (GSourceFunc)register_network_cb,
22 dialer);
23@@ -424,14 +422,14 @@
24 g_return_if_fail (MOKO_IS_DIALER (dialer));
25 priv = dialer->priv;
26
27+ g_warning ("on_network_registered: type is %d\n", type);
28+
29 switch (type)
30 {
31 case MOKO_GSMD_CONNECTION_NETREG_NONE:
32 case MOKO_GSMD_CONNECTION_NETREG_SEARCHING:
33 /* Do nothing */
34 g_print ("NetReg: Searching for network\n");
35- g_source_remove (priv->reg_timeout);
36- priv->registered = TRUE;
37 break;
38 case MOKO_GSMD_CONNECTION_NETREG_DENIED:
39 /* This may be a pin issue*/
40@@ -441,11 +439,12 @@
41 g_print ("NetReg: Network registered\n");
42 g_print("\tLocationAreaCode = %x\n\tCellID = %x\n", lac, cell);
43 g_source_remove (priv->reg_timeout);
44- priv->registered = TRUE;
45 break;
46 default:
47 g_warning ("Unhandled register event type = %d\n", type);
48 };
49+
50+ priv->registered = type;
51 }
52
53 static void
54@@ -619,28 +618,32 @@
55 g_return_val_if_fail (MOKO_DIALER (dialer), TRUE);
56 priv = MOKO_DIALER_GET_PRIVATE (dialer);
57
58- if (!priv->reg_request)
59+ /* We check whether we've been registered yet, otherwise keep poking
60+ * gsmd
61+ */
62+ switch (priv->registered)
63 {
64- /* We have yet to request registration, so lets do it */
65- /* FIXME: do the pin stuff */
66- g_print ("Requesting registration\n");
67- moko_gsmd_connection_network_register (priv->connection);
68- }
69- else
70- {
71- /* We check whether we've been registered yet, otherwise keep poking
72- * gsmd
73- */
74- if (priv->registered)
75- {
76- g_print ("Network Registered\n");
77- return FALSE;
78- }
79- else
80- {
81+ case MOKO_GSMD_CONNECTION_NETREG_NONE:
82+ /* We have yet to request registration, so lets do it */
83+ /* FIXME: do the pin stuff */
84 g_print ("Requesting registration\n");
85 moko_gsmd_connection_network_register (priv->connection);
86- }
87+ priv->registered = MOKO_GSMD_CONNECTION_NETREG_SEARCHING;
88+ break;
89+ case MOKO_GSMD_CONNECTION_NETREG_SEARCHING:
90+ g_print ("Waiting for registration\n");
91+ break;
92+ case MOKO_GSMD_CONNECTION_NETREG_DENIED:
93+ g_print ("Registration denied, retrying\n");
94+ moko_gsmd_connection_network_register (priv->connection);
95+ priv->registered = MOKO_GSMD_CONNECTION_NETREG_SEARCHING;
96+ break;
97+ case MOKO_GSMD_CONNECTION_NETREG_HOME:
98+ case MOKO_GSMD_CONNECTION_NETREG_ROAMING:
99+ g_print ("Network Registered\n");
100+ return FALSE;
101+ default:
102+ g_warning ("Unhandled register event type = %d\n", priv->registered);
103 }
104
105 return TRUE;
106@@ -754,9 +757,8 @@
107
108 /* Handle network registration a few seconds after powering up the
109 * antenna*/
110- priv->reg_request = TRUE;
111- priv->registered = FALSE;
112- priv->reg_timeout = g_timeout_add (GSM_REGISTER_TIMEOUT,
113+ priv->registered = MOKO_GSMD_CONNECTION_NETREG_NONE;
114+ priv->reg_timeout = g_timeout_add (GSM_REGISTER_TIMEOUT * 2,
115 (GSourceFunc)register_network_cb,
116 dialer);
117