]> nmode's Git Repositories - signal-cli/blobdiff - lib/src/main/java/org/asamk/signal/manager/api/Profile.java
Store profile phone number sharing mode and discoverable state
[signal-cli] / lib / src / main / java / org / asamk / signal / manager / api / Profile.java
index 33117188687675c4799642a36219cc4769f80779..5b1ecf3a07e76e5b6b251cfe5884f8c0a4c4f388 100644 (file)
@@ -26,6 +26,8 @@ public class Profile {
 
     private final Set<Capability> capabilities;
 
+    private final PhoneNumberSharingMode phoneNumberSharingMode;
+
     public Profile(
             final long lastUpdateTimestamp,
             final String givenName,
@@ -35,7 +37,8 @@ public class Profile {
             final String avatarUrlPath,
             final byte[] mobileCoinAddress,
             final UnidentifiedAccessMode unidentifiedAccessMode,
-            final Set<Capability> capabilities
+            final Set<Capability> capabilities,
+            final PhoneNumberSharingMode phoneNumberSharingMode
     ) {
         this.lastUpdateTimestamp = lastUpdateTimestamp;
         this.givenName = givenName;
@@ -46,6 +49,7 @@ public class Profile {
         this.mobileCoinAddress = mobileCoinAddress;
         this.unidentifiedAccessMode = unidentifiedAccessMode;
         this.capabilities = capabilities;
+        this.phoneNumberSharingMode = phoneNumberSharingMode;
     }
 
     private Profile(final Builder builder) {
@@ -58,6 +62,7 @@ public class Profile {
         mobileCoinAddress = builder.mobileCoinAddress;
         unidentifiedAccessMode = builder.unidentifiedAccessMode;
         capabilities = builder.capabilities;
+        phoneNumberSharingMode = builder.phoneNumberSharingMode;
     }
 
     public static Builder newBuilder() {
@@ -136,6 +141,10 @@ public class Profile {
         return capabilities;
     }
 
+    public PhoneNumberSharingMode getPhoneNumberSharingMode() {
+        return phoneNumberSharingMode;
+    }
+
     public enum UnidentifiedAccessMode {
         UNKNOWN,
         DISABLED,
@@ -200,6 +209,7 @@ public class Profile {
         private byte[] mobileCoinAddress;
         private UnidentifiedAccessMode unidentifiedAccessMode = UnidentifiedAccessMode.UNKNOWN;
         private Set<Capability> capabilities = Collections.emptySet();
+        private PhoneNumberSharingMode phoneNumberSharingMode;
         private long lastUpdateTimestamp = 0;
 
         private Builder() {
@@ -240,6 +250,11 @@ public class Profile {
             return this;
         }
 
+        public Builder withPhoneNumberSharingMode(final PhoneNumberSharingMode val) {
+            phoneNumberSharingMode = val;
+            return this;
+        }
+
         public Profile build() {
             return new Profile(this);
         }