]> nmode's Git Repositories - signal-cli/commitdiff
Read phone number unlisted state from storage
authorAsamK <asamk@gmx.de>
Wed, 10 Nov 2021 13:43:03 +0000 (14:43 +0100)
committerAsamK <asamk@gmx.de>
Wed, 10 Nov 2021 14:23:44 +0000 (15:23 +0100)
graalvm-config-dir/reflect-config.json
lib/src/main/java/org/asamk/signal/manager/helper/StorageHelper.java
lib/src/main/java/org/asamk/signal/manager/storage/SignalAccount.java
lib/src/main/java/org/asamk/signal/manager/storage/configuration/ConfigurationStore.java

index 418701cbf0489cecb1fa0a913198d26b1bff2368..7bfe26d5458db771e041aca909553741888015ef 100644 (file)
   "allDeclaredMethods":true,
   "allDeclaredClasses":true}
 ,
   "allDeclaredMethods":true,
   "allDeclaredClasses":true}
 ,
+{
+  "name":"org.asamk.Signal$Configuration",
+  "allDeclaredClasses":true,
+  "queryAllDeclaredMethods":true}
+,
 {
   "name":"org.asamk.Signal$Device",
   "allDeclaredMethods":true,
 {
   "name":"org.asamk.Signal$Device",
   "allDeclaredMethods":true,
   "allDeclaredConstructors":true,
   "allPublicConstructors":true}
 ,
   "allDeclaredConstructors":true,
   "allPublicConstructors":true}
 ,
+{
+  "name":"org.asamk.Signal$MessageReceivedV2",
+  "queryAllPublicConstructors":true}
+,
 {
   "name":"org.asamk.Signal$ReceiptReceived",
   "allDeclaredConstructors":true,
   "allPublicConstructors":true}
 ,
 {
   "name":"org.asamk.Signal$ReceiptReceived",
   "allDeclaredConstructors":true,
   "allPublicConstructors":true}
 ,
+{
+  "name":"org.asamk.Signal$ReceiptReceivedV2",
+  "queryAllPublicConstructors":true}
+,
 {
   "name":"org.asamk.Signal$StructDevice",
   "allDeclaredFields":true}
 {
   "name":"org.asamk.Signal$StructDevice",
   "allDeclaredFields":true}
   "allDeclaredConstructors":true,
   "allPublicConstructors":true}
 ,
   "allDeclaredConstructors":true,
   "allPublicConstructors":true}
 ,
+{
+  "name":"org.asamk.Signal$SyncMessageReceivedV2",
+  "queryAllPublicConstructors":true}
+,
 {
   "name":"org.asamk.SignalControl",
   "allDeclaredMethods":true,
 {
   "name":"org.asamk.SignalControl",
   "allDeclaredMethods":true,
   "queryAllDeclaredMethods":true,
   "queryAllDeclaredConstructors":true,
   "methods":[
   "queryAllDeclaredMethods":true,
   "queryAllDeclaredConstructors":true,
   "methods":[
+    {"name":"<init>","parameterTypes":["java.lang.Boolean","java.lang.Boolean","java.lang.Boolean","java.lang.Boolean","java.lang.Boolean","org.asamk.signal.manager.api.PhoneNumberSharingMode"] }, 
     {"name":"<init>","parameterTypes":["java.lang.Boolean","java.lang.Boolean","java.lang.Boolean","java.lang.Boolean","org.asamk.signal.manager.api.PhoneNumberSharingMode"] }, 
     {"name":"linkPreviews","parameterTypes":[] }, 
     {"name":"phoneNumberSharingMode","parameterTypes":[] }, 
     {"name":"<init>","parameterTypes":["java.lang.Boolean","java.lang.Boolean","java.lang.Boolean","java.lang.Boolean","org.asamk.signal.manager.api.PhoneNumberSharingMode"] }, 
     {"name":"linkPreviews","parameterTypes":[] }, 
     {"name":"phoneNumberSharingMode","parameterTypes":[] }, 
+    {"name":"phoneNumberUnlisted","parameterTypes":[] }, 
     {"name":"readReceipts","parameterTypes":[] }, 
     {"name":"typingIndicators","parameterTypes":[] }, 
     {"name":"unidentifiedDeliveryIndicators","parameterTypes":[] }
     {"name":"readReceipts","parameterTypes":[] }, 
     {"name":"typingIndicators","parameterTypes":[] }, 
     {"name":"unidentifiedDeliveryIndicators","parameterTypes":[] }
index 0bc0d02b9b36afe3dfe12751505230f472c4bc9b..fcda9ec5fd35248f356faff05483dc93c20c190a 100644 (file)
@@ -212,6 +212,7 @@ public class StorageHelper {
                         default -> PhoneNumberSharingMode.CONTACTS;
                     });
         }
                         default -> PhoneNumberSharingMode.CONTACTS;
                     });
         }
