diff options
Diffstat (limited to 'src/plugins/android')
-rw-r--r-- | src/plugins/android/androidbuildapkstep.cpp | 1 | ||||
-rw-r--r-- | src/plugins/android/androidbuildapkwidget.cpp | 1 | ||||
-rw-r--r-- | src/plugins/android/androidmanager.cpp | 13 | ||||
-rw-r--r-- | src/plugins/android/androidmanager.h | 2 | ||||
-rw-r--r-- | src/plugins/android/androidplugin.cpp | 28 | ||||
-rw-r--r-- | src/plugins/android/androidrunconfiguration.cpp | 1 | ||||
-rw-r--r-- | src/plugins/android/createandroidmanifestwizard.cpp | 2 |
7 files changed, 15 insertions, 33 deletions
diff --git a/src/plugins/android/androidbuildapkstep.cpp b/src/plugins/android/androidbuildapkstep.cpp index df2708c3748..4cff7c90abb 100644 --- a/src/plugins/android/androidbuildapkstep.cpp +++ b/src/plugins/android/androidbuildapkstep.cpp @@ -510,7 +510,6 @@ QString AndroidBuildApkStep::buildTargetSdk() const void AndroidBuildApkStep::setBuildTargetSdk(const QString &sdk) { m_buildTargetSdk = sdk; - AndroidManager::updateGradleProperties(target()); } QVariant AndroidBuildApkStep::data(Core::Id id) const diff --git a/src/plugins/android/androidbuildapkwidget.cpp b/src/plugins/android/androidbuildapkwidget.cpp index ccb94542258..0edf6aef3f8 100644 --- a/src/plugins/android/androidbuildapkwidget.cpp +++ b/src/plugins/android/androidbuildapkwidget.cpp @@ -104,6 +104,7 @@ QWidget *AndroidBuildApkWidget::createApplicationGroup() connect(targetSDKComboBox, cbActivated, this, [this, targetSDKComboBox](int idx) { const QString sdk = targetSDKComboBox->itemText(idx); m_step->setBuildTargetSdk(sdk); + AndroidManager::updateGradleProperties(step()->target(), QString()); // FIXME: Use real key. }); auto hbox = new QHBoxLayout(group); diff --git a/src/plugins/android/androidmanager.cpp b/src/plugins/android/androidmanager.cpp index 2ce27e5d26a..b0f887a74da 100644 --- a/src/plugins/android/androidmanager.cpp +++ b/src/plugins/android/androidmanager.cpp @@ -683,13 +683,22 @@ static bool mergeGradleProperties(const QString &path, GradleProperties properti } -bool AndroidManager::updateGradleProperties(ProjectExplorer::Target *target) +bool AndroidManager::updateGradleProperties(ProjectExplorer::Target *target, const QString &buildKey) { QtSupport::BaseQtVersion *version = QtSupport::QtKitAspect::qtVersion(target->kit()); if (!version) return false; - const ProjectNode *node = currentProjectNode(target); + QString key = buildKey; + if (key.isEmpty()) { + // FIXME: This case is triggered from AndroidBuildApkWidget::createApplicationGroup + // and should be avoided. + if (RunConfiguration *rc = target->activeRunConfiguration()) + key = rc->buildKey(); + } + + QTC_ASSERT(!key.isEmpty(), return false); + const ProjectNode *node = target->project()->findNodeForBuildKey(key); if (!node) return false; diff --git a/src/plugins/android/androidmanager.h b/src/plugins/android/androidmanager.h index 73e0fa79cbd..a6af5651e9f 100644 --- a/src/plugins/android/androidmanager.h +++ b/src/plugins/android/androidmanager.h @@ -117,7 +117,7 @@ public: static bool checkCertificatePassword(const QString &keystorePath, const QString &keystorePasswd, const QString &alias, const QString &certificatePasswd); static bool checkCertificateExists(const QString &keystorePath, const QString &keystorePasswd, const QString &alias); - static bool updateGradleProperties(ProjectExplorer::Target *target); + static bool updateGradleProperties(ProjectExplorer::Target *target, const QString &buildKey); static int findApiLevel(const Utils::FilePath &platformPath); static QProcess *runAdbCommandDetached(const QStringList &args, QString *err = nullptr, diff --git a/src/plugins/android/androidplugin.cpp b/src/plugins/android/androidplugin.cpp index d8225eebaea..17926f653cb 100644 --- a/src/plugins/android/androidplugin.cpp +++ b/src/plugins/android/androidplugin.cpp @@ -98,34 +98,6 @@ public: class AndroidPluginPrivate : public QObject { public: - AndroidPluginPrivate() - { - connect(SessionManager::instance(), &SessionManager::projectAdded, this, [=](Project *project) { - for (Target *target : project->targets()) - handleNewTarget(target); - connect(project, &Project::addedTarget, this, &AndroidPluginPrivate::handleNewTarget); - }); - } - - void handleNewTarget(Target *target) - { - if (DeviceTypeKitAspect::deviceTypeId(target->kit()) != Android::Constants::ANDROID_DEVICE_TYPE) - return; - - for (BuildConfiguration *bc : target->buildConfigurations()) - handleNewBuildConfiguration(bc); - - connect(target, &Target::addedBuildConfiguration, - this, &AndroidPluginPrivate::handleNewBuildConfiguration); - } - - void handleNewBuildConfiguration(BuildConfiguration *bc) - { - connect(bc->target()->project(), &Project::parsingFinished, bc, [bc] { - AndroidManager::updateGradleProperties(bc->target()); - }); - } - AndroidConfigurations androidConfiguration; AndroidSettingsPage settingsPage; AndroidDeployQtStepFactory deployQtStepFactory; diff --git a/src/plugins/android/androidrunconfiguration.cpp b/src/plugins/android/androidrunconfiguration.cpp index 95eb3e1a2d3..01b0c6050af 100644 --- a/src/plugins/android/androidrunconfiguration.cpp +++ b/src/plugins/android/androidrunconfiguration.cpp @@ -134,6 +134,7 @@ AndroidRunConfiguration::AndroidRunConfiguration(Target *target, Core::Id id) connect(target->project(), &Project::parsingFinished, this, [this] { updateTargetInformation(); + AndroidManager::updateGradleProperties(this->target(), buildKey()); }); } diff --git a/src/plugins/android/createandroidmanifestwizard.cpp b/src/plugins/android/createandroidmanifestwizard.cpp index ca386fa9075..70f75fed98a 100644 --- a/src/plugins/android/createandroidmanifestwizard.cpp +++ b/src/plugins/android/createandroidmanifestwizard.cpp @@ -343,7 +343,7 @@ void CreateAndroidManifestWizard::createAndroidTemplateFiles() nullptr, [this, &addedFiles](QFileInfo src, QFileInfo dst, QString *){return copy(src, dst, &addedFiles);}); } - AndroidManager::updateGradleProperties(m_target); + AndroidManager::updateGradleProperties(m_target, m_buildKey); } |