]> nmode's Git Repositories - signal-cli/commitdiff
Update libsignal-service-java
authorAsamK <asamk@gmx.de>
Sat, 17 Sep 2022 07:54:34 +0000 (09:54 +0200)
committerAsamK <asamk@gmx.de>
Sat, 17 Sep 2022 09:26:44 +0000 (11:26 +0200)
graalvm-config-dir/reflect-config.json
lib/build.gradle.kts
lib/src/main/java/org/asamk/signal/manager/api/MessageEnvelope.java
lib/src/main/java/org/asamk/signal/manager/config/ServiceConfig.java
lib/src/main/java/org/asamk/signal/manager/helper/ProfileHelper.java
lib/src/main/java/org/asamk/signal/manager/helper/RecipientHelper.java
src/main/java/org/asamk/signal/json/JsonStoryMessage.java

index 81c2deb0a6193eaf767bb35fab4ef948883408ff..b545045e705b09392f669cad7edbd957cca324af 100644 (file)
   "name":"java.lang.Enum",
   "allDeclaredMethods":true
 },
+{
+  "name":"java.lang.Float",
+  "allDeclaredFields":true,
+  "queryAllDeclaredMethods":true,
+  "queryAllDeclaredConstructors":true
+},
 {
   "name":"java.lang.Integer",
   "allDeclaredFields":true,
     {"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":[] }]
   "queryAllDeclaredConstructors":true,
   "methods":[
     {"name":"angle","parameterTypes":[] }, 
+    {"name":"colors","parameterTypes":[] }, 
     {"name":"endColor","parameterTypes":[] }, 
+    {"name":"positions","parameterTypes":[] }, 
     {"name":"startColor","parameterTypes":[] }
   ]
 },
   "fields":[
     {"name":"angle_"}, 
     {"name":"bitField0_"}, 
+    {"name":"colors_"}, 
     {"name":"endColor_"}, 
+    {"name":"positions_"}, 
     {"name":"startColor_"}
   ]
 },
index 855d73f818d9be67bfdcb7ff97c0de716f80f892..cf3c98cbdf1ad5a4d45d524810636ba21586c3c0 100644 (file)
@@ -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")
index a3546a4b31e14a3595433261fa96588599ab6ae1..727e2eeddec8a3cd6b5f7a434cffb3f024c64c2f 100644 (file)
@@ -837,11 +837,13 @@ public record MessageEnvelope(
                 }
             }
 
-            public record Gradient(Optional<Color> startColor, Optional<Color> endColor, Optional<Integer> angle) {
+            public record Gradient(
+                    List<Color> colors, List<Float> positions, Optional<Integer> 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());
                 }
             }
index c5db130dcfab9cda645020887f2f35249ec7f0ad..0a24727998b4147548bae12774781749b9a056bc 100644 (file)
@@ -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();
index 3379c90522bcfcde4743e596bbc5a25e5e207078..8113000b182912e365f4086d669e21a9e3e7c252 100644 (file)
@@ -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
     ) {
index 2f254b5dcf3bef08f3e587d5673c128bbb90b427..5498aef92da5dc15652b221d979fe2557dc7a6f6 100644 (file)
@@ -135,4 +135,8 @@ public class RecipientHelper {
         }
         return uuid;
     }
+
+    private ACI getRegisteredUserByUsername(String username) throws IOException {
+        return dependencies.getAccountManager().getAciByUsername(username);
+    }
 }
index 9fa3ea21a74a00301fb86f73537196cd89d531d6..4748e72259e2d1b0437dbd580153b99c9f59d388 100644 (file)
@@ -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<String> colors,
+                List<Float> 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));
             }
         }