diff options
Diffstat (limited to 'src/plugins/android')
-rw-r--r-- | src/plugins/android/androidbuildapkstep.cpp | 2 | ||||
-rw-r--r-- | src/plugins/android/androiddeployqtstep.cpp | 57 | ||||
-rw-r--r-- | src/plugins/android/androiddeployqtstep.h | 14 | ||||
-rw-r--r-- | src/plugins/android/androidqtversion.cpp | 3 |
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 |