From 73d44ba3fee81e5a19f1055bd90366e37f0341ec Mon Sep 17 00:00:00 2001 From: AsamK Date: Wed, 2 Feb 2022 19:34:30 +0100 Subject: [PATCH] Switch to a less cpu intensive function to check if libsignal-client is available --- graalvm-config-dir/jni-config.json | 4 ++++ .../java/org/asamk/signal/manager/config/ServiceConfig.java | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/graalvm-config-dir/jni-config.json b/graalvm-config-dir/jni-config.json index acbf7f3f..18ba01fc 100644 --- a/graalvm-config-dir/jni-config.json +++ b/graalvm-config-dir/jni-config.json @@ -19,6 +19,10 @@ {"name":"loadClass","parameterTypes":["java.lang.String"] } ] }, +{ + "name":"java.lang.IllegalArgumentException", + "methods":[{"name":"","parameterTypes":["java.lang.String"] }] +}, { "name":"java.lang.IllegalStateException", "methods":[{"name":"","parameterTypes":["java.lang.String"] }] diff --git a/lib/src/main/java/org/asamk/signal/manager/config/ServiceConfig.java b/lib/src/main/java/org/asamk/signal/manager/config/ServiceConfig.java index 8ecaa741..78decc81 100644 --- a/lib/src/main/java/org/asamk/signal/manager/config/ServiceConfig.java +++ b/lib/src/main/java/org/asamk/signal/manager/config/ServiceConfig.java @@ -47,7 +47,10 @@ public class ServiceConfig { public static boolean isSignalClientAvailable() { try { - org.signal.client.internal.Native.DeviceTransfer_GeneratePrivateKey(); + try { + org.signal.client.internal.Native.UuidCiphertext_CheckValidContents(new byte[0]); + } catch (IllegalArgumentException ignored) { + } return true; } catch (UnsatisfiedLinkError e) { logger.warn("Failed to call libsignal-client: {}", e.getMessage()); -- 2.50.1