aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/android
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/android')
-rw-r--r--src/plugins/android/androidbuildapkstep.cpp2
-rw-r--r--src/plugins/android/androiddeployqtstep.cpp57
-rw-r--r--src/plugins/android/androiddeployqtstep.h14
-rw-r--r--src/plugins/android/androidqtversion.cpp3
4 files changed, 21 insertions, 55 deletions
diff --git a/src/plugins/android/androidbuildapkstep.cpp b/src/plugins/android/androidbuildapkstep.cpp
index d3331d5994c..4c33d6b5679 100644
--- a/src/plugins/android/androidbuildapkstep.cpp
+++ b/src/plugins/android/androidbuildapkstep.cpp
@@ -324,7 +324,7 @@ QWidget *AndroidBuildApkWidget::createAdvancedGroup()
auto vbox = new QVBoxLayout(group);
QtSupport::BaseQtVersion *version = QtSupport::QtKitAspect::qtVersion(m_step->kit());
if (version && version->supportsMultipleQtAbis()) {
- auto buildAAB = new QCheckBox(tr("Build .aab (Android App Bundle)"), group);
+ auto buildAAB = new QCheckBox(tr("Build Android App Bundle (*.aab)"), group);
buildAAB->setChecked(m_step->buildAAB());
connect(buildAAB, &QAbstractButton::toggled, m_step, &AndroidBuildApkStep::setBuildAAB);
vbox->addWidget(buildAAB);
diff --git a/src/plugins/android/androiddeployqtstep.cpp b/src/plugins/android/androiddeployqtstep.cpp
index 0de5dc0d46b..3776b55c33a 100644
--- a/src/plugins/android/androiddeployqtstep.cpp
+++ b/src/plugins/android/androiddeployqtstep.cpp
@@ -51,6 +51,7 @@
#include <qtsupport/qtkitinformation.h>
#include <utils/algorithm.h>
+#include <utils/layoutbuilder.h>
#include <utils/qtcassert.h>
#include <utils/qtcprocess.h>
#include <utils/synchronousprocess.h>
@@ -86,8 +87,18 @@ AndroidDeployQtStep::AndroidDeployQtStep(BuildStepList *parent, Utils::Id id)
: BuildStep(parent, id)
{
setImmutable(true);
+
+ m_uninstallPreviousPackage = addAspect<BoolAspect>();
+ m_uninstallPreviousPackage->setSettingsKey(UninstallPreviousPackageKey);
+ m_uninstallPreviousPackage->setLabel(tr("Uninstall the existing app first"));
+ m_uninstallPreviousPackage->setValue(false);
+
const QtSupport::BaseQtVersion * const qt = QtSupport::QtKitAspect::qtVersion(kit());
- m_uninstallPreviousPackage = qt && qt->qtVersion() < QtSupport::QtVersionNumber(5, 4, 0);
+ const bool forced = qt && qt->qtVersion() < QtSupport::QtVersionNumber(5, 4, 0);
+ if (forced) {
+ m_uninstallPreviousPackage->setValue(true);
+ m_uninstallPreviousPackage->setEnabled(false);
+ }
connect(this, &AndroidDeployQtStep::askForUninstall,
this, &AndroidDeployQtStep::slotAskForUninstall,
@@ -167,7 +178,7 @@ bool AndroidDeployQtStep::init()
emit addOutput(tr("Deploying to %1").arg(m_serialNumber), OutputFormat::Stdout);
- m_uninstallPreviousPackageRun = m_uninstallPreviousPackage;
+ m_uninstallPreviousPackageRun = m_uninstallPreviousPackage->value();
if (m_uninstallPreviousPackageRun)
m_manifestName = AndroidManager::manifestPath(target());
@@ -480,14 +491,6 @@ QWidget *AndroidDeployQtStep::createConfigWidget()
setDisplayName(QString("<b>%1</b>").arg(displayName()));
setSummaryText(displayName());
- auto uninstallPreviousCheckBox = new QCheckBox(widget);
- uninstallPreviousCheckBox->setText(tr("Uninstall the existing app first"));
- uninstallPreviousCheckBox->setChecked(uninstallPreviousPackage() > Keep);
- uninstallPreviousCheckBox->setEnabled(uninstallPreviousPackage() != ForceUninstall);
-
- connect(uninstallPreviousCheckBox, &QAbstractButton::toggled,
- this, &AndroidDeployQtStep::setUninstallPreviousPackage);
-
auto resetDefaultDevices = new QPushButton(widget);
resetDefaultDevices->setText(tr("Reset Default Deployment Devices"));
@@ -508,10 +511,10 @@ QWidget *AndroidDeployQtStep::createConfigWidget()
AndroidManager::installQASIPackage(target(), packagePath);
});
- auto layout = new QVBoxLayout(widget);
- layout->addWidget(uninstallPreviousCheckBox);
- layout->addWidget(resetDefaultDevices);
- layout->addWidget(installCustomApkButton);
+ LayoutBuilder builder(widget);
+ builder.addRow(m_uninstallPreviousPackage);
+ builder.addRow(resetDefaultDevices);
+ builder.addRow(installCustomApkButton);
return widget;
}
@@ -569,32 +572,6 @@ AndroidDeployQtStep::DeployErrorCode AndroidDeployQtStep::parseDeployErrors(QStr
return errorCode;
}
-bool AndroidDeployQtStep::fromMap(const QVariantMap &map)
-{
- m_uninstallPreviousPackage = map.value(UninstallPreviousPackageKey, m_uninstallPreviousPackage).toBool();
- return ProjectExplorer::BuildStep::fromMap(map);
-}
-
-QVariantMap AndroidDeployQtStep::toMap() const
-{
- QVariantMap map = ProjectExplorer::BuildStep::toMap();
- map.insert(UninstallPreviousPackageKey, m_uninstallPreviousPackage);
- return map;
-}
-
-void AndroidDeployQtStep::setUninstallPreviousPackage(bool uninstall)
-{
- m_uninstallPreviousPackage = uninstall;
-}
-
-AndroidDeployQtStep::UninstallType AndroidDeployQtStep::uninstallPreviousPackage()
-{
- const QtSupport::BaseQtVersion * const qt = QtSupport::QtKitAspect::qtVersion(kit());
- if (qt && qt->qtVersion() < QtSupport::QtVersionNumber(5, 4, 0))
- return ForceUninstall;
- return m_uninstallPreviousPackage ? Uninstall : Keep;
-}
-
// AndroidDeployQtStepFactory
AndroidDeployQtStepFactory::AndroidDeployQtStepFactory()
diff --git a/src/plugins/android/androiddeployqtstep.h b/src/plugins/android/androiddeployqtstep.h
index 450213de5a4..3090bbb2e8d 100644
--- a/src/plugins/android/androiddeployqtstep.h
+++ b/src/plugins/android/androiddeployqtstep.h
@@ -59,20 +59,8 @@ class AndroidDeployQtStep : public ProjectExplorer::BuildStep
};
public:
- enum UninstallType {
- Keep,
- Uninstall,
- ForceUninstall
- };
-
AndroidDeployQtStep(ProjectExplorer::BuildStepList *bc, Utils::Id id);
- bool fromMap(const QVariantMap &map) override;
- QVariantMap toMap() const override;
-
- UninstallType uninstallPreviousPackage();
- void setUninstallPreviousPackage(bool uninstall);
-
signals:
void askForUninstall(DeployErrorCode errorCode);
@@ -105,7 +93,7 @@ private:
QMap<QString, QString> m_filesToPull;
QStringList m_androidABIs;
- bool m_uninstallPreviousPackage = false;
+ Utils::BoolAspect *m_uninstallPreviousPackage = nullptr;
bool m_uninstallPreviousPackageRun = false;
bool m_useAndroiddeployqt = false;
bool m_askForUninstall = false;
diff --git a/src/plugins/android/androidqtversion.cpp b/src/plugins/android/androidqtversion.cpp
index 32a58ffc667..2f306671eb3 100644
--- a/src/plugins/android/androidqtversion.cpp
+++ b/src/plugins/android/androidqtversion.cpp
@@ -86,7 +86,8 @@ QString AndroidQtVersion::invalidReason() const
bool AndroidQtVersion::supportsMultipleQtAbis() const
{
- return qtVersion() >= QtSupport::QtVersionNumber{5, 14};
+ return qtVersion() >= QtSupport::QtVersionNumber{5, 14}
+ && qtVersion() < QtSupport::QtVersionNumber{6, 0};
}
Abis AndroidQtVersion::detectQtAbis() const