From ec7f1b1a00282b0565b6df68ce724eb2192caec8 Mon Sep 17 00:00:00 2001 From: Robert Griebl Date: Fri, 16 Mar 2018 17:13:56 +0100 Subject: Revert "Move RunState API from ApplicationManager to Application" This reverts commit ef205ede81ecab188b40b594eaf4865b35a19ae3. This commit should have been on the 5.10 branch in the first place. Change-Id: I03e26f51e474645b2fd3d052e254c3be502d2b2d Reviewed-by: Dominik Holland --- src/application-lib/application.cpp | 47 +---------------- src/application-lib/application.h | 16 ------ src/application-lib/yamlapplicationscanner.cpp | 2 +- .../applicationmanagerdbuscontextadaptor.cpp | 2 +- src/manager-lib/applicationmanager.cpp | 43 +++++++++------- src/manager-lib/applicationmanager.h | 16 ++++-- src/monitor-lib/processmonitor_p.cpp | 4 +- src/monitor-lib/processmonitor_p.h | 2 +- tests/qml/simple/tst_applicationmanager.qml | 60 +++++++++++----------- tests/qml/windowmapping/tst_windowmapping.qml | 11 ++-- 10 files changed, 77 insertions(+), 126 deletions(-) diff --git a/src/application-lib/application.cpp b/src/application-lib/application.cpp index 08e1bb15..4bb5522e 100644 --- a/src/application-lib/application.cpp +++ b/src/application-lib/application.cpp @@ -243,21 +243,6 @@ \li Application.BeingRemoved - The application is currently in the process of being removed. \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() @@ -654,9 +639,6 @@ void Application::setCurrentRuntime(AbstractRuntime *rt) const else m_runtime = rt; emit runtimeChanged(); - - if (!rt) - setRunState(Application::NotRunning); } bool Application::isBlocked() const @@ -679,38 +661,11 @@ 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 &applicationDatabase) Q_DECL_NOEXCEPT_EXPR(false) { QScopedPointer app(new Application); @@ -769,7 +724,7 @@ Application *Application::readFromDataStream(QDataStream &ds, const QVectorid() == baseId) { - app->setNonAliased(otherApp); + app->m_nonAliased = otherApp; found = true; break; } diff --git a/src/application-lib/application.h b/src/application-lib/application.h index 34839484..1bd6fed8 100644 --- a/src/application-lib/application.h +++ b/src/application-lib/application.h @@ -86,20 +86,11 @@ 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; @@ -170,8 +161,6 @@ public: Q_ENUM(State) qreal progress() const; - RunState runState() const; - void setSupportsApplicationInterface(bool supportsAppInterface); void setCodeDir(const QString &path); void setManifestDir(const QString &path); @@ -189,12 +178,9 @@ 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; @@ -238,7 +224,6 @@ 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; @@ -258,6 +243,5 @@ 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 80d4b919..139b58f8 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->setNonAliased(application); + app->m_nonAliased = 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 98c257d9..2b7c58fe 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, Application::RunState runState) { + this, [this](const QString &id, ApplicationManager::RunState runState) { emit applicationRunStateChanged(id, runState); }); } diff --git a/src/manager-lib/applicationmanager.cpp b/src/manager-lib/applicationmanager.cpp index 71b1ce4b..91c01f62 100644 --- a/src/manager-lib/applicationmanager.cpp +++ b/src/manager-lib/applicationmanager.cpp @@ -250,6 +250,15 @@ 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: @@ -264,8 +273,6 @@ } } \endqml - - See also Application::runState */ /*! @@ -333,13 +340,13 @@ enum Roles QT_BEGIN_NAMESPACE_AM -static Application::RunState runtimeToApplicationRunState(AbstractRuntime::State rtState) +static ApplicationManager::RunState runtimeToManagerState(AbstractRuntime::State rtState) { switch (rtState) { - case AbstractRuntime::Startup: return Application::StartingUp; - case AbstractRuntime::Active: return Application::Running; - case AbstractRuntime::Shutdown: return Application::ShuttingDown; - default: return Application::NotRunning; + case AbstractRuntime::Startup: return ApplicationManager::StartingUp; + case AbstractRuntime::Active: return ApplicationManager::Running; + case AbstractRuntime::Shutdown: return ApplicationManager::ShuttingDown; + default: return ApplicationManager::NotRunning; } } @@ -414,7 +421,6 @@ ApplicationManager *ApplicationManager::createInstance(ApplicationDatabase *adb, qmlRegisterUncreatableType("QtApplicationManager", 1, 0, "Container", qSL("Cannot create objects of type Container")); qRegisterMetaType("AbstractContainer*"); - qRegisterMetaType("Application::RunState"); return s_instance = am.take(); } @@ -774,7 +780,7 @@ bool ApplicationManager::startApplication(const Application *app, const QString return false; } - connect(runtime, &AbstractRuntime::stateChanged, this, [this, app](AbstractRuntime::State newRuntimeState) { + connect(runtime, &AbstractRuntime::stateChanged, this, [this, app](AbstractRuntime::State newState) { QVector apps; //Always emit the actual starting app/alias first apps.append(app); @@ -792,12 +798,8 @@ 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(), newRunState); + emit applicationRunStateChanged(app->id(), runtimeToManagerState(newState)); emitDataChanged(app, QVector { IsRunning, IsStartingUp, IsShuttingDown }); } }); @@ -1339,8 +1341,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, Application::RunState runState) { - if ((id == app->id()) && (runState == Application::NotRunning)) { + connect(this, &ApplicationManager::applicationRunStateChanged, [app](const QString &id, ApplicationManager::RunState runState) { + if ((id == app->id()) && (runState == NotRunning)) { QMetaObject::invokeMethod(qApp, "shutDown", Qt::DirectConnection, Q_ARG(int, app->lastExitCode())); } @@ -1615,14 +1617,17 @@ QVariantMap ApplicationManager::get(const QString &id) const return map; } -Application::RunState ApplicationManager::applicationRunState(const QString &id) const +ApplicationManager::RunState ApplicationManager::applicationRunState(const QString &id) const { int index = indexOfApplication(id); if (index < 0) { qCWarning(LogSystem) << "invalid index:" << index; - return Application::NotRunning; + return NotRunning; } - return d->apps.at(index)->runState(); + const Application *app = d->apps.at(index); + if (!app->currentRuntime()) + return NotRunning; + return runtimeToManagerState(app->currentRuntime()->state()); } QT_END_NAMESPACE_AM diff --git a/src/manager-lib/applicationmanager.h b/src/manager-lib/applicationmanager.h index e4e76aac..ffb7125d 100644 --- a/src/manager-lib/applicationmanager.h +++ b/src/manager-lib/applicationmanager.h @@ -47,7 +47,6 @@ #include #include #include -#include QT_FORWARD_DECLARE_CLASS(QDir) QT_FORWARD_DECLARE_CLASS(QQmlEngine) @@ -55,6 +54,7 @@ QT_FORWARD_DECLARE_CLASS(QJSEngine) QT_BEGIN_NAMESPACE_AM +class Application; class ApplicationDatabase; class ApplicationManagerPrivate; class AbstractRuntime; @@ -76,6 +76,14 @@ 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(); @@ -134,13 +142,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 QT_PREPEND_NAMESPACE_AM(Application::RunState) applicationRunState(const QString &id) const; + Q_SCRIPTABLE RunState applicationRunState(const QString &id) const; public slots: void shutDown(); signals: - Q_SCRIPTABLE void applicationRunStateChanged(const QString &id, QT_PREPEND_NAMESPACE_AM(Application::RunState) runState); + Q_SCRIPTABLE void applicationRunStateChanged(const QString &id, QT_PREPEND_NAMESPACE_AM(ApplicationManager::RunState) runState); Q_SCRIPTABLE void applicationWasActivated(const QString &id, const QString &aliasId); Q_SCRIPTABLE void countChanged(); @@ -193,3 +201,5 @@ 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 0535da54..3ce11809 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, Application::RunState state) +void ProcessMonitorPrivate::appRuntimeChanged(const QString &id, ApplicationManager::RunState state) { - if (id == appId && (state == Application::Running || state == Application::NotRunning)) + if (id == appId && (state == ApplicationManager::Running || state == ApplicationManager::NotRunning)) determinePid(); } diff --git a/src/monitor-lib/processmonitor_p.h b/src/monitor-lib/processmonitor_p.h index f2d012c8..3d7fb9a7 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, Application::RunState state); + void appRuntimeChanged(const QString &id, ApplicationManager::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 9675cf55..90f00e07 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.application(id).runState, state); + compare(ApplicationManager.applicationRunState(id), state); runStateChangedSpy.clear(); } @@ -346,7 +346,7 @@ TestCase { } function test_startAndStopApplication(data) { - compare(ApplicationManager.application(data.appId).runState, AppMan.Application.NotRunning); + compare(ApplicationManager.applicationRunState(data.appId), ApplicationManager.NotRunning); var started = false; if (data.tag === "Debug") { @@ -362,23 +362,23 @@ TestCase { } verify(started); - checkApplicationState(data.appId, AppMan.Application.StartingUp); + checkApplicationState(data.appId, ApplicationManager.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, AppMan.Application.Running); + checkApplicationState(data.appId, ApplicationManager.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, AppMan.Application.ShuttingDown); + checkApplicationState(data.appId, ApplicationManager.ShuttingDown); compare(listView.currentItem.modelData.isStartingUp, false) compare(listView.currentItem.modelData.isRunning, false) compare(listView.currentItem.modelData.isShuttingDown, true) - checkApplicationState(data.appId, AppMan.Application.NotRunning); + checkApplicationState(data.appId, ApplicationManager.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.application(data.appId1).runState, AppMan.Application.NotRunning); - compare(ApplicationManager.application(data.appId2).runState, AppMan.Application.NotRunning); + compare(ApplicationManager.applicationRunState(data.appId1), ApplicationManager.NotRunning); + compare(ApplicationManager.applicationRunState(data.appId2), ApplicationManager.NotRunning); var started = false; @@ -402,12 +402,12 @@ TestCase { verify(started); - checkApplicationState(data.appId1, AppMan.Application.StartingUp); + checkApplicationState(data.appId1, ApplicationManager.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, AppMan.Application.Running); + checkApplicationState(data.appId1, ApplicationManager.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, AppMan.Application.StartingUp); + checkApplicationState(data.appId2, ApplicationManager.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, AppMan.Application.Running); + checkApplicationState(data.appId2, ApplicationManager.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 === AppMan.Application.ShuttingDown || state === AppMan.Application.NotRunning) + verify(state === ApplicationManager.ShuttingDown || state === ApplicationManager.NotRunning) } runStateChangedSpy.clear() } @@ -461,7 +461,7 @@ TestCase { compare(ApplicationManager.get("invalidApplication"), {}); ignoreWarning("invalid index: -1"); - compare(ApplicationManager.applicationRunState("invalidApplication"), AppMan.Application.NotRunning); + compare(ApplicationManager.applicationRunState("invalidApplication"), ApplicationManager.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, AppMan.Application.StartingUp); - checkApplicationState(simpleApplication.id, AppMan.Application.Running); + checkApplicationState(simpleApplication.id, ApplicationManager.StartingUp); + checkApplicationState(simpleApplication.id, ApplicationManager.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, AppMan.Application.ShuttingDown); - checkApplicationState(simpleApplication.id, AppMan.Application.NotRunning); + checkApplicationState(simpleApplication.id, ApplicationManager.ShuttingDown); + checkApplicationState(simpleApplication.id, ApplicationManager.NotRunning); } function test_openUrl_data() { @@ -493,18 +493,18 @@ TestCase { function test_openUrl(data) { verify(ApplicationManager.openUrl(data.url)); - checkApplicationState(data.expectedApp, AppMan.Application.StartingUp); - checkApplicationState(data.expectedApp, AppMan.Application.Running); + checkApplicationState(data.expectedApp, ApplicationManager.StartingUp); + checkApplicationState(data.expectedApp, ApplicationManager.Running); ApplicationManager.stopApplication(data.expectedApp, true); - checkApplicationState(data.expectedApp, AppMan.Application.ShuttingDown); - checkApplicationState(data.expectedApp, AppMan.Application.NotRunning); + checkApplicationState(data.expectedApp, ApplicationManager.ShuttingDown); + checkApplicationState(data.expectedApp, ApplicationManager.NotRunning); Qt.openUrlExternally(data.url); - checkApplicationState(data.expectedApp, AppMan.Application.StartingUp); - checkApplicationState(data.expectedApp, AppMan.Application.Running); + checkApplicationState(data.expectedApp, ApplicationManager.StartingUp); + checkApplicationState(data.expectedApp, ApplicationManager.Running); ApplicationManager.stopApplication(data.expectedApp, true); - checkApplicationState(data.expectedApp, AppMan.Application.ShuttingDown); - checkApplicationState(data.expectedApp, AppMan.Application.NotRunning); + checkApplicationState(data.expectedApp, ApplicationManager.ShuttingDown); + checkApplicationState(data.expectedApp, ApplicationManager.NotRunning); } property bool containerSelectionCalled: false @@ -525,11 +525,11 @@ TestCase { compare(ApplicationManager.containerSelectionFunction, undefined); ApplicationManager.containerSelectionFunction = containerSelection; ApplicationManager.startApplication(simpleApplication.id); - checkApplicationState(simpleApplication.id, AppMan.Application.StartingUp); - checkApplicationState(simpleApplication.id, AppMan.Application.Running); + checkApplicationState(simpleApplication.id, ApplicationManager.StartingUp); + checkApplicationState(simpleApplication.id, ApplicationManager.Running); ApplicationManager.stopApplication(simpleApplication.id, true); - checkApplicationState(simpleApplication.id, AppMan.Application.ShuttingDown); - checkApplicationState(simpleApplication.id, AppMan.Application.NotRunning); + checkApplicationState(simpleApplication.id, ApplicationManager.ShuttingDown); + checkApplicationState(simpleApplication.id, ApplicationManager.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 a6bbd2c4..197199de 100644 --- a/tests/qml/windowmapping/tst_windowmapping.qml +++ b/tests/qml/windowmapping/tst_windowmapping.qml @@ -42,7 +42,6 @@ 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 @@ -106,8 +105,7 @@ TestCase { function cleanup() { runStateChangedSpy.clear(); ApplicationManager.stopApplication(appId); - var app = ApplicationManager.application(appId); - while (app.runState !== AppMan.Application.NotRunning) + while (ApplicationManager.applicationRunState(appId) !== ApplicationManager.NotRunning) runStateChangedSpy.wait(3000); windowReadySpy.clear(); windowClosingSpy.clear(); @@ -278,14 +276,13 @@ TestCase { AmTest.ignoreMessage(AmTest.CriticalMsg, /Stopping application.*because we did not receive a Wayland-Pong/); ApplicationManager.startApplication(appId); windowReadySpy.wait(2000); - var app = ApplicationManager.application(appId); - compare(app.runState, AppMan.Application.Running); + compare(ApplicationManager.applicationRunState(appId), ApplicationManager.Running) runStateChangedSpy.clear(); wait(2200); runStateChangedSpy.wait(2000); - compare(runStateChangedSpy.signalArguments[0][1], AppMan.Application.ShuttingDown); + compare(runStateChangedSpy.signalArguments[0][1], ApplicationManager.ShuttingDown) runStateChangedSpy.wait(2000); - compare(runStateChangedSpy.signalArguments[1][1], AppMan.Application.NotRunning); + compare(runStateChangedSpy.signalArguments[1][1], ApplicationManager.NotRunning) } function test_window_properties() { -- cgit v1.2.1