core, quick_frontends: android compatibility hacks:

a couple of hacks have been used so backend can be launched on android using kivy
    - config file (sat.conf) is been read on a specific dir, using a detection of Cagou domains in constants.py
    - fixed crash when using sys.stdout.isatty in log_config.py
    - Q&D fix for logging encoding issue on android
    - when android is detected, the path/pattern to load plugins is modified
    - SRV is not working at the moment on android. If the platform is detected, the host is used directly with default port. A hosts_dir configuration can be used in [android] section to map a specific ip to a host
    - getRepositoryData in tools/utils return constant string on android. Proper repository data need to be copied during package building.
    - [quick app] more robust failure handling on asyncConnect error
    - [quick chat] default to utf-8 when getlocale doesn't return the actual locale.
This commit is contained in:
Goffi 2016-12-04 18:16:48 +01:00
commit 2618d48e7b

View file

@ -402,10 +402,22 @@ class QuickApp(object):
if not errback:
def errback(failure):
log.error(_(u"Can't connect profile [%s]") % failure)
if failure.module.startswith('twisted.words.protocols.jabber') and failure.condition == "not-authorized":
try:
module = failure.module
except AttributeError:
module = ''
try:
message = failure.message
except AttributeError:
message = 'error'
try:
fullname = failure.fullname
except AttributeError:
fullname = 'error'
if module.startswith('twisted.words.protocols.jabber') and failure.condition == "not-authorized":
self.launchAction(C.CHANGE_XMPP_PASSWD_ID, {}, profile=profile)
else:
self.showDialog(failure.message, failure.fullname, 'error')
self.showDialog(message, fullname, 'error')
self.bridge.asyncConnect(profile, callback=callback, errback=errback)
def plug_profiles(self, profiles):