Remove activities from donut after not succesfully launched after 1.5min, #4612
This commit is contained in:
parent
82e61c6747
commit
b876648bd6
@ -263,6 +263,10 @@ class HomeModel(gobject.GObject):
|
|||||||
home_activity.props.launching = True
|
home_activity.props.launching = True
|
||||||
self._add_activity(home_activity)
|
self._add_activity(home_activity)
|
||||||
|
|
||||||
|
# FIXME: better learn about finishing processes by receiving a signal.
|
||||||
|
# Now just check whether an activity has a window after ~90sec
|
||||||
|
gobject.timeout_add(90000, self._check_activity_launched, activity_id)
|
||||||
|
|
||||||
def notify_activity_launch_failed(self, activity_id):
|
def notify_activity_launch_failed(self, activity_id):
|
||||||
home_activity = self._get_activity_by_id(activity_id)
|
home_activity = self._get_activity_by_id(activity_id)
|
||||||
if home_activity:
|
if home_activity:
|
||||||
@ -270,3 +274,9 @@ class HomeModel(gobject.GObject):
|
|||||||
self._remove_activity(home_activity)
|
self._remove_activity(home_activity)
|
||||||
else:
|
else:
|
||||||
logging.error('Model for activity id %s does not exist.' % activity_id)
|
logging.error('Model for activity id %s does not exist.' % activity_id)
|
||||||
|
|
||||||
|
def _check_activity_launched(self, activity_id):
|
||||||
|
home_activity = self._get_activity_by_id(activity_id)
|
||||||
|
if home_activity and home_activity.props.launching:
|
||||||
|
logging.debug('Activity %s still launching, assuming it failed...', activity_id)
|
||||||
|
self.notify_activity_launch_failed(activity_id)
|
||||||
|
Loading…
Reference in New Issue
Block a user