Android: Pass RunWorker to AndroidRunnerWorker

The RunWorker will carry the amPreStart/amPostFinish commands later,
and the run control is still accessible via worker->runControl().

Change-Id: Ieac1a1d2a5a8689025a7707b218df44ef2485b16
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
This commit is contained in:
hjk
2018-05-15 12:39:56 +02:00
parent cf01d20f95
commit 6585edf143
3 changed files with 5 additions and 9 deletions

View File

@@ -142,7 +142,7 @@ AndroidRunner::AndroidRunner(RunControl *runControl,
}
const int apiLevel = AndroidManager::deviceApiLevel(m_target);
m_worker.reset(new AndroidRunnerWorker(runControl, m_androidRunnable));
m_worker.reset(new AndroidRunnerWorker(this, m_androidRunnable));
m_worker->setIntentName(intent);
m_worker->setIsPreNougat(apiLevel <= 23);
m_worker->setExtraAppParams(extraAppParams);

View File

@@ -140,7 +140,7 @@ static void deleter(QProcess *p)
p->deleteLater();
}
AndroidRunnerWorker::AndroidRunnerWorker(RunControl *runControl, const AndroidRunnable &runnable)
AndroidRunnerWorker::AndroidRunnerWorker(RunWorker *runner, const AndroidRunnable &runnable)
: m_androidRunnable(runnable)
, m_adbLogcatProcess(nullptr, deleter)
, m_psIsAlive(nullptr, deleter)
@@ -149,9 +149,9 @@ AndroidRunnerWorker::AndroidRunnerWorker(RunControl *runControl, const AndroidRu
, m_jdbProcess(nullptr, deleter)
{
auto runConfig = runControl->runConfiguration();
auto runConfig = runner->runControl()->runConfiguration();
auto aspect = runConfig->extraAspect<Debugger::DebuggerRunConfigurationAspect>();
Core::Id runMode = runControl->runMode();
Core::Id runMode = runner->runMode();
const bool debuggingMode = runMode == ProjectExplorer::Constants::DEBUG_RUN_MODE;
m_useCppDebugger = debuggingMode && aspect->useCppDebugger();
if (debuggingMode && aspect->useQmlDebugger())

View File

@@ -32,10 +32,6 @@
#include "androidrunnable.h"
namespace ProjectExplorer {
class RunControl;
}
namespace Android {
class AndroidDeviceInfo;
@@ -48,7 +44,7 @@ class AndroidRunnerWorker : public QObject
{
Q_OBJECT
public:
AndroidRunnerWorker(ProjectExplorer::RunControl *runControl, const AndroidRunnable &runnable);
AndroidRunnerWorker(ProjectExplorer::RunWorker *runner, const AndroidRunnable &runnable);
~AndroidRunnerWorker() override;
bool adbShellAmNeedsQuotes();
bool runAdb(const QStringList &args, int timeoutS = 10);