|
|
|
|
@ -2,41 +2,46 @@
|
|
|
|
|
|
|
|
|
|
FileHandler::FileHandler(QObject *parent) : QObject(parent)
|
|
|
|
|
{
|
|
|
|
|
connect(&m_adb, &AdbProcess::adbProcessResult, this, [this](AdbProcess::ADB_EXEC_RESULT processResult) {
|
|
|
|
|
switch (processResult) {
|
|
|
|
|
case AdbProcess::AER_ERROR_START:
|
|
|
|
|
case AdbProcess::AER_ERROR_EXEC:
|
|
|
|
|
case AdbProcess::AER_ERROR_MISSING_BINARY:
|
|
|
|
|
emit fileHandlerResult(FAR_ERROR_EXEC, m_isApk);
|
|
|
|
|
break;
|
|
|
|
|
case AdbProcess::AER_SUCCESS_EXEC:
|
|
|
|
|
emit fileHandlerResult(FAR_SUCCESS_EXEC, m_isApk);
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
FileHandler::~FileHandler() {}
|
|
|
|
|
|
|
|
|
|
void FileHandler::onPushFileRequest(const QString &serial, const QString &file, const QString &devicePath)
|
|
|
|
|
{
|
|
|
|
|
if (m_adb.isRuning()) {
|
|
|
|
|
emit fileHandlerResult(FAR_IS_RUNNING, false);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
AdbProcess* adb = new AdbProcess;
|
|
|
|
|
bool isApk = false;
|
|
|
|
|
connect(adb, &AdbProcess::adbProcessResult, this, [this, adb, isApk](AdbProcess::ADB_EXEC_RESULT processResult) {
|
|
|
|
|
onAdbProcessResult(adb, isApk, processResult);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
m_isApk = false;
|
|
|
|
|
m_adb.push(serial, file, devicePath);
|
|
|
|
|
adb->push(serial, file, devicePath);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void FileHandler::onInstallApkRequest(const QString &serial, const QString &apkFile)
|
|
|
|
|
{
|
|
|
|
|
if (m_adb.isRuning()) {
|
|
|
|
|
emit fileHandlerResult(FAR_IS_RUNNING, true);
|
|
|
|
|
return;
|
|
|
|
|
AdbProcess* adb = new AdbProcess;
|
|
|
|
|
bool isApk = true;
|
|
|
|
|
connect(adb, &AdbProcess::adbProcessResult, this, [this, adb, isApk](AdbProcess::ADB_EXEC_RESULT processResult) {
|
|
|
|
|
onAdbProcessResult(adb, isApk, processResult);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
adb->install(serial, apkFile);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void FileHandler::onAdbProcessResult(AdbProcess *adb, bool isApk, AdbProcess::ADB_EXEC_RESULT processResult)
|
|
|
|
|
{
|
|
|
|
|
switch (processResult) {
|
|
|
|
|
case AdbProcess::AER_ERROR_START:
|
|
|
|
|
case AdbProcess::AER_ERROR_EXEC:
|
|
|
|
|
case AdbProcess::AER_ERROR_MISSING_BINARY:
|
|
|
|
|
emit fileHandlerResult(FAR_ERROR_EXEC, isApk);
|
|
|
|
|
adb->deleteLater();
|
|
|
|
|
break;
|
|
|
|
|
case AdbProcess::AER_SUCCESS_EXEC:
|
|
|
|
|
emit fileHandlerResult(FAR_SUCCESS_EXEC, isApk);
|
|
|
|
|
adb->deleteLater();
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
m_isApk = true;
|
|
|
|
|
m_adb.install(serial, apkFile);
|
|
|
|
|
}
|
|
|
|
|
|