Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/extensions/deviceicon/network.py
diff options
context:
space:
mode:
Diffstat (limited to 'extensions/deviceicon/network.py')
-rw-r--r--extensions/deviceicon/network.py14
1 files changed, 13 insertions, 1 deletions
diff --git a/extensions/deviceicon/network.py b/extensions/deviceicon/network.py
index 6b60edf..94a4293 100644
--- a/extensions/deviceicon/network.py
+++ b/extensions/deviceicon/network.py
@@ -63,6 +63,7 @@ _GSM_STATE_NOT_READY = 0
_GSM_STATE_DISCONNECTED = 1
_GSM_STATE_CONNECTING = 2
_GSM_STATE_CONNECTED = 3
+_GSM_STATE_NEED_AUTH = 4
def frequency_to_channel(frequency):
ftoc = { 2412: 1, 2417: 2, 2422: 3, 2427: 4,
@@ -286,6 +287,11 @@ class GsmPalette(Palette):
elif self._current_state == _GSM_STATE_CONNECTED:
self._toggle_state_item.get_child().set_label(_('Disconnect'))
self.props.secondary_text = _('Connected')
+
+ elif self._current_state == _GSM_STATE_NEED_AUTH:
+ self._toggle_state_item.get_child().set_label(_('Sim requires Pin/Puk'))
+ self.props.secondary_text = _('Authentication Error')
+
else:
raise ValueError('Invalid GSM state while updating label and ' \
'text, %s' % str(self._current_state))
@@ -299,6 +305,8 @@ class GsmPalette(Palette):
self.emit('gsm-disconnect')
elif self._current_state == _GSM_STATE_CONNECTED:
self.emit('gsm-disconnect')
+ elif self._current_state == _GSM_STATE_NEED_AUTH:
+ self.emit('gsm-disconnect')
else:
raise ValueError('Invalid GSM state while emitting signal, %s' % \
str(self._current_state))
@@ -798,6 +806,7 @@ class GsmDeviceView(TrayIcon):
raise RuntimeError('Error when disconnecting gsm device, %s' % error)
def __state_changed_cb(self, new_state, old_state, reason):
+ logging.debug('State: %s to %s, reason %s', old_state, new_state, reason)
self._update_state(int(new_state))
def __current_state_check_cb(self, properties):
@@ -838,7 +847,10 @@ class GsmDeviceView(TrayIcon):
network.DEVICE_STATE_CONFIG,
network.DEVICE_STATE_IP_CONFIG]:
gsm_state = _GSM_STATE_CONNECTING
-
+
+ elif state in [network.DEVICE_STATE_NEED_AUTH]:
+ gsm_state = _GSM_STATE_NEED_AUTH
+
if self._palette is not None:
self._palette.set_state(gsm_state)