Android: Make qmlscene command configurable

Change-Id: Ife1dd4ae9fa3bcc822c27d744c3ed626bae99b8f
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
This commit is contained in:
Ulf Hermann
2018-02-09 17:20:22 +01:00
parent 8b867e88f4
commit 8e9454010b
3 changed files with 23 additions and 2 deletions

View File

@@ -93,6 +93,7 @@ namespace {
const QLatin1String OpenJDKLocationKey("OpenJDKLocation"); const QLatin1String OpenJDKLocationKey("OpenJDKLocation");
const QLatin1String KeystoreLocationKey("KeystoreLocation"); const QLatin1String KeystoreLocationKey("KeystoreLocation");
const QLatin1String AutomaticKitCreationKey("AutomatiKitCreation"); const QLatin1String AutomaticKitCreationKey("AutomatiKitCreation");
const QLatin1String DeviceQmlsceneCommandKey("DeviceQmlsceneCommand");
const QLatin1String MakeExtraSearchDirectory("MakeExtraSearchDirectory"); const QLatin1String MakeExtraSearchDirectory("MakeExtraSearchDirectory");
const QLatin1String PartitionSizeKey("PartitionSize"); const QLatin1String PartitionSizeKey("PartitionSize");
const QLatin1String ToolchainHostKey("ToolchainHost"); const QLatin1String ToolchainHostKey("ToolchainHost");
@@ -125,6 +126,9 @@ namespace {
const QLatin1String sdkToolsVersionKey("Pkg.Revision"); const QLatin1String sdkToolsVersionKey("Pkg.Revision");
const QLatin1String ndkRevisionKey("Pkg.Revision"); const QLatin1String ndkRevisionKey("Pkg.Revision");
const QLatin1String defaultQmlScene("org.qtproject.example.qmlscene/"
"org.qtproject.qt5.android.bindings.QtActivity");
static QString sdkSettingsFileName() static QString sdkSettingsFileName()
{ {
return Core::ICore::installerResourcePath() + "/android.xml"; 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_keystoreLocation = FileName::fromString(settings.value(KeystoreLocationKey).toString());
m_toolchainHost = settings.value(ToolchainHostKey).toString(); m_toolchainHost = settings.value(ToolchainHostKey).toString();
m_automaticKitCreation = settings.value(AutomaticKitCreationKey, true).toBool(); m_automaticKitCreation = settings.value(AutomaticKitCreationKey, true).toBool();
m_deviceQmlsceneCommand = settings.value(DeviceQmlsceneCommandKey, defaultQmlScene).toString();
QString extraDirectory = settings.value(MakeExtraSearchDirectory).toString(); QString extraDirectory = settings.value(MakeExtraSearchDirectory).toString();
m_makeExtraSearchDirectories.clear(); m_makeExtraSearchDirectories.clear();
if (!extraDirectory.isEmpty()) 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_keystoreLocation = FileName::fromString(reader.restoreValue(KeystoreLocationKey, m_keystoreLocation.toString()).toString());
m_toolchainHost = reader.restoreValue(ToolchainHostKey, m_toolchainHost).toString(); m_toolchainHost = reader.restoreValue(ToolchainHostKey, m_toolchainHost).toString();
m_automaticKitCreation = reader.restoreValue(AutomaticKitCreationKey, m_automaticKitCreation).toBool(); m_automaticKitCreation = reader.restoreValue(AutomaticKitCreationKey, m_automaticKitCreation).toBool();
m_deviceQmlsceneCommand = reader.restoreValue(DeviceQmlsceneCommandKey, m_deviceQmlsceneCommand).toString();
QString extraDirectory = reader.restoreValue(MakeExtraSearchDirectory).toString(); QString extraDirectory = reader.restoreValue(MakeExtraSearchDirectory).toString();
m_makeExtraSearchDirectories.clear(); m_makeExtraSearchDirectories.clear();
if (!extraDirectory.isEmpty()) if (!extraDirectory.isEmpty())
@@ -292,6 +298,7 @@ void AndroidConfig::save(QSettings &settings) const
settings.setValue(KeystoreLocationKey, m_keystoreLocation.toString()); settings.setValue(KeystoreLocationKey, m_keystoreLocation.toString());
settings.setValue(PartitionSizeKey, m_partitionSize); settings.setValue(PartitionSizeKey, m_partitionSize);
settings.setValue(AutomaticKitCreationKey, m_automaticKitCreation); settings.setValue(AutomaticKitCreationKey, m_automaticKitCreation);
settings.setValue(DeviceQmlsceneCommandKey, m_deviceQmlsceneCommand);
settings.setValue(ToolchainHostKey, m_toolchainHost); settings.setValue(ToolchainHostKey, m_toolchainHost);
settings.setValue(MakeExtraSearchDirectory, settings.setValue(MakeExtraSearchDirectory,
m_makeExtraSearchDirectories.isEmpty() ? QString() m_makeExtraSearchDirectories.isEmpty() ? QString()
@@ -858,6 +865,16 @@ void AndroidConfig::setAutomaticKitCreation(bool b)
m_automaticKitCreation = b; m_automaticKitCreation = b;
} }
QString AndroidConfig::deviceQmlsceneCommand() const
{
return m_deviceQmlsceneCommand;
}
void AndroidConfig::setDeviceQmlsceneCommand(const QString &qmlsceneCommand)
{
m_deviceQmlsceneCommand = qmlsceneCommand;
}
/////////////////////////////////// ///////////////////////////////////
// AndroidConfigurations // AndroidConfigurations
/////////////////////////////////// ///////////////////////////////////

View File

@@ -124,6 +124,9 @@ public:
bool automaticKitCreation() const; bool automaticKitCreation() const;
void setAutomaticKitCreation(bool b); void setAutomaticKitCreation(bool b);
QString deviceQmlsceneCommand() const;
void setDeviceQmlsceneCommand(const QString &qmlsceneCommand);
Utils::FileName adbToolPath() const; Utils::FileName adbToolPath() const;
Utils::FileName androidToolPath() const; Utils::FileName androidToolPath() const;
Utils::FileName emulatorToolPath() const; Utils::FileName emulatorToolPath() const;
@@ -178,6 +181,7 @@ private:
QStringList m_makeExtraSearchDirectories; QStringList m_makeExtraSearchDirectories;
unsigned m_partitionSize = 1024; unsigned m_partitionSize = 1024;
bool m_automaticKitCreation = true; bool m_automaticKitCreation = true;
QString m_deviceQmlsceneCommand;
//caches //caches
mutable bool m_NdkInformationUpToDate = false; mutable bool m_NdkInformationUpToDate = false;

View File

@@ -26,6 +26,7 @@
#include "androiddevice.h" #include "androiddevice.h"
#include "androidconstants.h" #include "androidconstants.h"
#include "androidsignaloperation.h" #include "androidsignaloperation.h"
#include "androidconfigurations.h"
#include <projectexplorer/runconfiguration.h> #include <projectexplorer/runconfiguration.h>
#include <projectexplorer/runnables.h> #include <projectexplorer/runnables.h>
@@ -47,8 +48,7 @@ AndroidDevice::AndroidDevice()
{ {
setDisplayName(QCoreApplication::translate("Android::Internal::AndroidDevice", "Run on Android")); setDisplayName(QCoreApplication::translate("Android::Internal::AndroidDevice", "Run on Android"));
setDeviceState(DeviceReadyToUse); setDeviceState(DeviceReadyToUse);
setQmlsceneCommand( setQmlsceneCommand(AndroidConfigurations::currentConfig().deviceQmlsceneCommand());
"org.qtproject.example.qmlscene/org.qtproject.qt5.android.bindings.QtActivity");
} }
AndroidDevice::AndroidDevice(const AndroidDevice &other) AndroidDevice::AndroidDevice(const AndroidDevice &other)