forked from qt-creator/qt-creator
Android: Make device info caching hack a bit less intrusive
The list of earlier build steps is not used anywhere else, so it's not a really useful generic feature to have. Avoid its single use here by searching for the interesting step directly. Change-Id: I52fffc75008dc01ff8ec6ca16045cbf151087ec1 Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
This commit is contained in:
@@ -106,13 +106,6 @@ AndroidDeployQtStep::AndroidDeployQtStep(ProjectExplorer::BuildStepList *parent)
|
|||||||
this, &AndroidDeployQtStep::slotSetSerialNumber);
|
this, &AndroidDeployQtStep::slotSetSerialNumber);
|
||||||
}
|
}
|
||||||
|
|
||||||
static AndroidDeviceInfo earlierDeviceInfo(QList<const ProjectExplorer::BuildStep *> &earlierSteps, Core::Id id)
|
|
||||||
{
|
|
||||||
const ProjectExplorer::BuildStep *bs
|
|
||||||
= Utils::findOrDefault(earlierSteps, Utils::equal(&ProjectExplorer::BuildStep::id, id));
|
|
||||||
return bs ? static_cast<const AndroidDeployQtStep *>(bs)->deviceInfo() : AndroidDeviceInfo();
|
|
||||||
}
|
|
||||||
|
|
||||||
bool AndroidDeployQtStep::init(QList<const BuildStep *> &earlierSteps)
|
bool AndroidDeployQtStep::init(QList<const BuildStep *> &earlierSteps)
|
||||||
{
|
{
|
||||||
Q_UNUSED(earlierSteps);
|
Q_UNUSED(earlierSteps);
|
||||||
@@ -141,7 +134,16 @@ bool AndroidDeployQtStep::init(QList<const BuildStep *> &earlierSteps)
|
|||||||
int minTargetApi = AndroidManager::minimumSDK(target());
|
int minTargetApi = AndroidManager::minimumSDK(target());
|
||||||
qCDebug(deployStepLog) << "Target architecture:" << m_targetArch
|
qCDebug(deployStepLog) << "Target architecture:" << m_targetArch
|
||||||
<< "Min target API" << minTargetApi;
|
<< "Min target API" << minTargetApi;
|
||||||
AndroidDeviceInfo info = earlierDeviceInfo(earlierSteps, Id);
|
|
||||||
|
// Try to re-use user-provided information from an earlier step of the same type.
|
||||||
|
auto bsl = qobject_cast<BuildStepList *>(parent());
|
||||||
|
QTC_ASSERT(bsl, return false);
|
||||||
|
auto androidDeployQtStep = bsl->firstOfType<AndroidDeployQtStep>();
|
||||||
|
QTC_ASSERT(androidDeployQtStep, return false);
|
||||||
|
AndroidDeviceInfo info;
|
||||||
|
if (androidDeployQtStep != this)
|
||||||
|
info = androidDeployQtStep->m_deviceInfo;
|
||||||
|
|
||||||
if (!info.isValid()) {
|
if (!info.isValid()) {
|
||||||
info = AndroidConfigurations::showDeviceDialog(project(), minTargetApi, m_targetArch);
|
info = AndroidConfigurations::showDeviceDialog(project(), minTargetApi, m_targetArch);
|
||||||
m_deviceInfo = info; // Keep around for later steps
|
m_deviceInfo = info; // Keep around for later steps
|
||||||
@@ -498,11 +500,6 @@ void AndroidDeployQtStep::runCommand(const QString &program, const QStringList &
|
|||||||
emit addOutput(response.exitMessage(program, 2 * 60), BuildStep::OutputFormat::ErrorMessage);
|
emit addOutput(response.exitMessage(program, 2 * 60), BuildStep::OutputFormat::ErrorMessage);
|
||||||
}
|
}
|
||||||
|
|
||||||
AndroidDeviceInfo AndroidDeployQtStep::deviceInfo() const
|
|
||||||
{
|
|
||||||
return m_deviceInfo;
|
|
||||||
}
|
|
||||||
|
|
||||||
ProjectExplorer::BuildStepConfigWidget *AndroidDeployQtStep::createConfigWidget()
|
ProjectExplorer::BuildStepConfigWidget *AndroidDeployQtStep::createConfigWidget()
|
||||||
{
|
{
|
||||||
return new AndroidDeployQtWidget(this);
|
return new AndroidDeployQtWidget(this);
|
||||||
|
|||||||
@@ -77,9 +77,6 @@ public:
|
|||||||
QVariantMap toMap() const override;
|
QVariantMap toMap() const override;
|
||||||
|
|
||||||
UninstallType uninstallPreviousPackage();
|
UninstallType uninstallPreviousPackage();
|
||||||
|
|
||||||
AndroidDeviceInfo deviceInfo() const;
|
|
||||||
|
|
||||||
void setUninstallPreviousPackage(bool uninstall);
|
void setUninstallPreviousPackage(bool uninstall);
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
|
|||||||
Reference in New Issue
Block a user