From da80ac3f712e368cc68687463f15a407bc464fc4 Mon Sep 17 00:00:00 2001 From: Korcan Hussein <korcan.hussein@collabora.com> Date: Fri, 28 Jun 2024 13:33:54 +0100 Subject: [PATCH] ipc/android: Allow custom service library names Monado derivatives may choose to create and use a custom variant of service-lib for android builds with a different library name, this change replaces the hard-coded library name used for dynamic lib loading. Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2265> --- src/xrt/ipc/android/build.gradle | 8 ++++++++ .../main/java/org/freedesktop/monado/ipc/MonadoImpl.java | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/xrt/ipc/android/build.gradle b/src/xrt/ipc/android/build.gradle index d50c408f8..7b1dee2b0 100644 --- a/src/xrt/ipc/android/build.gradle +++ b/src/xrt/ipc/android/build.gradle @@ -21,6 +21,13 @@ android { minSdkVersion 26 targetSdkVersion project.sharedTargetSdk + def defaultServiceLibName = "monado-service" + def serviceLibName = project.hasProperty("serviceLibName") ? + project.serviceLibName : defaultServiceLibName + if (serviceLibName == null || serviceLibName.length() == 0) { + serviceLibName = defaultServiceLibName + } + // Single point of truth for these names. def serviceAction = "org.freedesktop.monado.ipc.CONNECT" def shutdownAction = "org.freedesktop.monado.ipc.SHUTDOWN" @@ -31,6 +38,7 @@ android { buildConfigField("String", "SERVICE_ACTION", "\"${serviceAction}\"") buildConfigField("String", "SHUTDOWN_ACTION", "\"${shutdownAction}\"") buildConfigField("Long", "WATCHDOG_TIMEOUT_MILLISECONDS", "1500L") + buildConfigField("String", "SERVICE_LIB_NAME", "\"${serviceLibName}\"") } buildTypes { diff --git a/src/xrt/ipc/android/src/main/java/org/freedesktop/monado/ipc/MonadoImpl.java b/src/xrt/ipc/android/src/main/java/org/freedesktop/monado/ipc/MonadoImpl.java index f96c0eeb9..57f4edec9 100644 --- a/src/xrt/ipc/android/src/main/java/org/freedesktop/monado/ipc/MonadoImpl.java +++ b/src/xrt/ipc/android/src/main/java/org/freedesktop/monado/ipc/MonadoImpl.java @@ -36,7 +36,7 @@ public class MonadoImpl extends IMonado.Stub { static { // Load the shared library with the native parts of this class // This is the service-lib target. - System.loadLibrary("monado-service"); + System.loadLibrary(BuildConfig.SERVICE_LIB_NAME); } private final Context context;