1
0
forked from BRT/arc
arc/android/adb/AdbUtils.h
slava 6988794657 Refactor ADB utilities to use dynamic adb paths and streamline processes.
Updated all ADB operations to use the dynamically determined adb path for better platform compatibility. Consolidated redundant process-handling code using a new `startProcess` helper method to simplify and standardize command execution. Enhanced `getScreenDumpAsXml` and related functions to improve modularity and maintainability.
2025-06-11 18:13:22 +07:00

47 lines
1.4 KiB
C++

#pragma once
#include <QList>
#include <QObject>
class AdbUtils final : public QObject {
Q_OBJECT
public:
explicit AdbUtils(QObject *parent = nullptr);
static QString adbPath();
static QList<QPair<QString, QString> > getListDevices();
static QString tryToGetRunningAppPid(const QString &deviceId, const QString &packageName);
static bool tryToStartApplication(const QString &deviceId, const QString &packageName);
static bool tryToKillApplication(const QString &deviceId, const QString &packageName);
static QString getScreenDumpAsXml(const QString &deviceId, int idx, bool screenshot = false);
static bool takeScreenshot(const QString &deviceId, const QString &name);
static bool takeXmlDump(const QString &deviceId, const QString &name);
static bool makeTap(const QString &deviceId, int x, int y);
static bool enableAdbIMEKeyboard(const QString &deviceId);
static bool inputAdbIMEText(const QString &deviceId, const QString &text);
static bool disableAdbIMEKeyboard(const QString &deviceId);
static bool makeSwipe(const QString &deviceId, int x1, int y1, int x2, int y2);
static bool inputText(const QString &deviceId, const QString &text);
static bool goBack(const QString &deviceId);
static QSet<QString> getListApps(const QString &deviceId);
private:
static bool startProcess(const QString &cmd, QString *stdOut, QString *stdErr);
};