+        account.getConfigurationStore().setPhoneNumberUnlisted(accountRecord.isPhoneNumberUnlisted());
 
         if (accountRecord.getProfileKey().isPresent()) {
             ProfileKey profileKey;
 
         if (accountRecord.getProfileKey().isPresent()) {
             ProfileKey profileKey;
index 1fc405bdadee5a2d2362782d93857c81c5cf0bf1..cb0788416052eaea76297d494cefed93c9175d1c 100644 (file)
@@ -983,8 +983,7 @@ public class SignalAccount implements Closeable {
     }
 
     public boolean isDiscoverableByPhoneNumber() {
     }
 
     public boolean isDiscoverableByPhoneNumber() {
-        // TODO make configurable
-        return true;
+        return configurationStore.getPhoneNumberUnlisted() == null || !configurationStore.getPhoneNumberUnlisted();
     }
 
     public void finishRegistration(final ACI aci, final MasterKey masterKey, final String pin) {
     }
 
     public void finishRegistration(final ACI aci, final MasterKey masterKey, final String pin) {
index 793683e677eb01e41ad683db7f1f58241a305523..b810ea23a5c1eddc50b07c22e4abe8ea4997baed 100644 (file)
@@ -10,6 +10,7 @@ public class ConfigurationStore {
     private Boolean unidentifiedDeliveryIndicators;
     private Boolean typingIndicators;
     private Boolean linkPreviews;
     private Boolean unidentifiedDeliveryIndicators;
     private Boolean typingIndicators;
     private Boolean linkPreviews;
+    private Boolean phoneNumberUnlisted;
     private PhoneNumberSharingMode phoneNumberSharingMode;
 
     public ConfigurationStore(final Saver saver) {
     private PhoneNumberSharingMode phoneNumberSharingMode;
 
     public ConfigurationStore(final Saver saver) {
@@ -62,6 +63,15 @@ public class ConfigurationStore {
         saver.save(toStorage());
     }
 
         saver.save(toStorage());
     }
 
+    public Boolean getPhoneNumberUnlisted() {
+        return phoneNumberUnlisted;
+    }
+
+    public void setPhoneNumberUnlisted(final boolean phoneNumberUnlisted) {
+        this.phoneNumberUnlisted = phoneNumberUnlisted;
+        saver.save(toStorage());
+    }
+
     public PhoneNumberSharingMode getPhoneNumberSharingMode() {
         return phoneNumberSharingMode;
     }
     public PhoneNumberSharingMode getPhoneNumberSharingMode() {
         return phoneNumberSharingMode;
     }
@@ -76,6 +86,7 @@ public class ConfigurationStore {
                 unidentifiedDeliveryIndicators,
                 typingIndicators,
                 linkPreviews,
                 unidentifiedDeliveryIndicators,
                 typingIndicators,
                 linkPreviews,
+                phoneNumberUnlisted,
                 phoneNumberSharingMode);
     }
 
                 phoneNumberSharingMode);
     }
 
@@ -84,6 +95,7 @@ public class ConfigurationStore {
             Boolean unidentifiedDeliveryIndicators,
             Boolean typingIndicators,
             Boolean linkPreviews,
             Boolean unidentifiedDeliveryIndicators,
             Boolean typingIndicators,
             Boolean linkPreviews,
+            Boolean phoneNumberUnlisted,
             PhoneNumberSharingMode phoneNumberSharingMode
     ) {}
 
             PhoneNumberSharingMode phoneNumberSharingMode
     ) {}