Remove our custom launch timeout. The dbus timeout
is enough.
This commit is contained in:
parent
d271e1f481
commit
38c0cf411c
@ -32,11 +32,6 @@ class HomeActivity(gobject.GObject):
|
|||||||
the sugar.activity.* modules extensively in order to
|
the sugar.activity.* modules extensively in order to
|
||||||
accomplish its tasks.
|
accomplish its tasks.
|
||||||
"""
|
"""
|
||||||
__gsignals__ = {
|
|
||||||
'launch-timeout': (gobject.SIGNAL_RUN_FIRST,
|
|
||||||
gobject.TYPE_NONE,
|
|
||||||
([])),
|
|
||||||
}
|
|
||||||
|
|
||||||
def __init__(self, bundle, activity_id):
|
def __init__(self, bundle, activity_id):
|
||||||
"""Initialise the HomeActivity
|
"""Initialise the HomeActivity
|
||||||
@ -56,34 +51,14 @@ class HomeActivity(gobject.GObject):
|
|||||||
self._bundle = bundle
|
self._bundle = bundle
|
||||||
|
|
||||||
self._launch_time = time.time()
|
self._launch_time = time.time()
|
||||||
self._launched = False
|
|
||||||
self._launch_timeout_id = gobject.timeout_add(
|
|
||||||
20000, self._launch_timeout_cb)
|
|
||||||
|
|
||||||
logging.debug("Activity %s (%s) launching..." %
|
logging.debug("Activity %s (%s) launching..." %
|
||||||
(self._activity_id, self.get_type()))
|
(self._activity_id, self.get_type()))
|
||||||
|
|
||||||
def __del__(self):
|
|
||||||
gobject.source_remove(self._launch_timeout_id)
|
|
||||||
self._launch_timeout_id = 0
|
|
||||||
|
|
||||||
def _launch_timeout_cb(self, user_data=None):
|
|
||||||
"""Callback for launch operation timeouts
|
|
||||||
"""
|
|
||||||
logging.debug("Activity %s (%s) launch timed out" %
|
|
||||||
(self._activity_id, self.get_type()))
|
|
||||||
self._launch_timeout_id = 0
|
|
||||||
self.emit('launch-timeout')
|
|
||||||
return False
|
|
||||||
|
|
||||||
def set_window(self, window):
|
def set_window(self, window):
|
||||||
"""An activity is 'launched' once we get its window."""
|
"""An activity is 'launched' once we get its window."""
|
||||||
logging.debug("Activity %s (%s) finished launching" %
|
logging.debug("Activity %s (%s) finished launching" %
|
||||||
(self._activity_id, self.get_type()))
|
(self._activity_id, self.get_type()))
|
||||||
self._launched = True
|
|
||||||
gobject.source_remove(self._launch_timeout_id)
|
|
||||||
self._launch_timeout_id = 0
|
|
||||||
|
|
||||||
if self._window or self._xid:
|
if self._window or self._xid:
|
||||||
raise RuntimeError("Activity is already launched!")
|
raise RuntimeError("Activity is already launched!")
|
||||||
if not window:
|
if not window:
|
||||||
@ -106,8 +81,6 @@ class HomeActivity(gobject.GObject):
|
|||||||
|
|
||||||
def get_title(self):
|
def get_title(self):
|
||||||
"""Retrieve the application's root window's suggested title"""
|
"""Retrieve the application's root window's suggested title"""
|
||||||
if not self._launched:
|
|
||||||
raise RuntimeError("Activity is still launching.")
|
|
||||||
return self._window.get_name()
|
return self._window.get_name()
|
||||||
|
|
||||||
def get_icon_name(self):
|
def get_icon_name(self):
|
||||||
@ -140,8 +113,6 @@ class HomeActivity(gobject.GObject):
|
|||||||
|
|
||||||
def get_xid(self):
|
def get_xid(self):
|
||||||
"""Retrieve the X-windows ID of our root window"""
|
"""Retrieve the X-windows ID of our root window"""
|
||||||
if not self._launched:
|
|
||||||
raise RuntimeError("Activity is still launching.")
|
|
||||||
return self._xid
|
return self._xid
|
||||||
|
|
||||||
def get_window(self):
|
def get_window(self):
|
||||||
@ -156,8 +127,6 @@ class HomeActivity(gobject.GObject):
|
|||||||
activity to determine to which HomeActivity the newly
|
activity to determine to which HomeActivity the newly
|
||||||
launched window belongs.
|
launched window belongs.
|
||||||
"""
|
"""
|
||||||
if not self._launched:
|
|
||||||
raise RuntimeError("Activity is still launching.")
|
|
||||||
return self._window
|
return self._window
|
||||||
|
|
||||||
def get_type(self):
|
def get_type(self):
|
||||||
@ -166,8 +135,6 @@ class HomeActivity(gobject.GObject):
|
|||||||
|
|
||||||
def get_shared(self):
|
def get_shared(self):
|
||||||
"""Return whether this activity is using Presence service sharing"""
|
"""Return whether this activity is using Presence service sharing"""
|
||||||
if not self._launched:
|
|
||||||
raise RuntimeError("Activity is still launching.")
|
|
||||||
return self._service.get_shared()
|
return self._service.get_shared()
|
||||||
|
|
||||||
def get_launch_time(self):
|
def get_launch_time(self):
|
||||||
@ -177,7 +144,3 @@ class HomeActivity(gobject.GObject):
|
|||||||
(seconds since the epoch)
|
(seconds since the epoch)
|
||||||
"""
|
"""
|
||||||
return self._launch_time
|
return self._launch_time
|
||||||
|
|
||||||
def get_launched(self):
|
|
||||||
"""Return whether we have bound our top-level window yet"""
|
|
||||||
return self._launched
|
|
||||||
|
@ -134,7 +134,7 @@ class HomeModel(gobject.GObject):
|
|||||||
|
|
||||||
def _get_activity_by_xid(self, xid):
|
def _get_activity_by_xid(self, xid):
|
||||||
for act in self._activities.values():
|
for act in self._activities.values():
|
||||||
if act.get_launched() and act.get_xid() == xid:
|
if act.get_xid() == xid:
|
||||||
return act
|
return act
|
||||||
return None
|
return None
|
||||||
|
|
||||||
@ -164,13 +164,8 @@ class HomeModel(gobject.GObject):
|
|||||||
xid = window.get_xid()
|
xid = window.get_xid()
|
||||||
act = self._get_activity_by_xid(window.get_xid())
|
act = self._get_activity_by_xid(window.get_xid())
|
||||||
if act:
|
if act:
|
||||||
if act.get_launched() == True:
|
self._notify_activity_activation(self._current_activity, act)
|
||||||
self._notify_activity_activation(self._current_activity, act)
|
self._current_activity = act
|
||||||
self._current_activity = act
|
|
||||||
else:
|
|
||||||
self._notify_activity_activation(self._current_activity, None)
|
|
||||||
self._current_activity = None
|
|
||||||
logging.error('Activity for window %d was not yet launched.' % xid)
|
|
||||||
else:
|
else:
|
||||||
self._notify_activity_activation(self._current_activity, None)
|
self._notify_activity_activation(self._current_activity, None)
|
||||||
self._current_activity = None
|
self._current_activity = None
|
||||||
@ -244,18 +239,11 @@ class HomeModel(gobject.GObject):
|
|||||||
else:
|
else:
|
||||||
logging.error('Model for window %d does not exist.' % xid)
|
logging.error('Model for window %d does not exist.' % xid)
|
||||||
|
|
||||||
def _activity_launch_timeout_cb(self, activity):
|
|
||||||
act_id = activity.get_activity_id()
|
|
||||||
if not act_id in self._activities.keys():
|
|
||||||
return
|
|
||||||
self._internal_remove_activity(activity)
|
|
||||||
|
|
||||||
def notify_activity_launch(self, activity_id, service_name):
|
def notify_activity_launch(self, activity_id, service_name):
|
||||||
bundle = self._bundle_registry.get_bundle(service_name)
|
bundle = self._bundle_registry.get_bundle(service_name)
|
||||||
if not bundle:
|
if not bundle:
|
||||||
raise ValueError("Activity service name '%s' was not found in the bundle registry." % service_name)
|
raise ValueError("Activity service name '%s' was not found in the bundle registry." % service_name)
|
||||||
activity = HomeActivity(bundle, activity_id)
|
activity = HomeActivity(bundle, activity_id)
|
||||||
activity.connect('launch-timeout', self._activity_launch_timeout_cb)
|
|
||||||
self._activities[activity_id] = activity
|
self._activities[activity_id] = activity
|
||||||
self.emit('activity-launched', activity)
|
self.emit('activity-launched', activity)
|
||||||
|
|
||||||
|
@ -55,8 +55,5 @@ class HomeRawWindow(object):
|
|||||||
def get_shared(self):
|
def get_shared(self):
|
||||||
return False
|
return False
|
||||||
|
|
||||||
def get_launched(self):
|
|
||||||
return True
|
|
||||||
|
|
||||||
def get_launch_time(self):
|
def get_launch_time(self):
|
||||||
return self._launch_time
|
return self._launch_time
|
||||||
|
@ -70,8 +70,6 @@ class Shell(gobject.GObject):
|
|||||||
def _activity_removed_cb(self, home_model, home_activity):
|
def _activity_removed_cb(self, home_model, home_activity):
|
||||||
if home_activity.get_type() in self._activities_starting:
|
if home_activity.get_type() in self._activities_starting:
|
||||||
self._activities_starting.remove(home_activity.get_type())
|
self._activities_starting.remove(home_activity.get_type())
|
||||||
if not home_activity.get_launched():
|
|
||||||
return
|
|
||||||
xid = home_activity.get_xid()
|
xid = home_activity.get_xid()
|
||||||
if self._hosts.has_key(xid):
|
if self._hosts.has_key(xid):
|
||||||
self._hosts[xid].destroy()
|
self._hosts[xid].destroy()
|
||||||
|
Loading…
Reference in New Issue
Block a user