diff options
author | Daniel d'Andrada <daniel.dandrada@luxoft.com> | 2018-03-05 11:21:44 +0100 |
---|---|---|
committer | Robert Griebl <robert.griebl@pelagicore.com> | 2018-03-08 13:50:34 +0000 |
commit | ef205ede81ecab188b40b594eaf4865b35a19ae3 (patch) | |
tree | 9d44a4099a05160fb9f7b8909905e667d28705e3 | |
parent | 5581e400c95a1ff736c55c9d93bd451302970c11 (diff) | |
download | qtapplicationmanager-ef205ede81ecab188b40b594eaf4865b35a19ae3.tar.gz |
Move RunState API from ApplicationManager to Application
In order to have a more object-oriented API
Change-Id: I61487aef3a1ea85fe046427eba39473dc4f65ddb
Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
-rw-r--r-- | src/application-lib/application.cpp | 47 | ||||
-rw-r--r-- | src/application-lib/application.h | 16 | ||||
-rw-r--r-- | src/application-lib/yamlapplicationscanner.cpp | 2 | ||||
-rw-r--r-- | src/dbus-lib/applicationmanagerdbuscontextadaptor.cpp | 2 | ||||
-rw-r--r-- | src/manager-lib/applicationmanager.cpp | 43 | ||||
-rw-r--r-- | src/manager-lib/applicationmanager.h | 16 | ||||
-rw-r--r-- | src/monitor-lib/processmonitor_p.cpp | 4 | ||||
-rw-r--r-- | src/monitor-lib/processmonitor_p.h | 2 | ||||
-rwxr-xr-x | tests/qml/simple/tst_applicationmanager.qml | 60 | ||||
-rw-r--r-- | tests/qml/windowmapping/tst_windowmapping.qml | 11 |
10 files changed, 126 insertions, 77 deletions
diff --git a/src/application-lib/application.cpp b/src/application-lib/application.cpp index 4bb5522e..08e1bb15 100644 --- a/src/application-lib/application.cpp +++ b/src/application-lib/application.cpp @@ -244,6 +244,21 @@ \endlist */ /*! + \qmlproperty enumeration Application::runState + \readonly + + This property holds the current run state of the application. It can be one of: + + \list + \li Application.NotRunning - the application has not been started yet + \li Application.StartingUp - the application has been started and is initializing + \li Application.Running - the application is running + \li Application.ShuttingDown - the application has been stopped and is cleaning up (in + multi-process mode this signal is only emitted if the + application terminates gracefully) + \endlist +*/ +/*! \qmlsignal Application::activated() This signal is emitted when the application is started or when it's already running but has @@ -639,6 +654,9 @@ void Application::setCurrentRuntime(AbstractRuntime *rt) const else m_runtime = rt; emit runtimeChanged(); + + if (!rt) + setRunState(Application::NotRunning); } bool Application::isBlocked() const @@ -661,11 +679,38 @@ Application::State Application::state() const return m_nonAliased ? m_nonAliased->m_state : m_state; } +Application::RunState Application::runState() const +{ + return m_nonAliased ? m_nonAliased->m_runState : m_runState; +} + +void Application::setRunState(Application::RunState runState) const +{ + if (m_nonAliased) + m_nonAliased->setRunState(runState); + else + if (runState != m_runState) { + m_runState = runState; + emit runStateChanged(m_runState); + } +} + qreal Application::progress() const { return m_nonAliased ? m_nonAliased->m_progress : m_progress; } +void Application::setNonAliased(const Application *otherApp) +{ + if (m_nonAliased) + disconnect(m_nonAliased, 0, this, 0); + + m_nonAliased = otherApp; + + if (m_nonAliased) + connect(m_nonAliased, &Application::runStateChanged, this, &Application::runStateChanged); +} + Application *Application::readFromDataStream(QDataStream &ds, const QVector<const Application *> &applicationDatabase) Q_DECL_NOEXCEPT_EXPR(false) { QScopedPointer<Application> app(new Application); @@ -724,7 +769,7 @@ Application *Application::readFromDataStream(QDataStream &ds, const QVector<cons bool found = false; for (const Application *otherApp : applicationDatabase) { if (otherApp->id() == baseId) { - app->m_nonAliased = otherApp; + app->setNonAliased(otherApp); found = true; break; } diff --git a/src/application-lib/application.h b/src/application-lib/application.h index 1bd6fed8..34839484 100644 --- a/src/application-lib/application.h +++ b/src/application-lib/application.h @@ -86,11 +86,20 @@ class Application : public QObject Q_PROPERTY(bool supportsApplicationInterface READ supportsApplicationInterface NOTIFY bulkChange) Q_PROPERTY(QString codeDir READ codeDir NOTIFY bulkChange) Q_PROPERTY(State state READ state NOTIFY stateChanged) + Q_PROPERTY(RunState runState READ runState NOTIFY runStateChanged) public: enum ExitStatus { NormalExit, CrashExit, ForcedExit }; Q_ENUM(ExitStatus) + enum RunState { + NotRunning, + StartingUp, + Running, + ShuttingDown, + }; + Q_ENUM(RunState) + QString id() const; int uniqueNumber() const; QString absoluteCodeFilePath() const; @@ -161,6 +170,8 @@ public: Q_ENUM(State) qreal progress() const; + RunState runState() const; + void setSupportsApplicationInterface(bool supportsAppInterface); void setCodeDir(const QString &path); void setManifestDir(const QString &path); @@ -178,9 +189,12 @@ signals: void lastExitStatusChanged() const; void activated() const; void stateChanged(State state) const; + void runStateChanged(RunState state) const; private: Application(); + void setRunState(Application::RunState) const; + void setNonAliased(const Application *); // static part from info.json QString m_id; @@ -224,6 +238,7 @@ private: mutable QAtomicInt m_mounted; mutable State m_state = Installed; + mutable RunState m_runState = NotRunning; mutable qreal m_progress = 0; mutable int m_lastExitCode = 0; @@ -243,5 +258,6 @@ private: QT_END_NAMESPACE_AM Q_DECLARE_METATYPE(const QT_PREPEND_NAMESPACE_AM(Application *)) +Q_DECLARE_METATYPE(QT_PREPEND_NAMESPACE_AM(Application::RunState)) QDebug operator<<(QDebug debug, const QT_PREPEND_NAMESPACE_AM(Application) *app); diff --git a/src/application-lib/yamlapplicationscanner.cpp b/src/application-lib/yamlapplicationscanner.cpp index 139b58f8..80d4b919 100644 --- a/src/application-lib/yamlapplicationscanner.cpp +++ b/src/application-lib/yamlapplicationscanner.cpp @@ -128,7 +128,7 @@ Application *YamlApplicationScanner::scanInternal(const QString &filePath, bool throw Exception(Error::Parse, "aliasId '%1' does not match base application id '%2'") .arg(app->m_id, application->id()); } - app->m_nonAliased = application; + app->setNonAliased(application); } } else if (field == "icon") { app->m_icon = v.toString(); diff --git a/src/dbus-lib/applicationmanagerdbuscontextadaptor.cpp b/src/dbus-lib/applicationmanagerdbuscontextadaptor.cpp index 2b7c58fe..98c257d9 100644 --- a/src/dbus-lib/applicationmanagerdbuscontextadaptor.cpp +++ b/src/dbus-lib/applicationmanagerdbuscontextadaptor.cpp @@ -85,7 +85,7 @@ ApplicationManagerAdaptor::ApplicationManagerAdaptor(QObject *parent) // connect this signal via a lambda, since it needs a type conversion connect(am, &ApplicationManager::applicationRunStateChanged, - this, [this](const QString &id, ApplicationManager::RunState runState) { + this, [this](const QString &id, Application::RunState runState) { emit applicationRunStateChanged(id, runState); }); } diff --git a/src/manager-lib/applicationmanager.cpp b/src/manager-lib/applicationmanager.cpp index 91c01f62..71b1ce4b 100644 --- a/src/manager-lib/applicationmanager.cpp +++ b/src/manager-lib/applicationmanager.cpp @@ -250,15 +250,6 @@ This signal is emitted when the \a runState of the application identified by \a id changed. The \a runState can be one of: - \list - \li ApplicationManager.NotRunning - the application has not been started yet - \li ApplicationManager.StartingUp - the application has been started and is initializing - \li ApplicationManager.Running - the application is running - \li ApplicationManager.ShuttingDown - the application has been stopped and is cleaning up (in - multi-process mode this signal is only emitted if the - application terminates gracefully) - \endlist - For example this signal can be used to restart an application in multi-process mode when it has crashed: @@ -273,6 +264,8 @@ } } \endqml + + See also Application::runState */ /*! @@ -340,13 +333,13 @@ enum Roles QT_BEGIN_NAMESPACE_AM -static ApplicationManager::RunState runtimeToManagerState(AbstractRuntime::State rtState) +static Application::RunState runtimeToApplicationRunState(AbstractRuntime::State rtState) { switch (rtState) { - case AbstractRuntime::Startup: return ApplicationManager::StartingUp; - case AbstractRuntime::Active: return ApplicationManager::Running; - case AbstractRuntime::Shutdown: return ApplicationManager::ShuttingDown; - default: return ApplicationManager::NotRunning; + case AbstractRuntime::Startup: return Application::StartingUp; + case AbstractRuntime::Active: return Application::Running; + case AbstractRuntime::Shutdown: return Application::ShuttingDown; + default: return Application::NotRunning; } } @@ -421,6 +414,7 @@ ApplicationManager *ApplicationManager::createInstance(ApplicationDatabase *adb, qmlRegisterUncreatableType<AbstractContainer>("QtApplicationManager", 1, 0, "Container", qSL("Cannot create objects of type Container")); qRegisterMetaType<AbstractContainer*>("AbstractContainer*"); + qRegisterMetaType<Application::RunState>("Application::RunState"); return s_instance = am.take(); } @@ -780,7 +774,7 @@ bool ApplicationManager::startApplication(const Application *app, const QString return false; } - connect(runtime, &AbstractRuntime::stateChanged, this, [this, app](AbstractRuntime::State newState) { + connect(runtime, &AbstractRuntime::stateChanged, this, [this, app](AbstractRuntime::State newRuntimeState) { QVector<const Application *> apps; //Always emit the actual starting app/alias first apps.append(app); @@ -798,8 +792,12 @@ bool ApplicationManager::startApplication(const Application *app, const QString apps.append(alias); } + Application::RunState newRunState = runtimeToApplicationRunState(newRuntimeState); + + nonAliasedApp->setRunState(newRunState); + for (const Application *app : qAsConst(apps)) { - emit applicationRunStateChanged(app->id(), runtimeToManagerState(newState)); + emit applicationRunStateChanged(app->id(), newRunState); emitDataChanged(app, QVector<int> { IsRunning, IsStartingUp, IsShuttingDown }); } }); @@ -1341,8 +1339,8 @@ void ApplicationManager::preload() else QMetaObject::invokeMethod(qApp, "shutDown", Qt::DirectConnection, Q_ARG(int, 1)); } else if (singleAppMode) { - connect(this, &ApplicationManager::applicationRunStateChanged, [app](const QString &id, ApplicationManager::RunState runState) { - if ((id == app->id()) && (runState == NotRunning)) { + connect(this, &ApplicationManager::applicationRunStateChanged, [app](const QString &id, Application::RunState runState) { + if ((id == app->id()) && (runState == Application::NotRunning)) { QMetaObject::invokeMethod(qApp, "shutDown", Qt::DirectConnection, Q_ARG(int, app->lastExitCode())); } @@ -1617,17 +1615,14 @@ QVariantMap ApplicationManager::get(const QString &id) const return map; } -ApplicationManager::RunState ApplicationManager::applicationRunState(const QString &id) const +Application::RunState ApplicationManager::applicationRunState(const QString &id) const { int index = indexOfApplication(id); if (index < 0) { qCWarning(LogSystem) << "invalid index:" << index; - return NotRunning; + return Application::NotRunning; } - const Application *app = d->apps.at(index); - if (!app->currentRuntime()) - return NotRunning; - return runtimeToManagerState(app->currentRuntime()->state()); + return d->apps.at(index)->runState(); } QT_END_NAMESPACE_AM diff --git a/src/manager-lib/applicationmanager.h b/src/manager-lib/applicationmanager.h index ffb7125d..e4e76aac 100644 --- a/src/manager-lib/applicationmanager.h +++ b/src/manager-lib/applicationmanager.h @@ -47,6 +47,7 @@ #include <QProcess> #include <QJSValue> #include <QtAppManCommon/global.h> +#include <QtAppManApplication/application.h> QT_FORWARD_DECLARE_CLASS(QDir) QT_FORWARD_DECLARE_CLASS(QQmlEngine) @@ -54,7 +55,6 @@ QT_FORWARD_DECLARE_CLASS(QJSEngine) QT_BEGIN_NAMESPACE_AM -class Application; class ApplicationDatabase; class ApplicationManagerPrivate; class AbstractRuntime; @@ -76,14 +76,6 @@ class ApplicationManager : public QAbstractListModel Q_PROPERTY(QJSValue containerSelectionFunction READ containerSelectionFunction WRITE setContainerSelectionFunction NOTIFY containerSelectionFunctionChanged) public: - enum RunState { - NotRunning, - StartingUp, - Running, - ShuttingDown, - }; - Q_ENUM(RunState) - ~ApplicationManager(); static ApplicationManager *createInstance(ApplicationDatabase *adb, bool singleProcess, QString *error); static ApplicationManager *instance(); @@ -142,13 +134,13 @@ public: Q_SCRIPTABLE bool openUrl(const QString &url); Q_SCRIPTABLE QStringList capabilities(const QString &id) const; Q_SCRIPTABLE QString identifyApplication(qint64 pid) const; - Q_SCRIPTABLE RunState applicationRunState(const QString &id) const; + Q_SCRIPTABLE QT_PREPEND_NAMESPACE_AM(Application::RunState) applicationRunState(const QString &id) const; public slots: void shutDown(); signals: - Q_SCRIPTABLE void applicationRunStateChanged(const QString &id, QT_PREPEND_NAMESPACE_AM(ApplicationManager::RunState) runState); + Q_SCRIPTABLE void applicationRunStateChanged(const QString &id, QT_PREPEND_NAMESPACE_AM(Application::RunState) runState); Q_SCRIPTABLE void applicationWasActivated(const QString &id, const QString &aliasId); Q_SCRIPTABLE void countChanged(); @@ -201,5 +193,3 @@ private: }; QT_END_NAMESPACE_AM - -Q_DECLARE_METATYPE(QT_PREPEND_NAMESPACE_AM(ApplicationManager::RunState)) diff --git a/src/monitor-lib/processmonitor_p.cpp b/src/monitor-lib/processmonitor_p.cpp index 3ce11809..0535da54 100644 --- a/src/monitor-lib/processmonitor_p.cpp +++ b/src/monitor-lib/processmonitor_p.cpp @@ -425,9 +425,9 @@ ProcessMonitorPrivate::~ProcessMonitorPrivate() thread.wait(); } -void ProcessMonitorPrivate::appRuntimeChanged(const QString &id, ApplicationManager::RunState state) +void ProcessMonitorPrivate::appRuntimeChanged(const QString &id, Application::RunState state) { - if (id == appId && (state == ApplicationManager::Running || state == ApplicationManager::NotRunning)) + if (id == appId && (state == Application::Running || state == Application::NotRunning)) determinePid(); } diff --git a/src/monitor-lib/processmonitor_p.h b/src/monitor-lib/processmonitor_p.h index 3d7fb9a7..f2d012c8 100644 --- a/src/monitor-lib/processmonitor_p.h +++ b/src/monitor-lib/processmonitor_p.h @@ -224,7 +224,7 @@ signals: public slots: void readingUpdate(); - void appRuntimeChanged(const QString &id, ApplicationManager::RunState state); + void appRuntimeChanged(const QString &id, Application::RunState state); #if defined(AM_MULTI_PROCESS) && !defined(AM_HEADLESS) void applicationWindowClosing(int index, QQuickItem *window); #endif diff --git a/tests/qml/simple/tst_applicationmanager.qml b/tests/qml/simple/tst_applicationmanager.qml index 90f00e07..9675cf55 100755 --- a/tests/qml/simple/tst_applicationmanager.qml +++ b/tests/qml/simple/tst_applicationmanager.qml @@ -331,7 +331,7 @@ TestCase { verify(runStateChangedSpy.count) compare(runStateChangedSpy.signalArguments[0][0], id) compare(runStateChangedSpy.signalArguments[0][1], state) - compare(ApplicationManager.applicationRunState(id), state); + compare(ApplicationManager.application(id).runState, state); runStateChangedSpy.clear(); } @@ -346,7 +346,7 @@ TestCase { } function test_startAndStopApplication(data) { - compare(ApplicationManager.applicationRunState(data.appId), ApplicationManager.NotRunning); + compare(ApplicationManager.application(data.appId).runState, AppMan.Application.NotRunning); var started = false; if (data.tag === "Debug") { @@ -362,23 +362,23 @@ TestCase { } verify(started); - checkApplicationState(data.appId, ApplicationManager.StartingUp); + checkApplicationState(data.appId, AppMan.Application.StartingUp); listView.currentIndex = data.index; compare(listView.currentItem.modelData.isStartingUp, true) compare(listView.currentItem.modelData.isRunning, false) compare(listView.currentItem.modelData.isShuttingDown, false) - checkApplicationState(data.appId, ApplicationManager.Running); + checkApplicationState(data.appId, AppMan.Application.Running); compare(listView.currentItem.modelData.isStartingUp, false) compare(listView.currentItem.modelData.isRunning, true) compare(listView.currentItem.modelData.isShuttingDown, false) ApplicationManager.stopApplication(data.appId, data.forceKill); - checkApplicationState(data.appId, ApplicationManager.ShuttingDown); + checkApplicationState(data.appId, AppMan.Application.ShuttingDown); compare(listView.currentItem.modelData.isStartingUp, false) compare(listView.currentItem.modelData.isRunning, false) compare(listView.currentItem.modelData.isShuttingDown, true) - checkApplicationState(data.appId, ApplicationManager.NotRunning); + checkApplicationState(data.appId, AppMan.Application.NotRunning); compare(listView.currentItem.modelData.isStartingUp, false) compare(listView.currentItem.modelData.isRunning, false) compare(listView.currentItem.modelData.isShuttingDown, false) @@ -393,8 +393,8 @@ TestCase { } function test_startAndStopAllApplications(data) { - compare(ApplicationManager.applicationRunState(data.appId1), ApplicationManager.NotRunning); - compare(ApplicationManager.applicationRunState(data.appId2), ApplicationManager.NotRunning); + compare(ApplicationManager.application(data.appId1).runState, AppMan.Application.NotRunning); + compare(ApplicationManager.application(data.appId2).runState, AppMan.Application.NotRunning); var started = false; @@ -402,12 +402,12 @@ TestCase { verify(started); - checkApplicationState(data.appId1, ApplicationManager.StartingUp); + checkApplicationState(data.appId1, AppMan.Application.StartingUp); listView.currentIndex = data.index1; compare(listView.currentItem.modelData.isStartingUp, true) compare(listView.currentItem.modelData.isRunning, false) compare(listView.currentItem.modelData.isShuttingDown, false) - checkApplicationState(data.appId1, ApplicationManager.Running); + checkApplicationState(data.appId1, AppMan.Application.Running); compare(listView.currentItem.modelData.isStartingUp, false) compare(listView.currentItem.modelData.isRunning, true) compare(listView.currentItem.modelData.isShuttingDown, false) @@ -415,12 +415,12 @@ TestCase { started = ApplicationManager.startApplication(data.appId2); verify(started); - checkApplicationState(data.appId2, ApplicationManager.StartingUp); + checkApplicationState(data.appId2, AppMan.Application.StartingUp); listView.currentIndex = data.index2; compare(listView.currentItem.modelData.isStartingUp, true) compare(listView.currentItem.modelData.isRunning, false) compare(listView.currentItem.modelData.isShuttingDown, false) - checkApplicationState(data.appId2, ApplicationManager.Running); + checkApplicationState(data.appId2, AppMan.Application.Running); compare(listView.currentItem.modelData.isStartingUp, false) compare(listView.currentItem.modelData.isRunning, true) compare(listView.currentItem.modelData.isShuttingDown, false) @@ -442,7 +442,7 @@ TestCase { // not perfect, but the basic signal sequence is already tested in test_startAndStopApplication verify(id === data.appId1 || id === data.appId2, "id = " + id) - verify(state === ApplicationManager.ShuttingDown || state === ApplicationManager.NotRunning) + verify(state === AppMan.Application.ShuttingDown || state === AppMan.Application.NotRunning) } runStateChangedSpy.clear() } @@ -461,7 +461,7 @@ TestCase { compare(ApplicationManager.get("invalidApplication"), {}); ignoreWarning("invalid index: -1"); - compare(ApplicationManager.applicationRunState("invalidApplication"), ApplicationManager.NotRunning); + compare(ApplicationManager.applicationRunState("invalidApplication"), AppMan.Application.NotRunning); ignoreWarning("Cannot start an invalid application"); verify(!ApplicationManager.startApplication("invalidApplication")) @@ -474,13 +474,13 @@ TestCase { verify(!ApplicationManager.debugApplication(simpleApplication.id, " ")) verify(ApplicationManager.startApplication(simpleApplication.id)); - checkApplicationState(simpleApplication.id, ApplicationManager.StartingUp); - checkApplicationState(simpleApplication.id, ApplicationManager.Running); + checkApplicationState(simpleApplication.id, AppMan.Application.StartingUp); + checkApplicationState(simpleApplication.id, AppMan.Application.Running); ignoreWarning("Application tld.test.simple1 is already running - cannot start with debug-wrapper: %program% %arguments%"); verify(!ApplicationManager.debugApplication(simpleApplication.id, "%program% %arguments%")) ApplicationManager.stopApplication(simpleApplication.id, true); - checkApplicationState(simpleApplication.id, ApplicationManager.ShuttingDown); - checkApplicationState(simpleApplication.id, ApplicationManager.NotRunning); + checkApplicationState(simpleApplication.id, AppMan.Application.ShuttingDown); + checkApplicationState(simpleApplication.id, AppMan.Application.NotRunning); } function test_openUrl_data() { @@ -493,18 +493,18 @@ TestCase { function test_openUrl(data) { verify(ApplicationManager.openUrl(data.url)); - checkApplicationState(data.expectedApp, ApplicationManager.StartingUp); - checkApplicationState(data.expectedApp, ApplicationManager.Running); + checkApplicationState(data.expectedApp, AppMan.Application.StartingUp); + checkApplicationState(data.expectedApp, AppMan.Application.Running); ApplicationManager.stopApplication(data.expectedApp, true); - checkApplicationState(data.expectedApp, ApplicationManager.ShuttingDown); - checkApplicationState(data.expectedApp, ApplicationManager.NotRunning); + checkApplicationState(data.expectedApp, AppMan.Application.ShuttingDown); + checkApplicationState(data.expectedApp, AppMan.Application.NotRunning); Qt.openUrlExternally(data.url); - checkApplicationState(data.expectedApp, ApplicationManager.StartingUp); - checkApplicationState(data.expectedApp, ApplicationManager.Running); + checkApplicationState(data.expectedApp, AppMan.Application.StartingUp); + checkApplicationState(data.expectedApp, AppMan.Application.Running); ApplicationManager.stopApplication(data.expectedApp, true); - checkApplicationState(data.expectedApp, ApplicationManager.ShuttingDown); - checkApplicationState(data.expectedApp, ApplicationManager.NotRunning); + checkApplicationState(data.expectedApp, AppMan.Application.ShuttingDown); + checkApplicationState(data.expectedApp, AppMan.Application.NotRunning); } property bool containerSelectionCalled: false @@ -525,11 +525,11 @@ TestCase { compare(ApplicationManager.containerSelectionFunction, undefined); ApplicationManager.containerSelectionFunction = containerSelection; ApplicationManager.startApplication(simpleApplication.id); - checkApplicationState(simpleApplication.id, ApplicationManager.StartingUp); - checkApplicationState(simpleApplication.id, ApplicationManager.Running); + checkApplicationState(simpleApplication.id, AppMan.Application.StartingUp); + checkApplicationState(simpleApplication.id, AppMan.Application.Running); ApplicationManager.stopApplication(simpleApplication.id, true); - checkApplicationState(simpleApplication.id, ApplicationManager.ShuttingDown); - checkApplicationState(simpleApplication.id, ApplicationManager.NotRunning); + checkApplicationState(simpleApplication.id, AppMan.Application.ShuttingDown); + checkApplicationState(simpleApplication.id, AppMan.Application.NotRunning); verify(containerSelectionCalled); compare(containerSelectionAppId, simpleApplication.id); compare(containerSelectionConId, "process"); diff --git a/tests/qml/windowmapping/tst_windowmapping.qml b/tests/qml/windowmapping/tst_windowmapping.qml index 197199de..a6bbd2c4 100644 --- a/tests/qml/windowmapping/tst_windowmapping.qml +++ b/tests/qml/windowmapping/tst_windowmapping.qml @@ -42,6 +42,7 @@ import QtQuick 2.3 import QtTest 1.0 import QtApplicationManager 1.0 +import QtApplicationManager 1.0 as AppMan // Because there's already an Application object in the global namespace TestCase { id: testCase @@ -105,7 +106,8 @@ TestCase { function cleanup() { runStateChangedSpy.clear(); ApplicationManager.stopApplication(appId); - while (ApplicationManager.applicationRunState(appId) !== ApplicationManager.NotRunning) + var app = ApplicationManager.application(appId); + while (app.runState !== AppMan.Application.NotRunning) runStateChangedSpy.wait(3000); windowReadySpy.clear(); windowClosingSpy.clear(); @@ -276,13 +278,14 @@ TestCase { AmTest.ignoreMessage(AmTest.CriticalMsg, /Stopping application.*because we did not receive a Wayland-Pong/); ApplicationManager.startApplication(appId); windowReadySpy.wait(2000); - compare(ApplicationManager.applicationRunState(appId), ApplicationManager.Running) + var app = ApplicationManager.application(appId); + compare(app.runState, AppMan.Application.Running); runStateChangedSpy.clear(); wait(2200); runStateChangedSpy.wait(2000); - compare(runStateChangedSpy.signalArguments[0][1], ApplicationManager.ShuttingDown) + compare(runStateChangedSpy.signalArguments[0][1], AppMan.Application.ShuttingDown); runStateChangedSpy.wait(2000); - compare(runStateChangedSpy.signalArguments[1][1], ApplicationManager.NotRunning) + compare(runStateChangedSpy.signalArguments[1][1], AppMan.Application.NotRunning); } function test_window_properties() { |