output = surf->desktop.pending_output;
if (!output) {
struct ivi_output *ivi_bg_output;
+ struct ivi_policy *policy = surf->ivi->policy;
+
+ if (policy && policy->api.surface_activate_by_default)
+ if (policy->api.surface_activate_by_default(surf, surf->ivi))
+ goto skip_config_check;
- /* FIXME: This should be changed to determine if the policy
- * database allows that to happen */
if (!surf->ivi->quirks.activate_apps_by_default)
return;
-
+skip_config_check:
ivi_bg_output = ivi_layout_find_bg_output(surf->ivi);
/* use the output of the bg to activate the app on start-up by
return true;
}
+static bool
+ivi_policy_default_surface_activate_default(struct ivi_surface *surf, void *user_data)
+{
+ /* verify that the surface should be switched to */
+ return true;
+}
+
static bool
ivi_policy_default_allow_to_add(void *user_data)
{
.surface_create = ivi_policy_default_surface_create,
.surface_commited = ivi_policy_default_surface_commmited,
.surface_activate = ivi_policy_default_surface_activate,
+ .surface_activate_by_default = ivi_policy_default_surface_activate_default,
.policy_rule_allow_to_add = ivi_policy_default_allow_to_add,
.policy_rule_try_event = ivi_policy_default_try_event,
};