applet: Rework how manager pings work

This swaps to notifying the applet internally when registration is lost after a
ping fails.
This commit is contained in:
June Tate-Gans 2021-05-23 11:29:14 -05:00
parent 298cefe9c2
commit c336d9c4cf

View File

@ -57,15 +57,22 @@ class Applet(dbus.service.Object):
def _ping(self):
if self._manager:
result = False
try:
self._manager.Ping()
result = self._manager.Ping()
except DBusException as err:
print('Lost connection with AppletManager: %s' % err)
self._registered = False
GLib.idle_add(self.onUnregistered)
GLib.timeout_add_seconds(1, self.register)
return False
if not result:
print('Lost registration with AppletManager')
self._registered = False
GLib.idle_add(self.onUnregistered)
GLib.timeout_add_seconds(1, self.register)
return False
return True