From: AsamK Date: Sat, 17 Sep 2022 07:54:34 +0000 (+0200) Subject: Update libsignal-service-java X-Git-Tag: v0.11.0~4 X-Git-Url: https://git.nmode.ca/signal-cli/commitdiff_plain/60ed2c292fa264d3eedbfbcca4a22bb76a8838c9 Update libsignal-service-java --- diff --git a/graalvm-config-dir/reflect-config.json b/graalvm-config-dir/reflect-config.json index 81c2deb0..b545045e 100644 --- a/graalvm-config-dir/reflect-config.json +++ b/graalvm-config-dir/reflect-config.json @@ -233,6 +233,12 @@ "name":"java.lang.Enum", "allDeclaredMethods":true }, +{ + "name":"java.lang.Float", + "allDeclaredFields":true, + "queryAllDeclaredMethods":true, + "queryAllDeclaredConstructors":true +}, { "name":"java.lang.Integer", "allDeclaredFields":true, @@ -274,6 +280,14 @@ {"name":"getSuppressed","parameterTypes":[] } ] }, +{ + "name":"java.lang.constant.Constable", + "queryAllDeclaredMethods":true +}, +{ + "name":"java.lang.constant.ConstantDesc", + "queryAllDeclaredMethods":true +}, { "name":"java.lang.reflect.Method", "methods":[{"name":"isDefault","parameterTypes":[] }] @@ -882,7 +896,9 @@ "queryAllDeclaredConstructors":true, "methods":[ {"name":"angle","parameterTypes":[] }, + {"name":"colors","parameterTypes":[] }, {"name":"endColor","parameterTypes":[] }, + {"name":"positions","parameterTypes":[] }, {"name":"startColor","parameterTypes":[] } ] }, @@ -3180,7 +3196,9 @@ "fields":[ {"name":"angle_"}, {"name":"bitField0_"}, + {"name":"colors_"}, {"name":"endColor_"}, + {"name":"positions_"}, {"name":"startColor_"} ] }, diff --git a/lib/build.gradle.kts b/lib/build.gradle.kts index 855d73f8..cf3c98cb 100644 --- a/lib/build.gradle.kts +++ b/lib/build.gradle.kts @@ -14,7 +14,7 @@ repositories { } dependencies { - implementation("com.github.turasa", "signal-service-java", "2.15.3_unofficial_56") + implementation("com.github.turasa", "signal-service-java", "2.15.3_unofficial_57") implementation("com.fasterxml.jackson.core", "jackson-databind", "2.13.3") implementation("com.google.protobuf", "protobuf-javalite", "3.11.4") implementation("org.bouncycastle", "bcprov-jdk15on", "1.70") diff --git a/lib/src/main/java/org/asamk/signal/manager/api/MessageEnvelope.java b/lib/src/main/java/org/asamk/signal/manager/api/MessageEnvelope.java index a3546a4b..727e2eed 100644 --- a/lib/src/main/java/org/asamk/signal/manager/api/MessageEnvelope.java +++ b/lib/src/main/java/org/asamk/signal/manager/api/MessageEnvelope.java @@ -837,11 +837,13 @@ public record MessageEnvelope( } } - public record Gradient(Optional startColor, Optional endColor, Optional angle) { + public record Gradient( + List colors, List positions, Optional angle + ) { static Gradient from(SignalServiceTextAttachment.Gradient gradient) { - return new Gradient(gradient.getStartColor().map(Color::new), - gradient.getEndColor().map(Color::new), + return new Gradient(gradient.getColors().stream().map(Color::new).toList(), + gradient.getPositions(), gradient.getAngle()); } } 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 c5db130d..0a247279 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 @@ -31,7 +31,16 @@ public class ServiceConfig { public static final AccountAttributes.Capabilities capabilities; static { - capabilities = new AccountAttributes.Capabilities(false, true, false, true, true, true, true, false, false); + capabilities = new AccountAttributes.Capabilities(false, + true, + false, + true, + true, + true, + true, + false, + false, + false); try { TrustStore contactTrustStore = new IasTrustStore(); diff --git a/lib/src/main/java/org/asamk/signal/manager/helper/ProfileHelper.java b/lib/src/main/java/org/asamk/signal/manager/helper/ProfileHelper.java index 3379c905..8113000b 100644 --- a/lib/src/main/java/org/asamk/signal/manager/helper/ProfileHelper.java +++ b/lib/src/main/java/org/asamk/signal/manager/helper/ProfileHelper.java @@ -262,11 +262,6 @@ public final class ProfileHelper { return now - profile.getLastUpdateTimestamp() >= 6 * 60 * 60 * 1000; } - private SignalServiceProfile retrieveProfileSync(String username) throws IOException { - final var locale = Utils.getDefaultLocale(Locale.US); - return dependencies.getMessageReceiver().retrieveProfileByUsername(username, Optional.empty(), locale); - } - private Profile decryptProfileAndDownloadAvatar( final RecipientId recipientId, final ProfileKey profileKey, final SignalServiceProfile encryptedProfile ) { diff --git a/lib/src/main/java/org/asamk/signal/manager/helper/RecipientHelper.java b/lib/src/main/java/org/asamk/signal/manager/helper/RecipientHelper.java index 2f254b5d..5498aef9 100644 --- a/lib/src/main/java/org/asamk/signal/manager/helper/RecipientHelper.java +++ b/lib/src/main/java/org/asamk/signal/manager/helper/RecipientHelper.java @@ -135,4 +135,8 @@ public class RecipientHelper { } return uuid; } + + private ACI getRegisteredUserByUsername(String username) throws IOException { + return dependencies.getAccountManager().getAciByUsername(username); + } } diff --git a/src/main/java/org/asamk/signal/json/JsonStoryMessage.java b/src/main/java/org/asamk/signal/json/JsonStoryMessage.java index 9fa3ea21..4748e722 100644 --- a/src/main/java/org/asamk/signal/json/JsonStoryMessage.java +++ b/src/main/java/org/asamk/signal/json/JsonStoryMessage.java @@ -6,6 +6,8 @@ import org.asamk.signal.manager.api.Color; import org.asamk.signal.manager.api.MessageEnvelope; import org.asamk.signal.manager.groups.GroupId; +import java.util.List; + record JsonStoryMessage( boolean allowsReplies, @JsonInclude(JsonInclude.Include.NON_NULL) String groupId, @@ -40,11 +42,24 @@ record JsonStoryMessage( textAttachment.backgroundColor().map(Color::toHexColor).orElse(null)); } - public record Gradient(String startColor, String endColor, Integer angle) { + public record Gradient( + String startColor, + String endColor, + List colors, + List positions, + Integer angle + ) { static Gradient from(MessageEnvelope.Story.TextAttachment.Gradient gradient) { - return new Gradient(gradient.startColor().map(Color::toHexColor).orElse(null), - gradient.endColor().map(Color::toHexColor).orElse(null), + final var isLegacyGradient = gradient.colors().size() == 2 + && gradient.positions().size() == 2 + && gradient.positions().get(0) == 0f + && gradient.positions().get(1) == 1f; + + return new Gradient(isLegacyGradient ? gradient.colors().get(0).toHexColor() : null, + isLegacyGradient ? gradient.colors().get(1).toHexColor() : null, + gradient.colors().stream().map(Color::toHexColor).toList(), + gradient.positions(), gradient.angle().orElse(null)); } }