Android: Move intent and package names creation into worker

Remove packageName arg from AndroidRunnerWorker c'tor.
Remove setIntentName method.
Remove m_packageName field from AndroidRunner.

Change-Id: I09f901a0db110e1deeeff5b26aef12caca0467dd
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This commit is contained in:
Jarek Kobus
2024-07-26 14:52:47 +02:00
committed by hjk
parent bd493d7e5a
commit 54d3742fc0
4 changed files with 8 additions and 14 deletions

View File

@@ -40,14 +40,7 @@ AndroidRunner::AndroidRunner(RunControl *runControl)
}; };
Q_UNUSED(metaTypes) Q_UNUSED(metaTypes)
m_packageName = AndroidManager::packageName(m_target); m_worker = new AndroidRunnerWorker(this);
const QString intentName = m_packageName + '/' + AndroidManager::activityName(m_target);
qCDebug(androidRunnerLog) << "Intent name:" << intentName << "Package name" << m_packageName;
m_worker = new AndroidRunnerWorker(this, m_packageName);
m_worker->setIntentName(intentName);
m_worker->moveToThread(&m_thread); m_worker->moveToThread(&m_thread);
QObject::connect(&m_thread, &QThread::finished, m_worker, &QObject::deleteLater); QObject::connect(&m_thread, &QThread::finished, m_worker, &QObject::deleteLater);
@@ -108,7 +101,7 @@ void AndroidRunner::stop()
{ {
if (m_startAvdRunner.isRunning()) { if (m_startAvdRunner.isRunning()) {
m_startAvdRunner.reset(); m_startAvdRunner.reset();
appendMessage("\n\n" + Tr::tr("\"%1\" terminated.").arg(m_packageName), appendMessage("\n\n" + Tr::tr("\"%1\" terminated.").arg(AndroidManager::packageName(m_target)),
Utils::NormalMessageFormat); Utils::NormalMessageFormat);
return; return;
} }

View File

@@ -48,7 +48,6 @@ private:
void handleRemoteProcessStarted(Utils::Port debugServerPort, const QUrl &qmlServer, qint64 pid); void handleRemoteProcessStarted(Utils::Port debugServerPort, const QUrl &qmlServer, qint64 pid);
void handleRemoteProcessFinished(const QString &errString = QString()); void handleRemoteProcessFinished(const QString &errString = QString());
QString m_packageName;
QThread m_thread; QThread m_thread;
AndroidRunnerWorker *m_worker = nullptr; AndroidRunnerWorker *m_worker = nullptr;
QPointer<ProjectExplorer::Target> m_target; QPointer<ProjectExplorer::Target> m_target;

View File

@@ -127,8 +127,7 @@ static FilePath debugServer(bool useLldb, const Target *target)
return {}; return {};
} }
AndroidRunnerWorker::AndroidRunnerWorker(RunWorker *runner, const QString &packageName) AndroidRunnerWorker::AndroidRunnerWorker(RunWorker *runner)
: m_packageName(packageName)
{ {
auto runControl = runner->runControl(); auto runControl = runner->runControl();
m_useLldb = Debugger::DebuggerKitAspect::engineType(runControl->kit()) m_useLldb = Debugger::DebuggerKitAspect::engineType(runControl->kit())
@@ -162,8 +161,12 @@ AndroidRunnerWorker::AndroidRunnerWorker(RunWorker *runner, const QString &packa
QTC_CHECK(m_localJdbServerPort.isValid()); QTC_CHECK(m_localJdbServerPort.isValid());
auto target = runControl->target(); auto target = runControl->target();
m_packageName = AndroidManager::packageName(target);
m_intentName = m_packageName + '/' + AndroidManager::activityName(target);
m_deviceSerialNumber = AndroidManager::deviceSerialNumber(target); m_deviceSerialNumber = AndroidManager::deviceSerialNumber(target);
m_apiLevel = AndroidManager::deviceApiLevel(target); m_apiLevel = AndroidManager::deviceApiLevel(target);
qCDebug(androidRunWorkerLog) << "Intent name:" << m_intentName
<< "Package name:" << m_packageName;
qCDebug(androidRunWorkerLog) << "Device API:" << m_apiLevel; qCDebug(androidRunWorkerLog) << "Device API:" << m_apiLevel;
m_extraEnvVars = runControl->aspectData<EnvironmentAspect>()->environment; m_extraEnvVars = runControl->aspectData<EnvironmentAspect>()->environment;

View File

@@ -23,13 +23,12 @@ class AndroidRunnerWorker : public QObject
{ {
Q_OBJECT Q_OBJECT
public: public:
AndroidRunnerWorker(ProjectExplorer::RunWorker *runner, const QString &packageName); AndroidRunnerWorker(ProjectExplorer::RunWorker *runner);
~AndroidRunnerWorker() override; ~AndroidRunnerWorker() override;
void setAndroidDeviceInfo(const AndroidDeviceInfo &info); void setAndroidDeviceInfo(const AndroidDeviceInfo &info);
void asyncStart(); void asyncStart();
void asyncStop(); void asyncStop();
void setIntentName(const QString &intentName) { m_intentName = intentName; }
signals: signals:
void remoteProcessStarted(Utils::Port debugServerPort, const QUrl &qmlServer, qint64 pid); void remoteProcessStarted(Utils::Port debugServerPort, const QUrl &qmlServer, qint64 pid);