From 8e7c1bf1ab9eee483a20b923b9e074b747b28165 Mon Sep 17 00:00:00 2001 From: hjk Date: Mon, 7 May 2018 18:06:30 +0200 Subject: [PATCH] Android: Remove m_extraAppParams and m_extraEnvVars from Runnable The idea was actually to make AndroidRunnable and "everything else", i.e. StandardRunnable more similar over time to lessen the impact of the "matrix" problem. The two removed items are avoidable. Change-Id: I8ef011d76e2ad0154194ff5141ef8eb92cf235f3 Reviewed-by: Vikas Pachdha --- src/plugins/android/androidrunnable.h | 2 -- src/plugins/android/androidrunner.cpp | 6 +++--- src/plugins/android/androidrunnerworker.cpp | 18 ++++++++++++++---- src/plugins/android/androidrunnerworker.h | 4 ++++ 4 files changed, 21 insertions(+), 9 deletions(-) diff --git a/src/plugins/android/androidrunnable.h b/src/plugins/android/androidrunnable.h index 3ef19ea8356..b978942773f 100644 --- a/src/plugins/android/androidrunnable.h +++ b/src/plugins/android/androidrunnable.h @@ -39,8 +39,6 @@ struct ANDROID_EXPORT AndroidRunnable Utils::Environment environment; QStringList beforeStartAdbCommands; QStringList afterFinishAdbCommands; - QString extraAppParams; - Utils::Environment extraEnvVars; QString displayName() const { return packageName; } static void *staticTypeId; diff --git a/src/plugins/android/androidrunner.cpp b/src/plugins/android/androidrunner.cpp index 68b30a80319..e0fd3133422 100644 --- a/src/plugins/android/androidrunner.cpp +++ b/src/plugins/android/androidrunner.cpp @@ -132,9 +132,6 @@ AndroidRunner::AndroidRunner(RunControl *runControl, m_androidRunnable.packageName = m_androidRunnable.intentName.left( m_androidRunnable.intentName.indexOf(QLatin1Char('/'))); - m_androidRunnable.extraAppParams = extraAppParams; - m_androidRunnable.extraEnvVars = extraEnvVars; - RunConfiguration *rc = runControl->runConfiguration(); if (auto aspect = rc->extraAspect(Constants::ANDROID_AMSTARTARGS_ASPECT)) m_androidRunnable.amStartExtraArgs = static_cast(aspect)->value().split(' '); @@ -154,6 +151,9 @@ AndroidRunner::AndroidRunner(RunControl *runControl, m_worker.reset(new AndroidRunnerWorker(runControl, m_androidRunnable)); else m_worker.reset(new AndroidRunnerWorkerPreNougat(runControl, m_androidRunnable)); + m_worker->setExtraAppParams(extraAppParams); + m_worker->setExtraEnvVars(extraEnvVars); + m_worker->moveToThread(&m_thread); connect(this, &AndroidRunner::asyncStart, m_worker.data(), &AndroidRunnerWorkerBase::asyncStart); diff --git a/src/plugins/android/androidrunnerworker.cpp b/src/plugins/android/androidrunnerworker.cpp index 3d104954bcb..460b5badf17 100644 --- a/src/plugins/android/androidrunnerworker.cpp +++ b/src/plugins/android/androidrunnerworker.cpp @@ -426,14 +426,14 @@ void AndroidRunnerWorkerBase::asyncStart() .arg(m_qmlServer.port()).arg(QmlDebug::qmlDebugServices(m_qmlDebugServices)); } - if (!m_androidRunnable.extraAppParams.isEmpty()) { + if (!m_extraAppParams.isEmpty()) { args << "-e" << "extraappparams" - << QString::fromLatin1(m_androidRunnable.extraAppParams.toUtf8().toBase64()); + << QString::fromLatin1(m_extraAppParams.toUtf8().toBase64()); } - if (m_androidRunnable.extraEnvVars.size() > 0) { + if (m_extraEnvVars.size() > 0) { args << "-e" << "extraenvvars" - << QString::fromLatin1(m_androidRunnable.extraEnvVars.toStringList().join('\t') + << QString::fromLatin1(m_extraEnvVars.toStringList().join('\t') .toUtf8().toBase64()); } @@ -550,6 +550,16 @@ void AndroidRunnerWorkerBase::onProcessIdChanged(qint64 pid) } } +void AndroidRunnerWorkerBase::setExtraEnvVars(const Utils::Environment &extraEnvVars) +{ + m_extraEnvVars = extraEnvVars; +} + +void AndroidRunnerWorkerBase::setExtraAppParams(const QString &extraAppParams) +{ + m_extraAppParams = extraAppParams; +} + AndroidRunnerWorker::AndroidRunnerWorker(RunControl *runControl, const AndroidRunnable &runnable) : AndroidRunnerWorkerBase(runControl, runnable) diff --git a/src/plugins/android/androidrunnerworker.h b/src/plugins/android/androidrunnerworker.h index cf00e9e9c30..c8965b2a929 100644 --- a/src/plugins/android/androidrunnerworker.h +++ b/src/plugins/android/androidrunnerworker.h @@ -60,6 +60,8 @@ public: void logcatReadStandardOutput(); void logcatProcess(const QByteArray &text, QByteArray &buffer, bool onlyError); void setAndroidDeviceInfo(const AndroidDeviceInfo &info); + void setExtraEnvVars(const Utils::Environment &extraEnvVars); + void setExtraAppParams(const QString &extraAppParams); virtual void asyncStart(); virtual void asyncStop(); @@ -104,6 +106,8 @@ protected: std::unique_ptr m_jdbProcess; QString m_deviceSerialNumber; int m_apiLevel = -1; + QString m_extraAppParams; + Utils::Environment m_extraEnvVars; };