diff --git a/src/plugins/android/androidconfigurations.cpp b/src/plugins/android/androidconfigurations.cpp index 7420f0f1558..83076139b3e 100644 --- a/src/plugins/android/androidconfigurations.cpp +++ b/src/plugins/android/androidconfigurations.cpp @@ -1563,7 +1563,7 @@ void AndroidConfigurations::updateAndroidDevice() } #ifdef WITH_TESTS -void AndroidPlugin::testAndroidConfigAvailableNdkPlatforms_data() +void AndroidTests::testAndroidConfigAvailableNdkPlatforms_data() { QTest::addColumn("ndkPath"); QTest::addColumn("abis"); @@ -1608,7 +1608,7 @@ void AndroidPlugin::testAndroidConfigAvailableNdkPlatforms_data() << abis64Bit; } -void AndroidPlugin::testAndroidConfigAvailableNdkPlatforms() +void AndroidTests::testAndroidConfigAvailableNdkPlatforms() { QFETCH(FilePath, ndkPath); QFETCH(Abis, abis); diff --git a/src/plugins/android/androidplugin.cpp b/src/plugins/android/androidplugin.cpp index 7bea625aad4..e062bf1ccbf 100644 --- a/src/plugins/android/androidplugin.cpp +++ b/src/plugins/android/androidplugin.cpp @@ -34,7 +34,8 @@ #endif #include -#include + +#include #include @@ -52,6 +53,8 @@ #include +#include + #include using namespace ProjectExplorer; @@ -78,89 +81,98 @@ void setupAndroidDeployConfiguration() static AndroidDeployConfigurationFactory theAndroidDeployConfigurationFactory; } -void AndroidPlugin::initialize() +class AndroidPlugin final : public ExtensionSystem::IPlugin { - setupAndroidConfigurations(); + Q_OBJECT + Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QtCreatorPlugin" FILE "Android.json") - setupAndroidPotentialKit(); - setupAndroidDevice(); - setupAndroidQtVersion(); - setupAndroidToolchain(); + void initialize() final + { + setupAndroidConfigurations(); - setupAndroidDeviceManager(this); + setupAndroidPotentialKit(); + setupAndroidDevice(); + setupAndroidQtVersion(); + setupAndroidToolchain(); - setupAndroidSettingsPage(); + setupAndroidDeviceManager(this); - setupAndroidPackageInstallationStep(); - setupAndroidBuildApkStep(); + setupAndroidSettingsPage(); - setupAndroidDeployConfiguration(); - setupAndroidDeployQtStep(); + setupAndroidPackageInstallationStep(); + setupAndroidBuildApkStep(); - setupAndroidRunConfiguration(); - setupAndroidRunWorker(); - setupAndroidDebugWorker(); - setupAndroidQmlToolingSupport(); - setupAndroidQmlPreviewWorker(); + setupAndroidDeployConfiguration(); + setupAndroidDeployQtStep(); - setupJavaEditor(); - setupAndroidManifestEditor(); + setupAndroidRunConfiguration(); + setupAndroidRunWorker(); + setupAndroidDebugWorker(); + setupAndroidQmlToolingSupport(); + setupAndroidQmlPreviewWorker(); - connect(KitManager::instance(), &KitManager::kitsLoaded, - this, &AndroidPlugin::kitsRestored); + setupJavaEditor(); + setupAndroidManifestEditor(); - LanguageClient::LanguageClientSettings::registerClientType( - {Android::Constants::JLS_SETTINGS_ID, - Tr::tr("Java Language Server"), - [] { return new JLSSettings; }}); + connect(KitManager::instance(), &KitManager::kitsLoaded, + this, &AndroidPlugin::kitsRestored); + + LanguageClient::LanguageClientSettings::registerClientType( + {Android::Constants::JLS_SETTINGS_ID, + Tr::tr("Java Language Server"), + [] { return new JLSSettings; }}); #ifdef WITH_TESTS - addTest(); - addTest(); + addTest(); + addTest(); + addTest(); #endif -} + } -void AndroidPlugin::kitsRestored() -{ - const bool qtForAndroidInstalled - = !QtSupport::QtVersionManager::versions([](const QtSupport::QtVersion *v) { - return v->targetDeviceTypes().contains(Android::Constants::ANDROID_DEVICE_TYPE); - }).isEmpty(); + void kitsRestored() + { + const bool qtForAndroidInstalled + = !QtSupport::QtVersionManager::versions([](const QtSupport::QtVersion *v) { + return v->targetDeviceTypes().contains(Android::Constants::ANDROID_DEVICE_TYPE); + }).isEmpty(); - if (!AndroidConfigurations::currentConfig().sdkFullyConfigured() && qtForAndroidInstalled) - askUserAboutAndroidSetup(); + if (!AndroidConfigurations::currentConfig().sdkFullyConfigured() && qtForAndroidInstalled) + askUserAboutAndroidSetup(); - AndroidConfigurations::registerNewToolchains(); - AndroidConfigurations::updateAutomaticKitList(); - connect(QtSupport::QtVersionManager::instance(), &QtSupport::QtVersionManager::qtVersionsChanged, - AndroidConfigurations::instance(), [] { AndroidConfigurations::registerNewToolchains(); AndroidConfigurations::updateAutomaticKitList(); - }); - disconnect(KitManager::instance(), &KitManager::kitsLoaded, - this, &AndroidPlugin::kitsRestored); -} + connect(QtSupport::QtVersionManager::instance(), &QtSupport::QtVersionManager::qtVersionsChanged, + AndroidConfigurations::instance(), [] { + AndroidConfigurations::registerNewToolchains(); + AndroidConfigurations::updateAutomaticKitList(); + }); + disconnect(KitManager::instance(), &KitManager::kitsLoaded, + this, &AndroidPlugin::kitsRestored); + } -void AndroidPlugin::askUserAboutAndroidSetup() -{ - NANOTRACE_SCOPE("Android", "AndroidPlugin::askUserAboutAndroidSetup"); - if (!Core::ICore::infoBar()->canInfoBeAdded(kSetupAndroidSetting)) - return; + void askUserAboutAndroidSetup() + { + NANOTRACE_SCOPE("Android", "AndroidPlugin::askUserAboutAndroidSetup"); + if (!Core::ICore::infoBar()->canInfoBeAdded(kSetupAndroidSetting)) + return; - Utils::InfoBarEntry + Utils::InfoBarEntry info(kSetupAndroidSetting, Tr::tr("Would you like to configure Android options? This will ensure " "Android kits can be usable and all essential packages are installed. " "To do it later, select Edit > Preferences > Devices > Android."), Utils::InfoBarEntry::GlobalSuppression::Enabled); - info.addCustomButton(Tr::tr("Configure Android"), [this] { - Core::ICore::infoBar()->removeInfo(kSetupAndroidSetting); - Core::ICore::infoBar()->globallySuppressInfo(kSetupAndroidSetting); - QTimer::singleShot(0, this, [] { - Core::ICore::showOptionsDialog(Constants::ANDROID_SETTINGS_ID); + info.addCustomButton(Tr::tr("Configure Android"), [this] { + Core::ICore::infoBar()->removeInfo(kSetupAndroidSetting); + Core::ICore::infoBar()->globallySuppressInfo(kSetupAndroidSetting); + QTimer::singleShot(0, this, [] { + Core::ICore::showOptionsDialog(Constants::ANDROID_SETTINGS_ID); + }); }); - }); - Core::ICore::infoBar()->addInfo(info); -} + Core::ICore::infoBar()->addInfo(info); + } +}; } // Android::Internal + +#include "androidplugin.moc" diff --git a/src/plugins/android/androidplugin.h b/src/plugins/android/androidplugin.h index 75b19d24f07..0f1c118a97b 100644 --- a/src/plugins/android/androidplugin.h +++ b/src/plugins/android/androidplugin.h @@ -3,21 +3,16 @@ #pragma once -#include +#include namespace Android::Internal { -class AndroidPlugin final : public ExtensionSystem::IPlugin +class AndroidTests final : public QObject { - Q_OBJECT - Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QtCreatorPlugin" FILE "Android.json") - - void initialize() final; - - void kitsRestored(); - void askUserAboutAndroidSetup(); - #ifdef WITH_TESTS + + Q_OBJECT + private slots: void testAndroidConfigAvailableNdkPlatforms_data(); void testAndroidConfigAvailableNdkPlatforms(); diff --git a/src/plugins/android/androidqtversion.cpp b/src/plugins/android/androidqtversion.cpp index 695202c051a..5872246621e 100644 --- a/src/plugins/android/androidqtversion.cpp +++ b/src/plugins/android/androidqtversion.cpp @@ -286,7 +286,7 @@ void setupAndroidQtVersion() } #ifdef WITH_TESTS -void AndroidPlugin::testAndroidQtVersionParseBuiltWith_data() +void AndroidTests::testAndroidQtVersionParseBuiltWith_data() { QTest::addColumn("modulesCoreJson"); QTest::addColumn("hasInfo"); @@ -332,7 +332,7 @@ void AndroidPlugin::testAndroidQtVersionParseBuiltWith_data() << 31; } -void AndroidPlugin::testAndroidQtVersionParseBuiltWith() +void AndroidTests::testAndroidQtVersionParseBuiltWith() { QFETCH(QString, modulesCoreJson); QFETCH(bool, hasInfo);