From: AsamK Date: Wed, 2 Feb 2022 18:34:30 +0000 (+0100) Subject: Switch to a less cpu intensive function to check if libsignal-client is available X-Git-Tag: v0.10.4~36 X-Git-Url: https://git.nmode.ca/signal-cli/commitdiff_plain/73d44ba3fee81e5a19f1055bd90366e37f0341ec Switch to a less cpu intensive function to check if libsignal-client is available --- 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());