From e95e1e3530ffa956fd30d8cda75d0c17c5866a9a Mon Sep 17 00:00:00 2001 From: Linus Dierheimer Date: Mon, 10 Jan 2022 14:41:34 +0100 Subject: [PATCH] Android support part 2 --- src/common/threading.c | 7 +++++++ src/modules/cursor.c | 5 +++++ src/modules/de.c | 5 +++++ src/modules/font.c | 5 +++++ src/modules/icons.c | 5 +++++ src/modules/resolution.c | 5 +++++ src/modules/theme.c | 5 +++++ src/modules/wm.c | 5 +++++ src/modules/wmtheme.c | 5 +++++ 9 files changed, 47 insertions(+) diff --git a/src/common/threading.c b/src/common/threading.c index a4abb33f4..51c13849a 100644 --- a/src/common/threading.c +++ b/src/common/threading.c @@ -59,6 +59,13 @@ static inline void* startThreadsThreadMain(void* instance) void ffStartDetectionThreads(FFinstance* instance) { + //Android needs none of the things that are detected here + //And using gsettings sometimes hangs the program in android for some unknown reason, + //and since we don't need it we just never call it. + #ifdef __ANDROID__ + return; + #endif + pthread_t startThreadsThread; pthread_create(&startThreadsThread, NULL, startThreadsThreadMain, instance); pthread_detach(startThreadsThread); diff --git a/src/modules/cursor.c b/src/modules/cursor.c index 08729ea68..476513738 100644 --- a/src/modules/cursor.c +++ b/src/modules/cursor.c @@ -175,6 +175,11 @@ static bool printCursorFromEnv(FFinstance* instance) void ffPrintCursor(FFinstance* instance) { + #ifdef __ANDROID__ + ffPrintError(instance, FF_CURSOR_MODULE_NAME, 0, &instance->config.cursorKey, &instance->config.cursorFormat, FF_CURSOR_NUM_FORMAT_ARGS, "Cursor detection is not supported on Android"); + return; + #endif + const FFDisplayServerResult* wmde = ffConnectDisplayServer(instance); if(ffStrbufIgnCaseCompS(&wmde->wmProtocolName, "TTY") == 0) diff --git a/src/modules/de.c b/src/modules/de.c index 15f5939d6..47a95da91 100644 --- a/src/modules/de.c +++ b/src/modules/de.c @@ -7,6 +7,11 @@ void ffPrintDesktopEnvironment(FFinstance* instance) { + #ifdef __ANDROID__ + ffPrintError(instance, FF_DE_MODULE_NAME, 0, &instance->config.deKey, &instance->config.deFormat, FF_DE_NUM_FORMAT_ARGS, "DE detection is not supported on Android"); + return; + #endif + const FFDisplayServerResult* result = ffConnectDisplayServer(instance); if(result->dePrettyName.length == 0) diff --git a/src/modules/font.c b/src/modules/font.c index 3e4bff11c..27c721488 100644 --- a/src/modules/font.c +++ b/src/modules/font.c @@ -5,6 +5,11 @@ void ffPrintFont(FFinstance* instance) { + #ifdef __ANDROID__ + ffPrintError(instance, FF_FONT_MODULE_NAME, 0, &instance->config.fontKey, &instance->config.fontFormat, FF_FONT_NUM_FORMAT_ARGS, "Font detection is not supported on Android"); + return; + #endif + const FFDisplayServerResult* wmde = ffConnectDisplayServer(instance); if(ffStrbufIgnCaseCompS(&wmde->wmProtocolName, "TTY") == 0) diff --git a/src/modules/icons.c b/src/modules/icons.c index 02fe3df6e..940fd72d3 100644 --- a/src/modules/icons.c +++ b/src/modules/icons.c @@ -5,6 +5,11 @@ void ffPrintIcons(FFinstance* instance) { + #ifdef __ANDROID__ + ffPrintError(instance, FF_ICONS_MODULE_NAME, 0, &instance->config.iconsKey, &instance->config.iconsFormat, FF_ICONS_NUM_FORMAT_ARGS, "Icons detection is not supported on Android"); + return; + #endif + const FFDisplayServerResult* wmde = ffConnectDisplayServer(instance); if(ffStrbufIgnCaseCompS(&wmde->wmProtocolName, "TTY") == 0) diff --git a/src/modules/resolution.c b/src/modules/resolution.c index a46d60e16..51d28adbd 100644 --- a/src/modules/resolution.c +++ b/src/modules/resolution.c @@ -5,6 +5,11 @@ void ffPrintResolution(FFinstance* instance) { + #ifdef __ANDROID__ + ffPrintError(instance, FF_RESOLUTION_MODULE_NAME, 0, &instance->config.resolutionKey, &instance->config.resolutionFormat, FF_RESOLUTION_NUM_FORMAT_ARGS, "Resolution detection is not supported on Android"); + return; + #endif + const FFDisplayServerResult* dsResult = ffConnectDisplayServer(instance); for(uint32_t i = 0; i < dsResult->resolutions.length; i++) diff --git a/src/modules/theme.c b/src/modules/theme.c index 1e344be83..40d4cd7ff 100644 --- a/src/modules/theme.c +++ b/src/modules/theme.c @@ -5,6 +5,11 @@ void ffPrintTheme(FFinstance* instance) { + #ifdef __ANDROID__ + ffPrintError(instance, FF_THEME_MODULE_NAME, 0, &instance->config.themeKey, &instance->config.themeFormat, FF_THEME_NUM_FORMAT_ARGS, "Theme detection is not supported on Android"); + return; + #endif + const FFDisplayServerResult* wmde = ffConnectDisplayServer(instance); if(ffStrbufIgnCaseCompS(&wmde->wmProtocolName, "TTY") == 0) diff --git a/src/modules/wm.c b/src/modules/wm.c index c86dee975..f3b06e7d7 100644 --- a/src/modules/wm.c +++ b/src/modules/wm.c @@ -5,6 +5,11 @@ void ffPrintWM(FFinstance* instance) { + #ifdef __ANDROID__ + ffPrintError(instance, FF_WM_MODULE_NAME, 0, &instance->config.wmKey, &instance->config.wmFormat, FF_WM_NUM_FORMAT_ARGS, "WM detection is not supported on Android"); + return; + #endif + const FFDisplayServerResult* result = ffConnectDisplayServer(instance); if(result->wmPrettyName.length == 0) diff --git a/src/modules/wmtheme.c b/src/modules/wmtheme.c index a28f2fca9..443653e1a 100644 --- a/src/modules/wmtheme.c +++ b/src/modules/wmtheme.c @@ -223,6 +223,11 @@ static void printOpenbox(FFinstance* instance, const FFstrbuf* dePrettyName) void ffPrintWMTheme(FFinstance* instance) { + #ifdef __ANDROID__ + ffPrintError(instance, FF_WMTHEME_MODULE_NAME, 0, &instance->config.wmThemeKey, &instance->config.wmThemeFormat, FF_WMTHEME_NUM_FORMAT_ARGS, "WM theme detection is not supported on Android"); + return; + #endif + const FFDisplayServerResult* result = ffConnectDisplayServer(instance); if(result->wmPrettyName.length == 0)