mmi_manager_event_state_change *ev = (mmi_manager_event_state_change *)event;
- //TODO : actually change state of given client
-
arg.type = MMI_EVENT_STATE_CHANGE_TYPE_STATE_CHANGE;
arg.timestamp = ecore_time_get();
arg.state = ev->to_state;
if (ev->client)
{
+ if (ev->to_state != client_manager_set_client_state(ev->client, ev->to_state))
+ {
+ LOGE("Failed to set client state ! (client:%p, state=%d)\n",
+ ev->client, ev->to_state);
+ return ECORE_CALLBACK_PASS_ON;
+ }
+
r = client_manager_send_state_change_event(ev->client, &arg);
if (r)
LOGE("Failed to send state cnahnge event(=%d) to client(%p) !\n",
MMI_EVENT_STATE_CHANGE_TYPE_STATE_CHANGE, ev->client);
}
+ else
+ {
+ LOGE("Abnormal state change event ! (No client info !)\n");
+ return ECORE_CALLBACK_PASS_ON;
+ }
LOGI("State of client(%p) has been changed. (%d->%d)\n", ev->client, ev->from_state, ev->to_state);