51 lines
1.8 KiB
C++
Executable file
51 lines
1.8 KiB
C++
Executable file
// (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 <QtAndroid>
|
|
#include <QAndroidActivityResultReceiver>
|
|
|
|
#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
|