summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobert Griebl <robert.griebl@pelagicore.com>2019-02-14 13:26:46 +0100
committerDominik Holland <dominik.holland@pelagicore.com>2019-02-14 12:30:26 +0000
commitbe096ae9e7818df48c0c5ce0185a42677e7b82dc (patch)
treea795599cba20608bae786b327a009efe69e4bdee
parent363d013137de7fe695eea4379b586087a03a6afc (diff)
Fix application states being wrongly initialized
Change-Id: Ifc59765697ba1bfe74b60c407986cb26dee421dd Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
-rw-r--r--src/manager-lib/application.cpp3
-rw-r--r--src/manager-lib/application.h2
-rw-r--r--src/manager-lib/applicationmanager.cpp4
-rw-r--r--tests/qml/installer/tst_installer.qml7
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 *> 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)