aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/android
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/android')
-rw-r--r--src/plugins/android/androidbuildapkstep.cpp1
-rw-r--r--src/plugins/android/androidbuildapkwidget.cpp1
-rw-r--r--src/plugins/android/androidmanager.cpp13
-rw-r--r--src/plugins/android/androidmanager.h2
-rw-r--r--src/plugins/android/androidplugin.cpp28
-rw-r--r--src/plugins/android/androidrunconfiguration.cpp1
-rw-r--r--src/plugins/android/createandroidmanifestwizard.cpp2
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);
}