X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=homescreen%2Fsrc%2Fapplicationlauncher.cpp;h=6bb072919a50556c1949f71ab67cb5053bf4ca6b;hb=b2c08ec4a30e5acf3cb1851f71bda88bc542f7d1;hp=559a93ca7738dfe98e7ffcb4605ce3d3206d64fd;hpb=73837973a94aaae5128953fc69835447face8d98;p=apps%2Fhomescreen.git diff --git a/homescreen/src/applicationlauncher.cpp b/homescreen/src/applicationlauncher.cpp index 559a93c..6bb0729 100644 --- a/homescreen/src/applicationlauncher.cpp +++ b/homescreen/src/applicationlauncher.cpp @@ -1,6 +1,7 @@ /* * Copyright (C) 2016 The Qt Company Ltd. * Copyright (C) 2016, 2017 Mentor Graphics Development (Deutschland) GmbH + * Copyright (c) 2017 TOYOTA MOTOR CORPORATION * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,32 +16,43 @@ * limitations under the License. */ -#include "applicationlauncher.h" - -#include "afm_user_daemon_proxy.h" +#include -#include +#include "applicationlauncher.h" -extern org::AGL::afm::user *afm_user_daemon_proxy; +#include "hmi-debug.h" ApplicationLauncher::ApplicationLauncher(QObject *parent) : QObject(parent) + , m_launching(false) + , m_timeout(new QTimer(this)) { + m_timeout->setInterval(3000); + m_timeout->setSingleShot(true); + connect(m_timeout, &QTimer::timeout, [&]() { + setLaunching(false); + }); + connect(this, &ApplicationLauncher::launchingChanged, [&](bool launching) { + if (launching) + m_timeout->start(); + else + m_timeout->stop(); + }); + connect(this, &ApplicationLauncher::currentChanged, [&]() { + setLaunching(false); + }); } -int ApplicationLauncher::launch(const QString &application) +bool ApplicationLauncher::isLaunching() const { - int result = -1; - qDebug() << "launch" << application; - - result = afm_user_daemon_proxy->start(application).value().toInt(); - qDebug() << "pid:" << result; - - if (result > 1) { - setCurrent(application); - } + return m_launching; +} - return result; +void ApplicationLauncher::setLaunching(bool launching) +{ + if (m_launching == launching) return; + m_launching = launching; + launchingChanged(launching); } QString ApplicationLauncher::current() const