diff --git a/src/plugins/android/androidconfigurations.cpp b/src/plugins/android/androidconfigurations.cpp index 65f55080630..6377ee73ee1 100644 --- a/src/plugins/android/androidconfigurations.cpp +++ b/src/plugins/android/androidconfigurations.cpp @@ -1408,7 +1408,7 @@ Environment AndroidConfigurations::toolsEnvironment(const AndroidConfig &config) return env; } -const AndroidConfig &AndroidConfigurations::currentConfig() +AndroidConfig &AndroidConfigurations::currentConfig() { return m_instance->m_config; // ensure that m_instance is initialized } diff --git a/src/plugins/android/androidconfigurations.h b/src/plugins/android/androidconfigurations.h index 2fc22ddbc2e..2110125ad70 100644 --- a/src/plugins/android/androidconfigurations.h +++ b/src/plugins/android/androidconfigurations.h @@ -211,7 +211,7 @@ class ANDROID_EXPORT AndroidConfigurations : public QObject Q_OBJECT public: - static const AndroidConfig ¤tConfig(); + static AndroidConfig ¤tConfig(); static Internal::AndroidSdkManager *sdkManager(); static void setConfig(const AndroidConfig &config); static AndroidConfigurations *instance(); diff --git a/src/plugins/android/androiddevice.cpp b/src/plugins/android/androiddevice.cpp index de8a89e7f76..3d4376a98fd 100644 --- a/src/plugins/android/androiddevice.cpp +++ b/src/plugins/android/androiddevice.cpp @@ -627,8 +627,8 @@ AndroidDeviceManager *AndroidDeviceManager::instance() AndroidDeviceManager::AndroidDeviceManager(QObject *parent) : QObject(parent), - m_avdManager(m_androidConfig), - m_androidConfig(AndroidConfigurations::currentConfig()) + m_androidConfig(AndroidConfigurations::currentConfig()), + m_avdManager(m_androidConfig) { connect(qApp, &QCoreApplication::aboutToQuit, this, [this]() { m_devicesUpdaterTimer.stop(); diff --git a/src/plugins/android/androiddevice.h b/src/plugins/android/androiddevice.h index e99d8bd4cec..a9133de3f32 100644 --- a/src/plugins/android/androiddevice.h +++ b/src/plugins/android/androiddevice.h @@ -90,7 +90,7 @@ public: ProjectExplorer::IDevice::Ptr create() const override; private: - AndroidConfig m_androidConfig; + const AndroidConfig &m_androidConfig; }; class AndroidDeviceManager : public QObject @@ -116,8 +116,8 @@ private: QFutureWatcher> m_devicesFutureWatcher; QFutureWatcher> m_removeAvdFutureWatcher; QTimer m_devicesUpdaterTimer; + AndroidConfig &m_androidConfig; AndroidAvdManager m_avdManager; - AndroidConfig m_androidConfig; }; } // namespace Internal diff --git a/src/plugins/android/androidqmlpreviewworker.h b/src/plugins/android/androidqmlpreviewworker.h index c837570e01f..68e541a8ec8 100644 --- a/src/plugins/android/androidqmlpreviewworker.h +++ b/src/plugins/android/androidqmlpreviewworker.h @@ -78,7 +78,7 @@ private: Utils::FilePath createQmlrcFile(const Utils::FilePath &workFolder, const QString &basename); ProjectExplorer::RunControl *m_rc = nullptr; - AndroidConfig m_androidConfig; + const AndroidConfig &m_androidConfig; QString m_serialNumber; QStringList m_avdAbis; int m_viewerPid = -1; diff --git a/src/plugins/android/androidsdkdownloader.cpp b/src/plugins/android/androidsdkdownloader.cpp index 16be29fa25f..1ed8e045810 100644 --- a/src/plugins/android/androidsdkdownloader.cpp +++ b/src/plugins/android/androidsdkdownloader.cpp @@ -48,8 +48,8 @@ namespace Internal { * @brief Download Android SDK tools package from within Qt Creator. */ AndroidSdkDownloader::AndroidSdkDownloader() + : m_androidConfig(AndroidConfigurations::currentConfig()) { - m_androidConfig = AndroidConfigurations::currentConfig(); connect(&m_manager, &QNetworkAccessManager::finished, this, &AndroidSdkDownloader::downloadFinished); } diff --git a/src/plugins/android/androidsdkdownloader.h b/src/plugins/android/androidsdkdownloader.h index b462c4b510c..a018d3d10cd 100644 --- a/src/plugins/android/androidsdkdownloader.h +++ b/src/plugins/android/androidsdkdownloader.h @@ -72,7 +72,7 @@ private: QNetworkReply *m_reply = nullptr; Utils::FilePath m_sdkFilename; QProgressDialog *m_progressDialog = nullptr; - AndroidConfig m_androidConfig; + const AndroidConfig &m_androidConfig; }; } // Internal diff --git a/src/plugins/android/androidsettingswidget.cpp b/src/plugins/android/androidsettingswidget.cpp index 44fc69e92b9..dfa22056370 100644 --- a/src/plugins/android/androidsettingswidget.cpp +++ b/src/plugins/android/androidsettingswidget.cpp @@ -108,7 +108,7 @@ private: Ui_AndroidSettingsWidget m_ui; AndroidSdkManagerWidget *m_sdkManagerWidget = nullptr; - AndroidConfig m_androidConfig{AndroidConfigurations::currentConfig()}; + AndroidConfig &m_androidConfig{AndroidConfigurations::currentConfig()}; AndroidSdkManager m_sdkManager{m_androidConfig}; AndroidSdkDownloader m_sdkDownloader; diff --git a/src/plugins/android/androidtoolchain.cpp b/src/plugins/android/androidtoolchain.cpp index ff92e8c74a3..8406ea0e678 100644 --- a/src/plugins/android/androidtoolchain.cpp +++ b/src/plugins/android/androidtoolchain.cpp @@ -116,7 +116,7 @@ bool AndroidToolChain::isValid() const void AndroidToolChain::addToEnvironment(Environment &env) const { - AndroidConfig config = AndroidConfigurations::currentConfig(); + const AndroidConfig &config = AndroidConfigurations::currentConfig(); env.set(QLatin1String("ANDROID_NDK_HOST"), config.toolchainHostFromNdk(m_ndkLocation)); const Utils::FilePath javaHome = config.openJDKLocation(); if (javaHome.exists()) { @@ -178,7 +178,7 @@ static FilePath clangPlusPlusPath(const FilePath &clangPath) static QList uniqueNdksForCurrentQtVersions() { - AndroidConfig config = AndroidConfigurations::currentConfig(); + const AndroidConfig &config = AndroidConfigurations::currentConfig(); auto androidQtVersions = QtSupport::QtVersionManager::versions( [](const QtSupport::BaseQtVersion *v) { diff --git a/src/plugins/android/avddialog.cpp b/src/plugins/android/avddialog.cpp index d3418f39ca8..795537e1db7 100644 --- a/src/plugins/android/avddialog.cpp +++ b/src/plugins/android/avddialog.cpp @@ -51,9 +51,9 @@ static Q_LOGGING_CATEGORY(avdDialogLog, "qtc.android.avdDialog", QtWarningMsg) AvdDialog::AvdDialog(const AndroidConfig &config, QWidget *parent) : QDialog(parent), + m_androidConfig(config), m_sdkManager(m_androidConfig), - m_allowedNameChars(QLatin1String("[a-z|A-Z|0-9|._-]*")), - m_androidConfig(config) + m_allowedNameChars(QLatin1String("[a-z|A-Z|0-9|._-]*")) { m_avdDialog.setupUi(this); m_hideTipTimer.setInterval(2000); diff --git a/src/plugins/android/avddialog.h b/src/plugins/android/avddialog.h index 3f95bed2130..45169bd79f4 100644 --- a/src/plugins/android/avddialog.h +++ b/src/plugins/android/avddialog.h @@ -71,12 +71,12 @@ private: }; Ui::AddNewAVDDialog m_avdDialog; - AndroidSdkManager m_sdkManager; CreateAvdInfo m_createdAvdInfo; QTimer m_hideTipTimer; QRegularExpression m_allowedNameChars; QList m_deviceDefinitionsList; - AndroidConfig m_androidConfig; + const AndroidConfig &m_androidConfig; + AndroidSdkManager m_sdkManager; QMap deviceTypeToStringMap; }; }