Android: Robustify aspect access by id

Warn, instead of crash in case the aspect implementation changes.

Change-Id: If74cb91395e317765d493a97dcd1cdecc6f94296
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This commit is contained in:
hjk
2021-03-26 08:26:55 +01:00
parent beda749326
commit 5a9b715fed

View File

@@ -292,13 +292,14 @@ AndroidRunnerWorker::AndroidRunnerWorker(RunWorker *runner, const QString &packa
}
if (auto aspect = runControl->aspect(Constants::ANDROID_AMSTARTARGS)) {
const QString startArgs = static_cast<StringAspect *>(aspect)->value();
QTC_CHECK(aspect->value().type() == QVariant::String);
const QString startArgs = aspect->value().toString();
m_amStartExtraArgs = QtcProcess::splitArgs(startArgs, OsTypeOtherUnix);
}
if (auto aspect = runControl->aspect(Constants::ANDROID_PRESTARTSHELLCMDLIST)) {
const QStringList commands =
static_cast<StringAspect *>(aspect)->value().split('\n', Qt::SkipEmptyParts);
QTC_CHECK(aspect->value().type() == QVariant::String);
const QStringList commands = aspect->value().toString().split('\n', Qt::SkipEmptyParts);
for (const QString &shellCmd : commands)
m_beforeStartAdbCommands.append(QString("shell %1").arg(shellCmd));
}
@@ -306,8 +307,8 @@ AndroidRunnerWorker::AndroidRunnerWorker(RunWorker *runner, const QString &packa
m_beforeStartAdbCommands.append(QString("shell %1").arg(shellCmd));
if (auto aspect = runControl->aspect(Constants::ANDROID_POSTFINISHSHELLCMDLIST)) {
const QStringList commands =
static_cast<StringAspect *>(aspect)->value().split('\n', Qt::SkipEmptyParts);
QTC_CHECK(aspect->value().type() == QVariant::String);
const QStringList commands = aspect->value().toString().split('\n', Qt::SkipEmptyParts);
for (const QString &shellCmd : commands)
m_afterFinishAdbCommands.append(QString("shell %1").arg(shellCmd));
}