If HomeScreen comes after Launcher is launched, HomeScreen
will miss all app's icons.
This hack is for resolving the race condition between
HomeScreen and Launcher when system booting.
Time of delay can be adjust by environment variable,
'HMI_LAUNCHER_STARTUP_DELAY'. The default delay time is 1 sec.
Bug-AGL: SPEC-1471
Change-Id: Ied744c3e322203e66dd17d68dd783ad8f5cd3880
Signed-off-by: Tadao Tanikawa <tanikawa.tadao@jp.panasonic.com>
#include <QtQml/QQmlContext>
#include <QtQml/qqml.h>
#include <QQuickWindow>
#include <QtQml/QQmlContext>
#include <QtQml/qqml.h>
#include <QQuickWindow>
#include <qlibwindowmanager.h>
#include "applicationlauncher.h"
#include <qlibwindowmanager.h>
#include "applicationlauncher.h"
query.addQueryItem(QStringLiteral("token"), token);
bindingAddress.setQuery(query);
query.addQueryItem(QStringLiteral("token"), token);
bindingAddress.setQuery(query);
+ const QByteArray hack_delay = qgetenv("HMI_LAUNCHER_STARTUP_DELAY");
+ int delay_time = 1;
+
+ if (!hack_delay.isEmpty()) {
+ delay_time = (QString::fromLocal8Bit(hack_delay)).toInt();
+ }
+
+ QThread::sleep(delay_time);
+ qDebug("Sleep %d sec to resolve race condtion between HomeScreen and Launcher", delay_time);
+
// mail.qml loading
QQmlApplicationEngine engine;
engine.rootContext()->setContextProperty("layoutHandler", layoutHandler);
// mail.qml loading
QQmlApplicationEngine engine;
engine.rootContext()->setContextProperty("layoutHandler", layoutHandler);