From be096ae9e7818df48c0c5ce0185a42677e7b82dc Mon Sep 17 00:00:00 2001 From: Robert Griebl Date: Thu, 14 Feb 2019 13:26:46 +0100 Subject: Fix application states being wrongly initialized Change-Id: Ifc59765697ba1bfe74b60c407986cb26dee421dd Reviewed-by: Dominik Holland --- src/manager-lib/application.cpp | 3 ++- src/manager-lib/application.h | 2 +- src/manager-lib/applicationmanager.cpp | 4 +--- tests/qml/installer/tst_installer.qml | 7 +------ 4 files changed, 5 insertions(+), 11 deletions(-) diff --git a/src/manager-lib/application.cpp b/src/manager-lib/application.cpp index 77018889..4eff6990 100644 --- a/src/manager-lib/application.cpp +++ b/src/manager-lib/application.cpp @@ -452,8 +452,9 @@ QVector AbstractApplication::fromApplicationInfoVector( // Application /////////////////////////////////////////////////////////////////////////////////////////////////// -Application::Application(ApplicationInfo *info) +Application::Application(ApplicationInfo *info, State initialState) : AbstractApplication(info) + , m_state(initialState) { } diff --git a/src/manager-lib/application.h b/src/manager-lib/application.h index 2ae3b8c9..d66226ca 100644 --- a/src/manager-lib/application.h +++ b/src/manager-lib/application.h @@ -175,7 +175,7 @@ class Application : public AbstractApplication { Q_OBJECT public: - Application(ApplicationInfo*); + Application(ApplicationInfo *info, State initialState = Installed); // Returns the updated info, if there's one. Otherwise diff --git a/src/manager-lib/applicationmanager.cpp b/src/manager-lib/applicationmanager.cpp index 9929273e..370b45e3 100644 --- a/src/manager-lib/applicationmanager.cpp +++ b/src/manager-lib/applicationmanager.cpp @@ -1207,11 +1207,9 @@ bool ApplicationManager::startingApplicationInstallation(ApplicationInfo *info) app->setProgress(0); emitDataChanged(app); } else { // installation - Application *app = new Application(newInfo.take()); + Application *app = new Application(newInfo.take(), Application::BeingInstalled); app->block(); - app->setState(Application::BeingInstalled); - app->setProgress(0); beginInsertRows(QModelIndex(), d->apps.count(), d->apps.count()); addApplication(app); diff --git a/tests/qml/installer/tst_installer.qml b/tests/qml/installer/tst_installer.qml index d0b8d90f..8bfcc246 100644 --- a/tests/qml/installer/tst_installer.qml +++ b/tests/qml/installer/tst_installer.qml @@ -67,12 +67,6 @@ TestCase { signalName: "taskRequestingInstallationAcknowledge" } - SignalSpy { - id: applicationAddedSpy - target: ApplicationManager - signalName: "applicationAdded" - } - property var stateList: [] property int spyTimeout: 5000 * AmTest.timeoutFactor @@ -86,6 +80,7 @@ TestCase { ApplicationManager.applicationAdded.connect(function(appId) { var app = ApplicationManager.application(appId); + stateList.push(app.state) app.stateChanged.connect(function(state) { compare(state, app.state) stateList.push(state) -- cgit v1.2.3