forked from qt-creator/qt-creator
Android: Reuse TaskTreeRunner in AndroidSdkDownloader
Change-Id: I3fca36d2cab44212d6a18daba68b7d27bf35b078 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This commit is contained in:
@@ -18,6 +18,7 @@
|
|||||||
#include <QProgressDialog>
|
#include <QProgressDialog>
|
||||||
#include <QStandardPaths>
|
#include <QStandardPaths>
|
||||||
|
|
||||||
|
using namespace Tasking;
|
||||||
using namespace Utils;
|
using namespace Utils;
|
||||||
|
|
||||||
namespace { Q_LOGGING_CATEGORY(sdkDownloaderLog, "qtc.android.sdkDownloader", QtWarningMsg) }
|
namespace { Q_LOGGING_CATEGORY(sdkDownloaderLog, "qtc.android.sdkDownloader", QtWarningMsg) }
|
||||||
@@ -29,7 +30,9 @@ namespace Android::Internal {
|
|||||||
*/
|
*/
|
||||||
AndroidSdkDownloader::AndroidSdkDownloader()
|
AndroidSdkDownloader::AndroidSdkDownloader()
|
||||||
: m_androidConfig(AndroidConfigurations::currentConfig())
|
: m_androidConfig(AndroidConfigurations::currentConfig())
|
||||||
{}
|
{
|
||||||
|
connect(&m_taskTreeRunner, &TaskTreeRunner::done, this, [this] { m_progressDialog.reset(); });
|
||||||
|
}
|
||||||
|
|
||||||
AndroidSdkDownloader::~AndroidSdkDownloader() = default;
|
AndroidSdkDownloader::~AndroidSdkDownloader() = default;
|
||||||
|
|
||||||
@@ -99,11 +102,9 @@ void AndroidSdkDownloader::downloadAndExtractSdk()
|
|||||||
m_progressDialog->setAutoClose(false);
|
m_progressDialog->setAutoClose(false);
|
||||||
connect(m_progressDialog.get(), &QProgressDialog::canceled, this, [this] {
|
connect(m_progressDialog.get(), &QProgressDialog::canceled, this, [this] {
|
||||||
m_progressDialog.release()->deleteLater();
|
m_progressDialog.release()->deleteLater();
|
||||||
m_taskTree.reset();
|
m_taskTreeRunner.reset();
|
||||||
});
|
});
|
||||||
|
|
||||||
using namespace Tasking;
|
|
||||||
|
|
||||||
Storage<std::optional<FilePath>> storage;
|
Storage<std::optional<FilePath>> storage;
|
||||||
|
|
||||||
const auto onQuerySetup = [this](NetworkQuery &query) {
|
const auto onQuerySetup = [this](NetworkQuery &query) {
|
||||||
@@ -187,12 +188,7 @@ void AndroidSdkDownloader::downloadAndExtractSdk()
|
|||||||
UnarchiverTask(onUnarchiveSetup, onUnarchiverDone)
|
UnarchiverTask(onUnarchiveSetup, onUnarchiverDone)
|
||||||
};
|
};
|
||||||
|
|
||||||
m_taskTree.reset(new TaskTree(root));
|
m_taskTreeRunner.start(root);
|
||||||
connect(m_taskTree.get(), &TaskTree::done, this, [this] {
|
|
||||||
m_taskTree.release()->deleteLater();
|
|
||||||
m_progressDialog.reset();
|
|
||||||
});
|
|
||||||
m_taskTree->start();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QString AndroidSdkDownloader::dialogTitle()
|
QString AndroidSdkDownloader::dialogTitle()
|
||||||
|
@@ -5,14 +5,12 @@
|
|||||||
|
|
||||||
#include "androidconfigurations.h"
|
#include "androidconfigurations.h"
|
||||||
|
|
||||||
#include <QObject>
|
#include <solutions/tasking/tasktreerunner.h>
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
QT_BEGIN_NAMESPACE
|
||||||
class QProgressDialog;
|
class QProgressDialog;
|
||||||
QT_END_NAMESPACE
|
QT_END_NAMESPACE
|
||||||
|
|
||||||
namespace Tasking { class TaskTree; }
|
|
||||||
|
|
||||||
namespace Android::Internal {
|
namespace Android::Internal {
|
||||||
|
|
||||||
class AndroidSdkDownloader : public QObject
|
class AndroidSdkDownloader : public QObject
|
||||||
@@ -35,7 +33,7 @@ private:
|
|||||||
|
|
||||||
AndroidConfig &m_androidConfig;
|
AndroidConfig &m_androidConfig;
|
||||||
std::unique_ptr<QProgressDialog> m_progressDialog;
|
std::unique_ptr<QProgressDialog> m_progressDialog;
|
||||||
std::unique_ptr<Tasking::TaskTree> m_taskTree;
|
Tasking::TaskTreeRunner m_taskTreeRunner;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace Android::Internal
|
} // namespace Android::Internal
|
||||||
|
Reference in New Issue
Block a user