-void HomescreenHandler::onEv_static(const string& event, struct json_object* event_contents)
-{
- static_cast<HomescreenHandler*>(HomescreenHandler::myThis)->onEv(event, event_contents);
+ if (application_id == LAUNCHER_APP_ID)
+ goto activate_app;
+
+ reply = applaunch_iface->start(application_id);
+ reply.waitForFinished();
+
+ if (reply.isError()) {
+ HMI_ERROR("HomeScreen","Unable to start application '%s': %s",
+ application_id.toStdString().c_str(),
+ reply.error().message().toStdString().c_str());
+ return;
+ }
+
+activate_app:
+ if (mp_launcher) {
+ mp_launcher->setCurrent(application_id);
+ }
+ appStarted(application_id);