#pragma once
#include <QObject>
#include <dao/DeviceDAO.h>
#include <db/DeviceInfo.h>

class DeviceScreener final : public QObject {
    Q_OBJECT

public:
    explicit DeviceScreener(QObject *parent = nullptr);

    ~DeviceScreener() override;

public slots:
    void start();

    void stop();

signals:
    void finished();

private:
    bool m_running = true;
    QString m_urlAppUpdate;

    static QList<QPair<QString, QString> > readAdbDevices();

    static QByteArray takeScreenshot(const QString &deviceId);

    static DeviceInfo readDeviceInfo(const QString &deviceId);

    void postDevicesData(const QList<DeviceInfo> &devices);
};
