aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhjk <[email protected]>2022-04-14 16:52:51 +0200
committerhjk <[email protected]>2022-04-22 14:21:09 +0000
commit4297b9f289e61970b3e40e42b10eab7740160615 (patch)
tree268a106283a7aa125e3e8517094619ae7027d801
parent2533a4cfd6f55f9b68ccab35ca7bf51b3b51b505 (diff)
Android: Avoid one use of ProcessArgs::splitArgs()
Replaced by the more harmless joinArgs in a compatibility settings code path for now. Change-Id: Id6d94faea26002f4a2641b5824d97e09a783b720 Reviewed-by: Alessandro Portale <[email protected]>
-rw-r--r--src/plugins/android/androidavdmanager.cpp12
-rw-r--r--src/plugins/android/androidconfigurations.cpp10
-rw-r--r--src/plugins/android/androidconfigurations.h6
-rw-r--r--src/plugins/android/androiddevice.cpp4
4 files changed, 17 insertions, 15 deletions
diff --git a/src/plugins/android/androidavdmanager.cpp b/src/plugins/android/androidavdmanager.cpp
index b5c57093704..95699a5c56e 100644
--- a/src/plugins/android/androidavdmanager.cpp
+++ b/src/plugins/android/androidavdmanager.cpp
@@ -292,14 +292,14 @@ bool AndroidAvdManager::startAvdAsync(const QString &avdName) const
});
// start the emulator
- QStringList arguments;
+ CommandLine cmd(m_config.emulatorToolPath());
if (AndroidConfigurations::force32bitEmulator())
- arguments << "-force-32bit";
+ cmd.addArg("-force-32bit");
- arguments << m_config.emulatorArgs() << "-avd" << avdName;
- qCDebug(avdManagerLog) << "Running command (startAvdAsync):"
- << CommandLine(m_config.emulatorToolPath(), arguments).toUserOutput();
- avdProcess->setCommand({m_config.emulatorToolPath(), arguments});
+ cmd.addArgs(m_config.emulatorArgs(), CommandLine::Raw);
+ cmd.addArgs({"-avd", avdName});
+ qCDebug(avdManagerLog) << "Running command (startAvdAsync):" << cmd.toUserOutput();
+ avdProcess->setCommand(cmd);
avdProcess->start();
return avdProcess->waitForStarted(-1);
}
diff --git a/src/plugins/android/androidconfigurations.cpp b/src/plugins/android/androidconfigurations.cpp
index c3702fa2763..d8e1432ada0 100644
--- a/src/plugins/android/androidconfigurations.cpp
+++ b/src/plugins/android/androidconfigurations.cpp
@@ -229,8 +229,10 @@ QLatin1String AndroidConfig::displayName(const Abi &abi)
void AndroidConfig::load(const QSettings &settings)
{
// user settings
- m_emulatorArgs = settings.value(EmulatorArgsKey,
- QStringList({"-netdelay", "none", "-netspeed", "full"})).toStringList();
+ QVariant emulatorArgs = settings.value(EmulatorArgsKey, QString("-netdelay none -netspeed full"));
+ if (emulatorArgs.type() == QVariant::StringList) // Changed in 8.0 from QStringList to QString.
+ emulatorArgs = ProcessArgs::joinArgs(emulatorArgs.toStringList());
+ m_emulatorArgs = emulatorArgs.toString();
m_sdkLocation = FilePath::fromUserInput(settings.value(SDKLocationKey).toString()).cleanPath();
m_customNdkList = settings.value(CustomNdkLocationsKey).toStringList();
m_defaultNdk =
@@ -1106,12 +1108,12 @@ QString AndroidConfig::toolchainHostFromNdk(const FilePath &ndkPath)
return toolchainHost;
}
-QStringList AndroidConfig::emulatorArgs() const
+QString AndroidConfig::emulatorArgs() const
{
return m_emulatorArgs;
}
-void AndroidConfig::setEmulatorArgs(const QStringList &args)
+void AndroidConfig::setEmulatorArgs(const QString &args)
{
m_emulatorArgs = args;
}
diff --git a/src/plugins/android/androidconfigurations.h b/src/plugins/android/androidconfigurations.h
index c9726370eef..0578b3f5783 100644
--- a/src/plugins/android/androidconfigurations.h
+++ b/src/plugins/android/androidconfigurations.h
@@ -123,8 +123,8 @@ public:
QString toolchainHost(const QtSupport::QtVersion *qtVersion) const;
static QString toolchainHostFromNdk(const Utils::FilePath &ndkPath);
- QStringList emulatorArgs() const;
- void setEmulatorArgs(const QStringList &args);
+ QString emulatorArgs() const;
+ void setEmulatorArgs(const QString &args);
bool automaticKitCreation() const;
void setAutomaticKitCreation(bool b);
@@ -196,7 +196,7 @@ private:
Utils::FilePath m_openJDKLocation;
Utils::FilePath m_keystoreLocation;
Utils::FilePath m_openSslLocation;
- QStringList m_emulatorArgs;
+ QString m_emulatorArgs;
bool m_automaticKitCreation = true;
QUrl m_sdkToolsUrl;
QByteArray m_sdkToolsSha256;
diff --git a/src/plugins/android/androiddevice.cpp b/src/plugins/android/androiddevice.cpp
index 231d80ffe37..de06abbd9d5 100644
--- a/src/plugins/android/androiddevice.cpp
+++ b/src/plugins/android/androiddevice.cpp
@@ -603,7 +603,7 @@ void AndroidDeviceManager::setEmulatorArguments(QWidget *parent)
dialog.setLabelText(AndroidDevice::tr("Emulator command-line startup options "
"(<a href=\"%1\">Help Web Page</a>):")
.arg(helpUrl));
- dialog.setTextValue(m_androidConfig.emulatorArgs().join(' '));
+ dialog.setTextValue(m_androidConfig.emulatorArgs());
if (auto label = dialog.findChild<QLabel*>()) {
label->setOpenExternalLinks(true);
@@ -613,7 +613,7 @@ void AndroidDeviceManager::setEmulatorArguments(QWidget *parent)
if (dialog.exec() != QDialog::Accepted)
return;
- m_androidConfig.setEmulatorArgs(ProcessArgs::splitArgs(dialog.textValue()));
+ m_androidConfig.setEmulatorArgs(dialog.textValue());
}
QString AndroidDeviceManager::getRunningAvdsSerialNumber(const QString &name) const