1
0

Add Google Drive support (#167)

fixes #143
This commit is contained in:
Tom Matthews
2025-12-07 00:53:35 +00:00
committed by GitHub
parent 35adcde726
commit 2d61a77c80
3 changed files with 13 additions and 5 deletions

1
.gitignore vendored
View File

@@ -18,3 +18,4 @@ compile_commands.json
/src/util.o
/src/action_cc.o
/src/nickelmenu.o
test.syms

View File

@@ -125,6 +125,7 @@
# library:pocket - Articles
# library:instapaper - Instapaper
# library:dropbox - Dropbox (4.18.13737+)
# library:gdrive - GoogleDrive (4.36.21095+)
# reading_life:reading_life - Activity (with last tab)
# reading_life:stats - Activity
# reading_life:awards - Awards

View File

@@ -75,14 +75,20 @@ NM_ACTION_(nickel_open) {
if (dlsym(RTLD_DEFAULT, "_ZN11MainNavViewC1EP7QWidget")) {
NM_LOG("nickel_open: detected firmware >15505 (new nav tab bar), checking special cases");
if (!strcmp(arg1, "library") && !strcmp(arg2, "dropbox")) {
if (!strcmp(arg1, "library") && (!strcmp(arg2, "dropbox") || !strcmp(arg2, "gdrive"))) {
//libnickel 4.23.15505 * _ZN14MoreControllerC1Ev
MoreController *(*MoreController__MoreController)(MoreController* _this);
NM_ACT_XSYM(MoreController__MoreController, "_ZN14MoreControllerC1Ev", "could not dlsym MoreController::MoreController");
//libnickel 4.23.15505 * _ZN14MoreController7dropboxEv
void (*MoreController_dropbox)(MoreController* _this);
NM_ACT_XSYM(MoreController_dropbox, "_ZN14MoreController7dropboxEv", "could not dlsym MoreController::dropbox");
void (*MoreController_cloud)(MoreController* _this);
if (!strcmp(arg2, "dropbox")) {
//libnickel 4.23.15505 * _ZN14MoreController7dropboxEv
NM_ACT_XSYM(MoreController_cloud, "_ZN14MoreController7dropboxEv", "could not dlsym MoreController::dropbox");
} else {
//libnickel 4.36.21095 * _ZN14MoreController11googleDriveEv
NM_ACT_XSYM(MoreController_cloud, "_ZN14MoreController11googleDriveEv", "could not dlsym MoreController::gdrive");
}
//libnickel 4.23.15505 * _ZN14MoreControllerD0Ev
MoreController *(*MoreController__deMoreController)(MoreController* _this);
@@ -95,7 +101,7 @@ NM_ACTION_(nickel_open) {
mc = MoreController__MoreController(mc);
NM_CHECK(nullptr, mc, "MoreController::MoreController returned null pointer");
MoreController_dropbox(mc);
MoreController_cloud(mc);
// Clean up after ourselves
MoreController__deMoreController(mc);