Start presence service later, so that we don't receive signals before we're ready to deal with them. Also ignore shared activities that aren't ours.
This commit is contained in:
parent
8154529886
commit
d08ea50d15
@ -28,21 +28,16 @@ class BrowserActivity(activity.Activity):
|
|||||||
self.uri = uri
|
self.uri = uri
|
||||||
self._mode = mode
|
self._mode = mode
|
||||||
|
|
||||||
logging.debug('Start presence service')
|
|
||||||
self._pservice = PresenceService.get_instance()
|
|
||||||
self._pservice.start()
|
|
||||||
|
|
||||||
logging.debug('Track browser activities')
|
|
||||||
self._pservice.connect('service-appeared', self._service_appeared_cb)
|
|
||||||
self._pservice.track_service_type(_BROWSER_ACTIVITY_TYPE)
|
|
||||||
self._pservice.track_service_type(LocalModel.SERVICE_TYPE)
|
|
||||||
|
|
||||||
self._share_service = None
|
self._share_service = None
|
||||||
self._model_service = None
|
self._model_service = None
|
||||||
self._notif_service = None
|
self._notif_service = None
|
||||||
self._model = None
|
self._model = None
|
||||||
|
|
||||||
def _service_appeared_cb(self, pservice, buddy, service):
|
def _service_appeared_cb(self, pservice, buddy, service):
|
||||||
|
# Make sure the service is for our activity
|
||||||
|
if service.get_activity_uid() != self._activity_id:
|
||||||
|
return
|
||||||
|
|
||||||
if service.get_type() == _BROWSER_ACTIVITY_TYPE:
|
if service.get_type() == _BROWSER_ACTIVITY_TYPE:
|
||||||
self._notif_service = service
|
self._notif_service = service
|
||||||
elif service.get_type() == LocalModel.SERVICE_TYPE:
|
elif service.get_type() == LocalModel.SERVICE_TYPE:
|
||||||
@ -110,8 +105,18 @@ class BrowserActivity(activity.Activity):
|
|||||||
|
|
||||||
vbox.show()
|
vbox.show()
|
||||||
|
|
||||||
|
logging.debug('Start presence service')
|
||||||
|
self._pservice = PresenceService.get_instance()
|
||||||
|
self._pservice.start()
|
||||||
|
|
||||||
|
logging.debug('Track browser activities')
|
||||||
|
self._pservice.connect('service-appeared', self._service_appeared_cb)
|
||||||
|
self._pservice.track_service_type(_BROWSER_ACTIVITY_TYPE)
|
||||||
|
self._pservice.track_service_type(LocalModel.SERVICE_TYPE)
|
||||||
|
|
||||||
# Join the shared activity if we were started from one
|
# Join the shared activity if we were started from one
|
||||||
if self._initial_service:
|
if self._initial_service:
|
||||||
|
logging.debug("BrowserActivity joining shared activity %s" % self._initial_service.get_activity_uid())
|
||||||
self._pservice.join_shared_activity(self._initial_service)
|
self._pservice.join_shared_activity(self._initial_service)
|
||||||
|
|
||||||
def get_embed(self):
|
def get_embed(self):
|
||||||
|
Loading…
Reference in New Issue
Block a user