forked from qt-creator/qt-creator
Android: Hide plugin class definition in .cpp
It's not meant to be used from the outside. Change-Id: I94e46f95f896fa4b44e77e0196523beb8afdf8c3 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This commit is contained in:
@@ -1563,7 +1563,7 @@ void AndroidConfigurations::updateAndroidDevice()
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef WITH_TESTS
|
#ifdef WITH_TESTS
|
||||||
void AndroidPlugin::testAndroidConfigAvailableNdkPlatforms_data()
|
void AndroidTests::testAndroidConfigAvailableNdkPlatforms_data()
|
||||||
{
|
{
|
||||||
QTest::addColumn<FilePath>("ndkPath");
|
QTest::addColumn<FilePath>("ndkPath");
|
||||||
QTest::addColumn<Abis>("abis");
|
QTest::addColumn<Abis>("abis");
|
||||||
@@ -1608,7 +1608,7 @@ void AndroidPlugin::testAndroidConfigAvailableNdkPlatforms_data()
|
|||||||
<< abis64Bit;
|
<< abis64Bit;
|
||||||
}
|
}
|
||||||
|
|
||||||
void AndroidPlugin::testAndroidConfigAvailableNdkPlatforms()
|
void AndroidTests::testAndroidConfigAvailableNdkPlatforms()
|
||||||
{
|
{
|
||||||
QFETCH(FilePath, ndkPath);
|
QFETCH(FilePath, ndkPath);
|
||||||
QFETCH(Abis, abis);
|
QFETCH(Abis, abis);
|
||||||
|
|||||||
@@ -34,7 +34,8 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <coreplugin/icore.h>
|
#include <coreplugin/icore.h>
|
||||||
#include <utils/infobar.h>
|
|
||||||
|
#include <extensionsystem/iplugin.h>
|
||||||
|
|
||||||
#include <languageclient/languageclientsettings.h>
|
#include <languageclient/languageclientsettings.h>
|
||||||
|
|
||||||
@@ -52,6 +53,8 @@
|
|||||||
|
|
||||||
#include <nanotrace/nanotrace.h>
|
#include <nanotrace/nanotrace.h>
|
||||||
|
|
||||||
|
#include <utils/infobar.h>
|
||||||
|
|
||||||
#include <QTimer>
|
#include <QTimer>
|
||||||
|
|
||||||
using namespace ProjectExplorer;
|
using namespace ProjectExplorer;
|
||||||
@@ -78,89 +81,98 @@ void setupAndroidDeployConfiguration()
|
|||||||
static AndroidDeployConfigurationFactory theAndroidDeployConfigurationFactory;
|
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();
|
void initialize() final
|
||||||
setupAndroidDevice();
|
{
|
||||||
setupAndroidQtVersion();
|
setupAndroidConfigurations();
|
||||||
setupAndroidToolchain();
|
|
||||||
|
|
||||||
setupAndroidDeviceManager(this);
|
setupAndroidPotentialKit();
|
||||||
|
setupAndroidDevice();
|
||||||
|
setupAndroidQtVersion();
|
||||||
|
setupAndroidToolchain();
|
||||||
|
|
||||||
setupAndroidSettingsPage();
|
setupAndroidDeviceManager(this);
|
||||||
|
|
||||||
setupAndroidPackageInstallationStep();
|
setupAndroidSettingsPage();
|
||||||
setupAndroidBuildApkStep();
|
|
||||||
|
|
||||||
setupAndroidDeployConfiguration();
|
setupAndroidPackageInstallationStep();
|
||||||
setupAndroidDeployQtStep();
|
setupAndroidBuildApkStep();
|
||||||
|
|
||||||
setupAndroidRunConfiguration();
|
setupAndroidDeployConfiguration();
|
||||||
setupAndroidRunWorker();
|
setupAndroidDeployQtStep();
|
||||||
setupAndroidDebugWorker();
|
|
||||||
setupAndroidQmlToolingSupport();
|
|
||||||
setupAndroidQmlPreviewWorker();
|
|
||||||
|
|
||||||
setupJavaEditor();
|
setupAndroidRunConfiguration();
|
||||||
setupAndroidManifestEditor();
|
setupAndroidRunWorker();
|
||||||
|
setupAndroidDebugWorker();
|
||||||
|
setupAndroidQmlToolingSupport();
|
||||||
|
setupAndroidQmlPreviewWorker();
|
||||||
|
|
||||||
connect(KitManager::instance(), &KitManager::kitsLoaded,
|
setupJavaEditor();
|
||||||
this, &AndroidPlugin::kitsRestored);
|
setupAndroidManifestEditor();
|
||||||
|
|
||||||
LanguageClient::LanguageClientSettings::registerClientType(
|
connect(KitManager::instance(), &KitManager::kitsLoaded,
|
||||||
{Android::Constants::JLS_SETTINGS_ID,
|
this, &AndroidPlugin::kitsRestored);
|
||||||
Tr::tr("Java Language Server"),
|
|
||||||
[] { return new JLSSettings; }});
|
LanguageClient::LanguageClientSettings::registerClientType(
|
||||||
|
{Android::Constants::JLS_SETTINGS_ID,
|
||||||
|
Tr::tr("Java Language Server"),
|
||||||
|
[] { return new JLSSettings; }});
|
||||||
|
|
||||||
#ifdef WITH_TESTS
|
#ifdef WITH_TESTS
|
||||||
addTest<AndroidSdkManagerTest>();
|
addTest<AndroidSdkManagerTest>();
|
||||||
addTest<SdkManagerOutputParserTest>();
|
addTest<SdkManagerOutputParserTest>();
|
||||||
|
addTest<AndroidTests>();
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void AndroidPlugin::kitsRestored()
|
void kitsRestored()
|
||||||
{
|
{
|
||||||
const bool qtForAndroidInstalled
|
const bool qtForAndroidInstalled
|
||||||
= !QtSupport::QtVersionManager::versions([](const QtSupport::QtVersion *v) {
|
= !QtSupport::QtVersionManager::versions([](const QtSupport::QtVersion *v) {
|
||||||
return v->targetDeviceTypes().contains(Android::Constants::ANDROID_DEVICE_TYPE);
|
return v->targetDeviceTypes().contains(Android::Constants::ANDROID_DEVICE_TYPE);
|
||||||
}).isEmpty();
|
}).isEmpty();
|
||||||
|
|
||||||
if (!AndroidConfigurations::currentConfig().sdkFullyConfigured() && qtForAndroidInstalled)
|
if (!AndroidConfigurations::currentConfig().sdkFullyConfigured() && qtForAndroidInstalled)
|
||||||
askUserAboutAndroidSetup();
|
askUserAboutAndroidSetup();
|
||||||
|
|
||||||
AndroidConfigurations::registerNewToolchains();
|
|
||||||
AndroidConfigurations::updateAutomaticKitList();
|
|
||||||
connect(QtSupport::QtVersionManager::instance(), &QtSupport::QtVersionManager::qtVersionsChanged,
|
|
||||||
AndroidConfigurations::instance(), [] {
|
|
||||||
AndroidConfigurations::registerNewToolchains();
|
AndroidConfigurations::registerNewToolchains();
|
||||||
AndroidConfigurations::updateAutomaticKitList();
|
AndroidConfigurations::updateAutomaticKitList();
|
||||||
});
|
connect(QtSupport::QtVersionManager::instance(), &QtSupport::QtVersionManager::qtVersionsChanged,
|
||||||
disconnect(KitManager::instance(), &KitManager::kitsLoaded,
|
AndroidConfigurations::instance(), [] {
|
||||||
this, &AndroidPlugin::kitsRestored);
|
AndroidConfigurations::registerNewToolchains();
|
||||||
}
|
AndroidConfigurations::updateAutomaticKitList();
|
||||||
|
});
|
||||||
|
disconnect(KitManager::instance(), &KitManager::kitsLoaded,
|
||||||
|
this, &AndroidPlugin::kitsRestored);
|
||||||
|
}
|
||||||
|
|
||||||
void AndroidPlugin::askUserAboutAndroidSetup()
|
void askUserAboutAndroidSetup()
|
||||||
{
|
{
|
||||||
NANOTRACE_SCOPE("Android", "AndroidPlugin::askUserAboutAndroidSetup");
|
NANOTRACE_SCOPE("Android", "AndroidPlugin::askUserAboutAndroidSetup");
|
||||||
if (!Core::ICore::infoBar()->canInfoBeAdded(kSetupAndroidSetting))
|
if (!Core::ICore::infoBar()->canInfoBeAdded(kSetupAndroidSetting))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
Utils::InfoBarEntry
|
Utils::InfoBarEntry
|
||||||
info(kSetupAndroidSetting,
|
info(kSetupAndroidSetting,
|
||||||
Tr::tr("Would you like to configure Android options? This will ensure "
|
Tr::tr("Would you like to configure Android options? This will ensure "
|
||||||
"Android kits can be usable and all essential packages are installed. "
|
"Android kits can be usable and all essential packages are installed. "
|
||||||
"To do it later, select Edit > Preferences > Devices > Android."),
|
"To do it later, select Edit > Preferences > Devices > Android."),
|
||||||
Utils::InfoBarEntry::GlobalSuppression::Enabled);
|
Utils::InfoBarEntry::GlobalSuppression::Enabled);
|
||||||
info.addCustomButton(Tr::tr("Configure Android"), [this] {
|
info.addCustomButton(Tr::tr("Configure Android"), [this] {
|
||||||
Core::ICore::infoBar()->removeInfo(kSetupAndroidSetting);
|
Core::ICore::infoBar()->removeInfo(kSetupAndroidSetting);
|
||||||
Core::ICore::infoBar()->globallySuppressInfo(kSetupAndroidSetting);
|
Core::ICore::infoBar()->globallySuppressInfo(kSetupAndroidSetting);
|
||||||
QTimer::singleShot(0, this, [] {
|
QTimer::singleShot(0, this, [] {
|
||||||
Core::ICore::showOptionsDialog(Constants::ANDROID_SETTINGS_ID);
|
Core::ICore::showOptionsDialog(Constants::ANDROID_SETTINGS_ID);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
Core::ICore::infoBar()->addInfo(info);
|
||||||
Core::ICore::infoBar()->addInfo(info);
|
}
|
||||||
}
|
};
|
||||||
|
|
||||||
} // Android::Internal
|
} // Android::Internal
|
||||||
|
|
||||||
|
#include "androidplugin.moc"
|
||||||
|
|||||||
@@ -3,21 +3,16 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <extensionsystem/iplugin.h>
|
#include <QObject>
|
||||||
|
|
||||||
namespace Android::Internal {
|
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
|
#ifdef WITH_TESTS
|
||||||
|
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void testAndroidConfigAvailableNdkPlatforms_data();
|
void testAndroidConfigAvailableNdkPlatforms_data();
|
||||||
void testAndroidConfigAvailableNdkPlatforms();
|
void testAndroidConfigAvailableNdkPlatforms();
|
||||||
|
|||||||
@@ -286,7 +286,7 @@ void setupAndroidQtVersion()
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef WITH_TESTS
|
#ifdef WITH_TESTS
|
||||||
void AndroidPlugin::testAndroidQtVersionParseBuiltWith_data()
|
void AndroidTests::testAndroidQtVersionParseBuiltWith_data()
|
||||||
{
|
{
|
||||||
QTest::addColumn<QString>("modulesCoreJson");
|
QTest::addColumn<QString>("modulesCoreJson");
|
||||||
QTest::addColumn<bool>("hasInfo");
|
QTest::addColumn<bool>("hasInfo");
|
||||||
@@ -332,7 +332,7 @@ void AndroidPlugin::testAndroidQtVersionParseBuiltWith_data()
|
|||||||
<< 31;
|
<< 31;
|
||||||
}
|
}
|
||||||
|
|
||||||
void AndroidPlugin::testAndroidQtVersionParseBuiltWith()
|
void AndroidTests::testAndroidQtVersionParseBuiltWith()
|
||||||
{
|
{
|
||||||
QFETCH(QString, modulesCoreJson);
|
QFETCH(QString, modulesCoreJson);
|
||||||
QFETCH(bool, hasInfo);
|
QFETCH(bool, hasInfo);
|
||||||
|
|||||||
Reference in New Issue
Block a user