Android: Remove AndroidRunnable::{beforeStart,afterFinish}AdbCommands

We have nowadays two ways to pass data from run configurations to
tool that do not require intimate knowledge of the sender:

1. Using RunConfigurationAspects, accessible for all workers in a
   RunControl
2. Using RunWorker::recordData for an individual worker.

This removes the need to use specific fields in a runnable and
means that a tool plugin can be better separated from target plugins.

The approaches are not mutually exclusive, both use an string-ish
id, I chose here to use the same string when using both.

This patch here uses approach 2. for the GammaRay/Android combo.
It also fixes a (harmless) typo (s/POSTSTART/POSTFINISH).

Change-Id: I4048693ca73b17253a39bfcacc9e1880ecf25736
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
This commit is contained in:
hjk
2018-05-15 12:11:54 +02:00
parent 64d601def3
commit 099f8c7e80
6 changed files with 34 additions and 31 deletions

View File

@@ -130,17 +130,6 @@ AndroidRunner::AndroidRunner(RunControl *runControl,
QString intent = intentName.isEmpty() ? AndroidManager::intentName(m_target) : intentName;
m_androidRunnable.packageName = intent.left(intent.indexOf('/'));
RunConfiguration *rc = runControl->runConfiguration();
if (auto aspect = rc->extraAspect(Constants::ANDROID_PRESTARTSHELLCMDLIST_ASPECT)) {
for (QString shellCmd : static_cast<BaseStringListAspect *>(aspect)->value())
m_androidRunnable.beforeStartAdbCommands.append(QString("shell %1").arg(shellCmd));
}
if (auto aspect = rc->extraAspect(Constants::ANDROID_POSTSTARTSHELLCMDLIST_ASPECT)) {
for (QString shellCmd : static_cast<BaseStringListAspect *>(aspect)->value())
m_androidRunnable.afterFinishAdbCommands.append(QString("shell %1").arg(shellCmd));
}
const int apiLevel = AndroidManager::deviceApiLevel(m_target);
m_worker.reset(new AndroidRunnerWorker(this, m_androidRunnable));
m_worker->setIntentName(intent);