Skip to content

Commit

Permalink
Add shareFile (#111)
Browse files Browse the repository at this point in the history
  • Loading branch information
GameParrot authored Dec 28, 2024
1 parent bf155f5 commit 832f1e4
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 1 deletion.
1 change: 1 addition & 0 deletions src/jni/jni_descriptors.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,7 @@ BEGIN_NATIVE_DESCRIPTOR(MainActivity){Constructor<MainActivity>{}},
{Function<&MainActivity::requestIntegrityToken>{}, "requestIntegrityToken"},
{Function<&MainActivity::launchUri>{}, "launchUri"},
{Function<&MainActivity::share>{}, "share"},
{Function<&MainActivity::shareFile>{}, "shareFile"},
{Function<&MainActivity::openFile>{}, "openFile"},
{Function<&MainActivity::saveFile>{}, "saveFile"},
{Function<&MainActivity::setClipboard>{}, "setClipboard"},
Expand Down
18 changes: 17 additions & 1 deletion src/jni/main_activity.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
#include "uuid.h"
#include <climits>
#include <sstream>
#include <fstream>
#include <android/keycodes.h>
#include "../core_patches.h"

Expand Down Expand Up @@ -207,6 +208,21 @@ void MainActivity::share(std::shared_ptr<FakeJni::JString> title, std::shared_pt
}
}

void MainActivity::shareFile(std::shared_ptr<FakeJni::JString> title, std::shared_ptr<FakeJni::JString> string, std::shared_ptr<FakeJni::JString> path) {
auto picker = FilePickerFactory::createFilePicker();
picker->setMode(FilePicker::Mode::SAVE);
picker->setTitle(title->asStdString());
std::string pathStr = path->asStdString();
picker->setFileName(pathStr.substr(pathStr.find_last_of("/\\") + 1));
if(picker->show()) {
std::ifstream src(pathStr, std::ios::binary);
std::ofstream dst(picker->getPickedFile(), std::ios::binary);
dst << src.rdbuf();
src.close();
dst.close();
}
}

FakeJni::JInt MainActivity::getCaretPosition() {
ignoreNextHideKeyboard = false;
if(textInput) {
Expand Down Expand Up @@ -372,7 +388,7 @@ void MainActivity::setLastChar(FakeJni::JInt sym) {
}

void MainActivity::lockCursor() {
CorePatches::hideMousePointer();
CorePatches::hideMousePointer();
}

void MainActivity::unlockCursor() {
Expand Down
1 change: 1 addition & 0 deletions src/jni/main_activity.h
Original file line number Diff line number Diff line change
Expand Up @@ -209,6 +209,7 @@ class MainActivity : public NativeActivity {

void launchUri(std::shared_ptr<FakeJni::JString>);
void share(std::shared_ptr<FakeJni::JString>, std::shared_ptr<FakeJni::JString>, std::shared_ptr<FakeJni::JString>);
void shareFile(std::shared_ptr<FakeJni::JString>, std::shared_ptr<FakeJni::JString>, std::shared_ptr<FakeJni::JString>);
std::shared_ptr<FakeJni::JArray<FakeJni::JString>> getBroadcastAddresses() {
return std::make_shared<FakeJni::JArray<FakeJni::JString>>();
}
Expand Down

0 comments on commit 832f1e4

Please sign in to comment.