// (c) 2017 Ekkehard Gentz (ekke) @ekkescorner // my blog about Qt for mobile: http://j.mp/qt-x // see also /COPYRIGHT and /LICENSE #ifndef ANDROIDSHAREUTILS_H #define ANDROIDSHAREUTILS_H #include #include #include "shareUtils/platformshareutils.h" class AndroidShareUtils : public PlatformShareUtils, public QAndroidActivityResultReceiver { Q_OBJECT public: AndroidShareUtils(QObject* parent = nullptr); bool checkMimeTypeView(const QString &mimeType) override; bool checkMimeTypeEdit(const QString &mimeType) override; virtual QString getTemporaryFileLocationPath() override; void shareText(const QString &text, const QUrl &url) override; void sendFile(const QString &filePath, const QString &title, const QString &mimeType, const int &requestId) override; void viewFile(const QString &filePath, const QString &title, const QString &mimeType, const int &requestId) override; void editFile(const QString &filePath, const QString &title, const QString &mimeType, const int &requestId) override; void handleActivityResult(int receiverRequestCode, int resultCode, const QAndroidJniObject &data) override; void onActivityResult(int requestCode, int resultCode); void checkPendingIntents(const QString workingDirPath) override; static AndroidShareUtils* getInstance(); public slots: void setFileUrlReceived(const QString &url); void setOtherUrlReceived(const QString &url, const QString &scheme); void setFileReceivedAndSaved(const QString &url); bool checkFileExits(const QString &url); private: bool mIsEditMode; qint64 mLastModified; QString mCurrentFilePath; static AndroidShareUtils* mInstance; void processActivityResult(int requestCode, int resultCode); }; #endif // ANDROIDSHAREUTILS_H