protocol: agl-shell-desktop: Send notification for application state change
[src/agl-compositor.git] / src / policy-default.c
index bcfee6b..16c8b2d 100644 (file)
@@ -57,6 +57,13 @@ ivi_policy_default_surface_activate(struct ivi_surface *surf, void *user_data)
        return true;
 }
 
+static bool
+ivi_policy_default_surface_deactivate(struct ivi_surface *surf, void *user_data)
+{
+       /* verify that the surface should be de-activated to */
+       return true;
+}
+
 static bool
 ivi_policy_default_surface_activate_default(struct ivi_surface *surf, void *user_data)
 {
@@ -85,7 +92,7 @@ ivi_policy_default_try_event(struct ivi_a_policy *a_policy)
                ivi_layout_activate(a_policy->output, a_policy->app_id);
                break;
        case AGL_SHELL_POLICY_EVENT_HIDE:
-               /* FIXME: remove the active one, like basically unmap it? */
+               ivi_layout_deactivate(a_policy->policy->ivi, a_policy->app_id);
        default:
                break;
        }
@@ -96,6 +103,7 @@ static const struct ivi_policy_api policy_api = {
        .surface_create = ivi_policy_default_surface_create,
        .surface_commited = ivi_policy_default_surface_commmited,
        .surface_activate = ivi_policy_default_surface_activate,
+       .surface_deactivate = ivi_policy_default_surface_deactivate,
        .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,