forked from qt-creator/qt-creator
Android: Obtain values for AndroidRunnerWorker from settings data
The members of AndroidRunnerWorker are supposed to be initialized with aspect values from the AndroidRunConfiguration. But they were instead unsuccessfully obtained from the RunControl's aspects. This obtains the values from the RunControl's settings, instead. Fixes: QTCREATORBUG-29160 Change-Id: I124184c32d158e0648a0ee1d23dfe8707d18eab8 Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -263,15 +263,17 @@ AndroidRunnerWorker::AndroidRunnerWorker(RunWorker *runner, const QString &packa
|
|||||||
if (target->buildConfigurations().first()->buildType() != BuildConfiguration::BuildType::Release)
|
if (target->buildConfigurations().first()->buildType() != BuildConfiguration::BuildType::Release)
|
||||||
m_extraAppParams = runControl->commandLine().arguments();
|
m_extraAppParams = runControl->commandLine().arguments();
|
||||||
|
|
||||||
if (auto aspect = runControl->aspect(Constants::ANDROID_AM_START_ARGS)) {
|
if (const QVariantMap sd = runControl->settingsData(Constants::ANDROID_AM_START_ARGS);
|
||||||
QTC_CHECK(aspect->value.typeId() == QVariant::String);
|
!sd.values().isEmpty()) {
|
||||||
const QString startArgs = aspect->value.toString();
|
QTC_CHECK(sd.first().type() == QVariant::String);
|
||||||
|
const QString startArgs = sd.first().toString();
|
||||||
m_amStartExtraArgs = ProcessArgs::splitArgs(startArgs, OsTypeOtherUnix);
|
m_amStartExtraArgs = ProcessArgs::splitArgs(startArgs, OsTypeOtherUnix);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (auto aspect = runControl->aspect(Constants::ANDROID_PRESTARTSHELLCMDLIST)) {
|
if (const QVariantMap sd = runControl->settingsData(Constants::ANDROID_PRESTARTSHELLCMDLIST);
|
||||||
QTC_CHECK(aspect->value.typeId() == QVariant::String);
|
!sd.values().isEmpty()) {
|
||||||
const QStringList commands = aspect->value.toString().split('\n', Qt::SkipEmptyParts);
|
QTC_CHECK(sd.first().type() == QVariant::String);
|
||||||
|
const QStringList commands = sd.first().toString().split('\n', Qt::SkipEmptyParts);
|
||||||
for (const QString &shellCmd : commands)
|
for (const QString &shellCmd : commands)
|
||||||
m_beforeStartAdbCommands.append(QString("shell %1").arg(shellCmd));
|
m_beforeStartAdbCommands.append(QString("shell %1").arg(shellCmd));
|
||||||
}
|
}
|
||||||
@@ -279,9 +281,10 @@ AndroidRunnerWorker::AndroidRunnerWorker(RunWorker *runner, const QString &packa
|
|||||||
for (const QString &shellCmd : preStartCmdList.toStringList())
|
for (const QString &shellCmd : preStartCmdList.toStringList())
|
||||||
m_beforeStartAdbCommands.append(QString("shell %1").arg(shellCmd));
|
m_beforeStartAdbCommands.append(QString("shell %1").arg(shellCmd));
|
||||||
|
|
||||||
if (auto aspect = runControl->aspect(Constants::ANDROID_POSTFINISHSHELLCMDLIST)) {
|
if (const QVariantMap sd = runControl->settingsData(Constants::ANDROID_POSTFINISHSHELLCMDLIST);
|
||||||
QTC_CHECK(aspect->value.typeId() == QVariant::String);
|
!sd.values().isEmpty()) {
|
||||||
const QStringList commands = aspect->value.toString().split('\n', Qt::SkipEmptyParts);
|
QTC_CHECK(sd.first().type() == QVariant::String);
|
||||||
|
const QStringList commands = sd.first().toString().split('\n', Qt::SkipEmptyParts);
|
||||||
for (const QString &shellCmd : commands)
|
for (const QString &shellCmd : commands)
|
||||||
m_afterFinishAdbCommands.append(QString("shell %1").arg(shellCmd));
|
m_afterFinishAdbCommands.append(QString("shell %1").arg(shellCmd));
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user