forked from qt-creator/qt-creator
Android: Get rid of forceStop()
Use forceStopRecipe() instead. Change-Id: I7044be98c6d8099e2b22274431ed5be1a4050e23 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This commit is contained in:
@@ -216,19 +216,7 @@ AndroidRunnerWorker::AndroidRunnerWorker(RunWorker *runner)
|
|||||||
AndroidRunnerWorker::~AndroidRunnerWorker()
|
AndroidRunnerWorker::~AndroidRunnerWorker()
|
||||||
{
|
{
|
||||||
if (m_processPID != -1)
|
if (m_processPID != -1)
|
||||||
forceStop();
|
TaskTree::runBlocking(Group { forceStopRecipe(), postDoneRecipe() });
|
||||||
}
|
|
||||||
|
|
||||||
bool AndroidRunnerWorker::runAdb(const QStringList &args, QString *stdOut, QString *stdErr)
|
|
||||||
{
|
|
||||||
const SdkToolResult result = AndroidManager::runAdbCommand(selector() + args);
|
|
||||||
if (!result.success())
|
|
||||||
emit remoteErrorOutput(result.stdErr());
|
|
||||||
if (stdOut)
|
|
||||||
*stdOut = result.stdOut();
|
|
||||||
if (stdErr)
|
|
||||||
*stdErr = result.stdErr();
|
|
||||||
return result.success();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QStringList AndroidRunnerWorker::selector() const
|
QStringList AndroidRunnerWorker::selector() const
|
||||||
@@ -236,20 +224,6 @@ QStringList AndroidRunnerWorker::selector() const
|
|||||||
return AndroidDeviceInfo::adbSelector(m_deviceSerialNumber);
|
return AndroidDeviceInfo::adbSelector(m_deviceSerialNumber);
|
||||||
}
|
}
|
||||||
|
|
||||||
void AndroidRunnerWorker::forceStop()
|
|
||||||
{
|
|
||||||
runAdb({"shell", "am", "force-stop", m_packageName});
|
|
||||||
|
|
||||||
// try killing it via kill -9
|
|
||||||
QString output;
|
|
||||||
runAdb({"shell", "pidof", m_packageName}, &output);
|
|
||||||
const QString pidString = QString::number(m_processPID);
|
|
||||||
if (m_processPID != -1 && output == pidString
|
|
||||||
&& !runAdb({"shell", "run-as", m_packageName, "kill", "-9", pidString})) {
|
|
||||||
runAdb({"shell", "kill", "-9", pidString});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void AndroidRunnerWorker::setAndroidDeviceInfo(const AndroidDeviceInfo &info)
|
void AndroidRunnerWorker::setAndroidDeviceInfo(const AndroidDeviceInfo &info)
|
||||||
{
|
{
|
||||||
m_deviceSerialNumber = info.serialNumber;
|
m_deviceSerialNumber = info.serialNumber;
|
||||||
|
@@ -36,9 +36,7 @@ signals:
|
|||||||
void remoteErrorOutput(const QString &output);
|
void remoteErrorOutput(const QString &output);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool runAdb(const QStringList &args, QString *stdOut = nullptr, QString *stdErr = nullptr);
|
|
||||||
QStringList selector() const;
|
QStringList selector() const;
|
||||||
void forceStop();
|
|
||||||
|
|
||||||
bool isPreNougat() const { return m_apiLevel > 0 && m_apiLevel <= 23; }
|
bool isPreNougat() const { return m_apiLevel > 0 && m_apiLevel <= 23; }
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user