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); 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->setIntentName(intent);
m_worker->setIsPreNougat(apiLevel <= 23); m_worker->setIsPreNougat(apiLevel <= 23);
m_worker->setExtraAppParams(extraAppParams); m_worker->setExtraAppParams(extraAppParams);

View File

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

View File

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