-static void
-app_status_callback(::agl_shell_ipc::AppStateResponse app_response)
-{
- std::cout << " >> AppStateResponse app_id " <<
- app_response.app_id() << ", with state " <<
- app_response.state() << std::endl;
+ if (!homescreenHandler) {
+ return;
+ }
+
+ auto app_id = QString(app_response.app_id().c_str());
+ auto state = app_response.state();
+
+ qDebug() << "appstateresponse: app_id " << app_id << "state " << state;
+
+ switch (state) {
+ case AGL_SHELL_APP_STATE_STARTED:
+ qDebug() << "Got AGL_SHELL_APP_STATE_STARTED for app_id " << app_id;
+ homescreenHandler->processAppStatusEvent(app_id, "started");
+ break;
+ case AGL_SHELL_APP_STATE_TERMINATED:
+ qDebug() << "Got AGL_SHELL_APP_STATE_TERMINATED for app_id " << app_id;
+ // handled by HomescreenHandler::processAppStatusEvent
+ break;
+ case AGL_SHELL_APP_STATE_ACTIVATED:
+ qDebug() << "Got AGL_SHELL_APP_STATE_ACTIVATED for app_id " << app_id;
+ homescreenHandler->addAppToStack(app_id);
+ break;
+ case AGL_SHELL_APP_STATE_DEACTIVATED:
+ qDebug() << "Got AGL_SHELL_APP_STATE_DEACTIVATED for app_id " << app_id;
+ homescreenHandler->processAppStatusEvent(app_id, "deactivated");
+ break;
+ default:
+ break;
+ }