From af7c218d95d670080893356af7a42c672f1de1a9 Mon Sep 17 00:00:00 2001 From: Assam Boudjelthia Date: Fri, 26 Jun 2020 01:06:16 +0300 Subject: [PATCH] Android: remove native sdk and avd manager buttons The native SDK and AVD manager buttons are no longer useful, since the original, visual Java-basd tool for managing SDK and AVDs were removed from Google's offering. The replacement is a set of command line tools and a visual tool within Android Studio, which can not directly be launched from Qt Creator. Qt Creator has it's UI on top of the command line tools. Change-Id: If660d7f566c173f46d9b2a97c9204746d33270e6 Reviewed-by: Alessandro Portale --- src/plugins/android/androidavdmanager.cpp | 19 -------- src/plugins/android/androidavdmanager.h | 1 - src/plugins/android/androidconfigurations.cpp | 6 --- src/plugins/android/androidconfigurations.h | 1 - .../android/androidsdkmanagerwidget.cpp | 17 -------- src/plugins/android/androidsdkmanagerwidget.h | 1 - .../android/androidsdkmanagerwidget.ui | 43 ------------------- src/plugins/android/androidsettingswidget.cpp | 19 +------- src/plugins/android/androidsettingswidget.ui | 7 --- src/plugins/android/androidtoolmanager.cpp | 5 --- src/plugins/android/androidtoolmanager.h | 1 - 11 files changed, 1 insertion(+), 119 deletions(-) diff --git a/src/plugins/android/androidavdmanager.cpp b/src/plugins/android/androidavdmanager.cpp index 19cdd505026..d396aceed7a 100644 --- a/src/plugins/android/androidavdmanager.cpp +++ b/src/plugins/android/androidavdmanager.cpp @@ -230,29 +230,13 @@ AndroidAvdManager::AndroidAvdManager(const AndroidConfig &config): AndroidAvdManager::~AndroidAvdManager() = default; -void AndroidAvdManager::launchAvdManagerUiTool() const -{ - if (m_config.useNativeUiTools()) { - m_androidTool->launchAvdManager(); - } else { - qCDebug(avdManagerLog) << "AVD Ui tool launch failed. UI tool not available" - << m_config.sdkToolsVersion(); - } -} - QFuture AndroidAvdManager::createAvd(CreateAvdInfo info) const { - if (m_config.useNativeUiTools()) - return m_androidTool->createAvd(info); - return Utils::runAsync(&createAvdCommand, m_config, info); } bool AndroidAvdManager::removeAvd(const QString &name) const { - if (m_config.useNativeUiTools()) - return m_androidTool->removeAvd(name); - const CommandLine command(m_config.avdManagerToolPath(), {"delete", "avd", "-n", name}); qCDebug(avdManagerLog) << "Running command (removeAvd):" << command.toUserOutput(); Utils::SynchronousProcess proc; @@ -263,9 +247,6 @@ bool AndroidAvdManager::removeAvd(const QString &name) const QFuture AndroidAvdManager::avdList() const { - if (m_config.useNativeUiTools()) - return m_androidTool->androidVirtualDevicesFuture(); - return Utils::runAsync(&AvdManagerOutputParser::listVirtualDevices, m_parser.get(), m_config); } diff --git a/src/plugins/android/androidavdmanager.h b/src/plugins/android/androidavdmanager.h index e4df525e0ce..5f6ea967a67 100644 --- a/src/plugins/android/androidavdmanager.h +++ b/src/plugins/android/androidavdmanager.h @@ -43,7 +43,6 @@ public: AndroidAvdManager(const AndroidConfig& config = AndroidConfigurations::currentConfig()); ~AndroidAvdManager(); - void launchAvdManagerUiTool() const; QFuture createAvd(CreateAvdInfo info) const; bool removeAvd(const QString &name) const; QFuture avdList() const; diff --git a/src/plugins/android/androidconfigurations.cpp b/src/plugins/android/androidconfigurations.cpp index aaab927e653..1766444cc60 100644 --- a/src/plugins/android/androidconfigurations.cpp +++ b/src/plugins/android/androidconfigurations.cpp @@ -841,12 +841,6 @@ QStringList AndroidConfig::getAbis(const FilePath &adbToolPath, const QString &d return result; } -bool AndroidConfig::useNativeUiTools() const -{ - const QVersionNumber version = sdkToolsVersion(); - return !version.isNull() && version <= QVersionNumber(25, 3, 0) && !isCmdlineSdkToolsInstalled(); -} - bool AndroidConfig::isValidNdk(const QString &ndkLocation) const { auto ndkPath = Utils::FilePath::fromUserInput(ndkLocation); diff --git a/src/plugins/android/androidconfigurations.h b/src/plugins/android/androidconfigurations.h index 93a037cd0a5..250fcab9f0c 100644 --- a/src/plugins/android/androidconfigurations.h +++ b/src/plugins/android/androidconfigurations.h @@ -184,7 +184,6 @@ public: OpenGl getOpenGLEnabled(const QString &emulator) const; bool isConnected(const QString &serialNumber) const; - bool useNativeUiTools() const; bool isCmdlineSdkToolsInstalled() const; bool sdkFullyConfigured() const { return m_sdkFullyConfigured; } diff --git a/src/plugins/android/androidsdkmanagerwidget.cpp b/src/plugins/android/androidsdkmanagerwidget.cpp index f1ebaa097e9..37ac3097538 100644 --- a/src/plugins/android/androidsdkmanagerwidget.cpp +++ b/src/plugins/android/androidsdkmanagerwidget.cpp @@ -76,7 +76,6 @@ AndroidSdkManagerWidget::AndroidSdkManagerWidget(AndroidConfig &config, m_ui->setupUi(this); m_ui->sdkLicensebuttonBox->hide(); m_ui->sdkLicenseLabel->hide(); - m_ui->warningLabel->setType(Utils::InfoLabel::Warning); m_ui->viewStack->setCurrentWidget(m_ui->packagesStack); m_formatter = new Utils::OutputFormatter; @@ -133,8 +132,6 @@ AndroidSdkManagerWidget::AndroidSdkManagerWidget(AndroidConfig &config, this, &AndroidSdkManagerWidget::onApplyButton); connect(m_ui->cancelButton, &QPushButton::clicked, this, &AndroidSdkManagerWidget::onCancel); - connect(m_ui->nativeSdkManagerButton, &QPushButton::clicked, - this, &AndroidSdkManagerWidget::onNativeSdkManager); connect(m_ui->optionsButton, &QPushButton::clicked, this, &AndroidSdkManagerWidget::onSdkManagerOptions); connect(m_ui->sdkLicensebuttonBox, &QDialogButtonBox::accepted, [this]() { @@ -160,7 +157,6 @@ void AndroidSdkManagerWidget::setSdkManagerControlsEnabled(bool enable) { m_ui->packagesTypeGroup->setEnabled(enable); m_ui->expandCheck->setVisible(enable); - m_ui->warningLabel->setVisible(!enable); m_ui->packagesView->setEnabled(enable); m_ui->updateInstalledButton->setEnabled(enable); m_ui->optionsButton->setEnabled(enable); @@ -253,19 +249,6 @@ void AndroidSdkManagerWidget::onCancel() cancelPendingOperations(); } -void AndroidSdkManagerWidget::onNativeSdkManager() -{ - if (m_androidConfig.useNativeUiTools()) { - QProcess::startDetached(m_androidConfig.androidToolPath().toString(), {}); - } else { - QMessageBox::warning(this, tr("Native SDK Manager Not Available"), - tr("SDK manager UI tool is not available in the installed SDK tools " - "(version %1). Use the command line tool \"sdkmanager\" for " - "advanced SDK management.") - .arg(m_androidConfig.sdkToolsVersion().toString())); - } -} - void AndroidSdkManagerWidget::onOperationResult(int index) { QTC_ASSERT(m_currentOperation, return); diff --git a/src/plugins/android/androidsdkmanagerwidget.h b/src/plugins/android/androidsdkmanagerwidget.h index eadb61e7eb3..844d47129dc 100644 --- a/src/plugins/android/androidsdkmanagerwidget.h +++ b/src/plugins/android/androidsdkmanagerwidget.h @@ -92,7 +92,6 @@ private: void onApplyButton(); void onUpdatePackages(); void onCancel(); - void onNativeSdkManager(); void onOperationResult(int index); void onLicenseCheckResult(const AndroidSdkManager::OperationOutput &output); void onSdkManagerOptions(); diff --git a/src/plugins/android/androidsdkmanagerwidget.ui b/src/plugins/android/androidsdkmanagerwidget.ui index dff6e886763..efdee00f582 100644 --- a/src/plugins/android/androidsdkmanagerwidget.ui +++ b/src/plugins/android/androidsdkmanagerwidget.ui @@ -69,19 +69,6 @@ - - - - - 0 - 0 - - - - SDK manager is not available with the current version of SDK tools. Use native SDK manager. - - - @@ -175,29 +162,6 @@ - - - - Qt::Vertical - - - QSizePolicy::Fixed - - - - 0 - 5 - - - - - - - - Native SDK Manager... - - - @@ -285,13 +249,6 @@ - - - Utils::InfoLabel - QLabel -
utils/infolabel.h
-
-
packagesView showAllRadio diff --git a/src/plugins/android/androidsettingswidget.cpp b/src/plugins/android/androidsettingswidget.cpp index fdc3e1385e8..ff1766411b1 100644 --- a/src/plugins/android/androidsettingswidget.cpp +++ b/src/plugins/android/androidsettingswidget.cpp @@ -118,7 +118,6 @@ private: void startAVD(); void avdActivated(const QModelIndex &); void dataPartitionSizeEditingFinished(); - void manageAVD(); void createKitToggled(); void updateUI(); @@ -506,8 +505,6 @@ AndroidSettingsWidget::AndroidSettingsWidget() this, &AndroidSettingsWidget::avdActivated); connect(m_ui.DataPartitionSizeSpinBox, &QAbstractSpinBox::editingFinished, this, &AndroidSettingsWidget::dataPartitionSizeEditingFinished); - connect(m_ui.nativeAvdManagerButton, &QAbstractButton::clicked, - this, &AndroidSettingsWidget::manageAVD); connect(m_ui.CreateKitCheckBox, &QAbstractButton::toggled, this, &AndroidSettingsWidget::createKitToggled); connect(m_ui.downloadNDKToolButton, &QAbstractButton::clicked, @@ -735,7 +732,7 @@ void AndroidSettingsWidget::validateSdk() PlatformSdkInstalledRow, AllEssentialsInstalledRow}); m_androidConfig.setSdkFullyConfigured(sdkToolsOk && componentsOk); - if (sdkToolsOk && !componentsOk && !m_androidConfig.useNativeUiTools()) { + if (sdkToolsOk && !componentsOk) { // Ask user to install essential SDK components. Works only for sdk tools version >= 26.0.0 QString message = tr("Android SDK installation is missing necessary packages. Do you " "want to install the missing packages?"); @@ -920,7 +917,6 @@ void AndroidSettingsWidget::updateUI() m_ui.avdManagerTab->setEnabled(javaSetupOk && androidSetupOk); m_ui.sdkManagerTab->setEnabled(sdkToolsOk); - m_sdkManagerWidget->setSdkManagerControlsEnabled(!m_androidConfig.useNativeUiTools()); const QListWidgetItem *currentItem = m_ui.ndkListWidget->currentItem(); const FilePath currentNdk = FilePath::fromString(currentItem ? currentItem->text() : ""); @@ -934,19 +930,6 @@ void AndroidSettingsWidget::updateUI() m_openSslSummary->setSetupOk(openSslOk); } -void AndroidSettingsWidget::manageAVD() -{ - if (m_androidConfig.useNativeUiTools()) { - m_avdManager.launchAvdManagerUiTool(); - } else { - QMessageBox::warning(this, tr("AVD Manager Not Available"), - tr("AVD manager UI tool is not available in the installed SDK tools " - "(version %1). Use the command line tool \"avdmanager\" for " - "advanced AVD management.") - .arg(m_androidConfig.sdkToolsVersion().toString())); - } -} - void AndroidSettingsWidget::downloadSdk() { if (sdkToolsOk()) { diff --git a/src/plugins/android/androidsettingswidget.ui b/src/plugins/android/androidsettingswidget.ui index 3e12ae34b9b..d9d874e4437 100644 --- a/src/plugins/android/androidsettingswidget.ui +++ b/src/plugins/android/androidsettingswidget.ui @@ -470,13 +470,6 @@ - - - - Native AVD Manager... - - - diff --git a/src/plugins/android/androidtoolmanager.cpp b/src/plugins/android/androidtoolmanager.cpp index 7c7eaad6789..4fefc5dbcfe 100644 --- a/src/plugins/android/androidtoolmanager.cpp +++ b/src/plugins/android/androidtoolmanager.cpp @@ -112,11 +112,6 @@ SdkPlatformList AndroidToolManager::availableSdkPlatforms(bool *ok) const return list; } -void AndroidToolManager::launchAvdManager() const -{ - QProcess::startDetached(m_config.androidToolPath().toString(), QStringList("avd")); -} - QFuture AndroidToolManager::createAvd(CreateAvdInfo info) const { return Utils::runAsync(&AndroidToolManager::createAvdImpl, info, diff --git a/src/plugins/android/androidtoolmanager.h b/src/plugins/android/androidtoolmanager.h index 61db46cee28..a109d4d2b7f 100644 --- a/src/plugins/android/androidtoolmanager.h +++ b/src/plugins/android/androidtoolmanager.h @@ -50,7 +50,6 @@ public: ~AndroidToolManager(); SdkPlatformList availableSdkPlatforms(bool *ok = nullptr) const; - void launchAvdManager() const; QFuture createAvd(CreateAvdInfo info) const; bool removeAvd(const QString &name) const;