From: AsamK Date: Wed, 10 Nov 2021 13:43:03 +0000 (+0100) Subject: Read phone number unlisted state from storage X-Git-Tag: v0.10.0~63 X-Git-Url: https://git.nmode.ca/signal-cli/commitdiff_plain/62dd5a169fb480f0f799d03bdf08dea208e049e1?ds=inline Read phone number unlisted state from storage --- diff --git a/graalvm-config-dir/reflect-config.json b/graalvm-config-dir/reflect-config.json index 418701cb..7bfe26d5 100644 --- a/graalvm-config-dir/reflect-config.json +++ b/graalvm-config-dir/reflect-config.json @@ -385,6 +385,11 @@ "allDeclaredMethods":true, "allDeclaredClasses":true} , +{ + "name":"org.asamk.Signal$Configuration", + "allDeclaredClasses":true, + "queryAllDeclaredMethods":true} +, { "name":"org.asamk.Signal$Device", "allDeclaredMethods":true, @@ -400,11 +405,19 @@ "allDeclaredConstructors":true, "allPublicConstructors":true} , +{ + "name":"org.asamk.Signal$MessageReceivedV2", + "queryAllPublicConstructors":true} +, { "name":"org.asamk.Signal$ReceiptReceived", "allDeclaredConstructors":true, "allPublicConstructors":true} , +{ + "name":"org.asamk.Signal$ReceiptReceivedV2", + "queryAllPublicConstructors":true} +, { "name":"org.asamk.Signal$StructDevice", "allDeclaredFields":true} @@ -418,6 +431,10 @@ "allDeclaredConstructors":true, "allPublicConstructors":true} , +{ + "name":"org.asamk.Signal$SyncMessageReceivedV2", + "queryAllPublicConstructors":true} +, { "name":"org.asamk.SignalControl", "allDeclaredMethods":true, @@ -673,9 +690,11 @@ "queryAllDeclaredMethods":true, "queryAllDeclaredConstructors":true, "methods":[ + {"name":"","parameterTypes":["java.lang.Boolean","java.lang.Boolean","java.lang.Boolean","java.lang.Boolean","java.lang.Boolean","org.asamk.signal.manager.api.PhoneNumberSharingMode"] }, {"name":"","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":[] } diff --git a/lib/src/main/java/org/asamk/signal/manager/helper/StorageHelper.java b/lib/src/main/java/org/asamk/signal/manager/helper/StorageHelper.java index 0bc0d02b..fcda9ec5 100644 --- a/lib/src/main/java/org/asamk/signal/manager/helper/StorageHelper.java +++ b/lib/src/main/java/org/asamk/signal/manager/helper/StorageHelper.java @@ -212,6 +212,7 @@ public class StorageHelper { default -> PhoneNumberSharingMode.CONTACTS; }); } + account.getConfigurationStore().setPhoneNumberUnlisted(accountRecord.isPhoneNumberUnlisted()); if (accountRecord.getProfileKey().isPresent()) { ProfileKey profileKey; diff --git a/lib/src/main/java/org/asamk/signal/manager/storage/SignalAccount.java b/lib/src/main/java/org/asamk/signal/manager/storage/SignalAccount.java index 1fc405bd..cb078841 100644 --- a/lib/src/main/java/org/asamk/signal/manager/storage/SignalAccount.java +++ b/lib/src/main/java/org/asamk/signal/manager/storage/SignalAccount.java @@ -983,8 +983,7 @@ public class SignalAccount implements Closeable { } 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) { diff --git a/lib/src/main/java/org/asamk/signal/manager/storage/configuration/ConfigurationStore.java b/lib/src/main/java/org/asamk/signal/manager/storage/configuration/ConfigurationStore.java index 793683e6..b810ea23 100644 --- a/lib/src/main/java/org/asamk/signal/manager/storage/configuration/ConfigurationStore.java +++ b/lib/src/main/java/org/asamk/signal/manager/storage/configuration/ConfigurationStore.java @@ -10,6 +10,7 @@ public class ConfigurationStore { private Boolean unidentifiedDeliveryIndicators; private Boolean typingIndicators; private Boolean linkPreviews; + private Boolean phoneNumberUnlisted; private PhoneNumberSharingMode phoneNumberSharingMode; public ConfigurationStore(final Saver saver) { @@ -62,6 +63,15 @@ public class ConfigurationStore { 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; } @@ -76,6 +86,7 @@ public class ConfigurationStore { unidentifiedDeliveryIndicators, typingIndicators, linkPreviews, + phoneNumberUnlisted, phoneNumberSharingMode); } @@ -84,6 +95,7 @@ public class ConfigurationStore { Boolean unidentifiedDeliveryIndicators, Boolean typingIndicators, Boolean linkPreviews, + Boolean phoneNumberUnlisted, PhoneNumberSharingMode phoneNumberSharingMode ) {}