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