From 8e9454010be173fe7e421d144f72274c936357bc Mon Sep 17 00:00:00 2001 From: Ulf Hermann Date: Fri, 9 Feb 2018 17:20:22 +0100 Subject: [PATCH] Android: Make qmlscene command configurable Change-Id: Ife1dd4ae9fa3bcc822c27d744c3ed626bae99b8f Reviewed-by: Vikas Pachdha --- src/plugins/android/androidconfigurations.cpp | 17 +++++++++++++++++ src/plugins/android/androidconfigurations.h | 4 ++++ src/plugins/android/androiddevice.cpp | 4 ++-- 3 files changed, 23 insertions(+), 2 deletions(-) diff --git a/src/plugins/android/androidconfigurations.cpp b/src/plugins/android/androidconfigurations.cpp index 41955ce0516..92507cd9be9 100644 --- a/src/plugins/android/androidconfigurations.cpp +++ b/src/plugins/android/androidconfigurations.cpp @@ -93,6 +93,7 @@ namespace { const QLatin1String OpenJDKLocationKey("OpenJDKLocation"); const QLatin1String KeystoreLocationKey("KeystoreLocation"); const QLatin1String AutomaticKitCreationKey("AutomatiKitCreation"); + const QLatin1String DeviceQmlsceneCommandKey("DeviceQmlsceneCommand"); const QLatin1String MakeExtraSearchDirectory("MakeExtraSearchDirectory"); const QLatin1String PartitionSizeKey("PartitionSize"); const QLatin1String ToolchainHostKey("ToolchainHost"); @@ -125,6 +126,9 @@ namespace { const QLatin1String sdkToolsVersionKey("Pkg.Revision"); const QLatin1String ndkRevisionKey("Pkg.Revision"); + const QLatin1String defaultQmlScene("org.qtproject.example.qmlscene/" + "org.qtproject.qt5.android.bindings.QtActivity"); + static QString sdkSettingsFileName() { return Core::ICore::installerResourcePath() + "/android.xml"; @@ -253,6 +257,7 @@ void AndroidConfig::load(const QSettings &settings) m_keystoreLocation = FileName::fromString(settings.value(KeystoreLocationKey).toString()); m_toolchainHost = settings.value(ToolchainHostKey).toString(); m_automaticKitCreation = settings.value(AutomaticKitCreationKey, true).toBool(); + m_deviceQmlsceneCommand = settings.value(DeviceQmlsceneCommandKey, defaultQmlScene).toString(); QString extraDirectory = settings.value(MakeExtraSearchDirectory).toString(); m_makeExtraSearchDirectories.clear(); if (!extraDirectory.isEmpty()) @@ -269,6 +274,7 @@ void AndroidConfig::load(const QSettings &settings) m_keystoreLocation = FileName::fromString(reader.restoreValue(KeystoreLocationKey, m_keystoreLocation.toString()).toString()); m_toolchainHost = reader.restoreValue(ToolchainHostKey, m_toolchainHost).toString(); m_automaticKitCreation = reader.restoreValue(AutomaticKitCreationKey, m_automaticKitCreation).toBool(); + m_deviceQmlsceneCommand = reader.restoreValue(DeviceQmlsceneCommandKey, m_deviceQmlsceneCommand).toString(); QString extraDirectory = reader.restoreValue(MakeExtraSearchDirectory).toString(); m_makeExtraSearchDirectories.clear(); if (!extraDirectory.isEmpty()) @@ -292,6 +298,7 @@ void AndroidConfig::save(QSettings &settings) const settings.setValue(KeystoreLocationKey, m_keystoreLocation.toString()); settings.setValue(PartitionSizeKey, m_partitionSize); settings.setValue(AutomaticKitCreationKey, m_automaticKitCreation); + settings.setValue(DeviceQmlsceneCommandKey, m_deviceQmlsceneCommand); settings.setValue(ToolchainHostKey, m_toolchainHost); settings.setValue(MakeExtraSearchDirectory, m_makeExtraSearchDirectories.isEmpty() ? QString() @@ -858,6 +865,16 @@ void AndroidConfig::setAutomaticKitCreation(bool b) m_automaticKitCreation = b; } +QString AndroidConfig::deviceQmlsceneCommand() const +{ + return m_deviceQmlsceneCommand; +} + +void AndroidConfig::setDeviceQmlsceneCommand(const QString &qmlsceneCommand) +{ + m_deviceQmlsceneCommand = qmlsceneCommand; +} + /////////////////////////////////// // AndroidConfigurations /////////////////////////////////// diff --git a/src/plugins/android/androidconfigurations.h b/src/plugins/android/androidconfigurations.h index a28a360e269..d2fd039c162 100644 --- a/src/plugins/android/androidconfigurations.h +++ b/src/plugins/android/androidconfigurations.h @@ -124,6 +124,9 @@ public: bool automaticKitCreation() const; void setAutomaticKitCreation(bool b); + QString deviceQmlsceneCommand() const; + void setDeviceQmlsceneCommand(const QString &qmlsceneCommand); + Utils::FileName adbToolPath() const; Utils::FileName androidToolPath() const; Utils::FileName emulatorToolPath() const; @@ -178,6 +181,7 @@ private: QStringList m_makeExtraSearchDirectories; unsigned m_partitionSize = 1024; bool m_automaticKitCreation = true; + QString m_deviceQmlsceneCommand; //caches mutable bool m_NdkInformationUpToDate = false; diff --git a/src/plugins/android/androiddevice.cpp b/src/plugins/android/androiddevice.cpp index ae1fa68fc8c..ae38ff5dad3 100644 --- a/src/plugins/android/androiddevice.cpp +++ b/src/plugins/android/androiddevice.cpp @@ -26,6 +26,7 @@ #include "androiddevice.h" #include "androidconstants.h" #include "androidsignaloperation.h" +#include "androidconfigurations.h" #include #include @@ -47,8 +48,7 @@ AndroidDevice::AndroidDevice() { setDisplayName(QCoreApplication::translate("Android::Internal::AndroidDevice", "Run on Android")); setDeviceState(DeviceReadyToUse); - setQmlsceneCommand( - "org.qtproject.example.qmlscene/org.qtproject.qt5.android.bindings.QtActivity"); + setQmlsceneCommand(AndroidConfigurations::currentConfig().deviceQmlsceneCommand()); } AndroidDevice::AndroidDevice(const AndroidDevice &other)