+ self.saveAPNList(name)
+
+ def updateAPNList(self):
+ selectedIndex = self["menulist"].getSelectionIndex()
+ apnList = self["menulist"].list
+ currentListItem = apnList[selectedIndex][1]
+
+ currentListItem['user'] = self.uid
+ currentListItem['apn'] = self.apn
+ currentListItem['password'] = self.pwd
+ currentListItem['pin'] = self.pin
+ currentListItem['phone'] = self.phone
+
+ self["menulist"].setList(apnList)
+
+ def saveAPNList(self, name=None):
+ apnList = self["menulist"].list
+ selectedIndex = self["menulist"].getSelectionIndex()
+
+ def makeItem(carrier, apn, user, password, pin, phone):
+ printDebugModemMgr("%s, %s, %s, %s, %s, %s"%(carrier, apn, user, password, pin, phone))
+ tempStr = ' <apn'
+ tempStr += ' carrier="%s"'%(carrier)
+ tempStr += ' apn="%s"'%(apn)
+ if not isEmpty(user): tempStr += ' user="%s"'%(user)
+ if not isEmpty(password): tempStr += ' password="%s"'%(password)
+ if not isEmpty(pin): tempStr += ' pin="%s"'%(pin)
+ if not isEmpty(phone) : tempStr += ' phone="%s"'%(phone)
+ tempStr += ' />\n'
+ return tempStr
+
+ tempIndex = 0
+ apnString = '<apns version="1">\n'
+ for x in apnList:
+ try:
+ if selectedIndex == tempIndex and name is None:
+ apnString += makeItem(x[0], self.apn, self.uid, self.pwd, self.pin, self.phone)
+ continue
+ apnString += makeItem(x[1].get('carrier'), x[1].get('apn'), x[1].get('user'), x[1].get('password'), x[1].get('pin'), x[1].get('phone'))
+ finally: tempIndex += 1
+ apnString += '</apns>\n'
+ printDebugModemMgr(apnString)
+ apnListFile = file(resolveFilename(SCOPE_CURRENT_PLUGIN, "SystemPlugins/3GModemManager/apnlist.xml"), 'w')
+ apnListFile.write(apnString)
+ apnListFile.close()