Files now saving with the file picker, not with the sharing mechanism

This commit is contained in:
Dmitriy Karpushin 2023-03-16 12:13:55 +03:00
parent 5f85bf62f5
commit 8d45af2034
6 changed files with 53 additions and 64 deletions

View file

@ -209,12 +209,7 @@ void AndroidController::setNotificationText(const QString& title,
}
void AndroidController::shareConfig(const QString& configContent, const QString& suggestedName) {
QJsonObject rootObject;
rootObject["data"] = configContent;
rootObject["suggestedName"] = suggestedName;
QJsonDocument doc(rootObject);
AndroidVPNActivity::sendToService(ServiceAction::ACTION_SHARE_CONFIG, doc.toJson());
AndroidVPNActivity::saveFileAs(configContent, suggestedName);
}
/*

View file

@ -57,6 +57,14 @@ void AndroidVPNActivity::startQrCodeReader()
QJniObject::callStaticMethod<void>(CLASSNAME, "startQrCodeReader", "()V");
}
void AndroidVPNActivity::saveFileAs(QString fileContent, QString suggestedFilename) {
QJniObject::callStaticMethod<void>(
CLASSNAME,
"saveFileAs", "(Ljava/lang/String;Ljava/lang/String;)V",
QJniObject::fromString(fileContent).object<jstring>(),
QJniObject::fromString(suggestedFilename).object<jstring>());
}
// static
AndroidVPNActivity* AndroidVPNActivity::instance() {
if (s_instance == nullptr) {
@ -70,9 +78,9 @@ AndroidVPNActivity* AndroidVPNActivity::instance() {
void AndroidVPNActivity::sendToService(ServiceAction type, const QString& data) {
int messageType = (int)type;
QJniEnvironment env;
QJniObject::callStaticMethod<void>(
CLASSNAME, "sendToService", "(ILjava/lang/String;)V",
CLASSNAME,
"sendToService", "(ILjava/lang/String;)V",
static_cast<int>(messageType),
QJniObject::fromString(data).object<jstring>());
}

View file

@ -75,6 +75,7 @@ public:
static void sendToService(ServiceAction type, const QString& data);
static void connectService();
static void startQrCodeReader();
static void saveFileAs(QString fileContent, QString suggestedFilename);
signals:
void serviceConnected();