Default discoverability to 'off' until registration is complete.

This commit is contained in:
Greyson Parrelli
2024-02-06 15:52:03 -05:00
committed by Cody Henthorne
parent 879fca0e11
commit 6097e6c305
12 changed files with 52 additions and 36 deletions

View File

@@ -23,10 +23,9 @@ public final class PhoneNumberPrivacyValues extends SignalStoreValues {
@Override
void onFirstEverAppLaunch() {
// TODO [ALAN] PhoneNumberPrivacy: During registration, set the attribute to so that new registrations start out as not listed
//getStore().beginWrite()
// .putInteger(LISTING_MODE, PhoneNumberListingMode.UNLISTED.serialize())
// .apply();
getStore().beginWrite()
.putInteger(DISCOVERABILITY_MODE, PhoneNumberDiscoverabilityMode.UNDECIDED.serialize())
.apply();
}
@Override
@@ -53,11 +52,8 @@ public final class PhoneNumberPrivacyValues extends SignalStoreValues {
putInteger(SHARING_MODE, phoneNumberSharingMode.serialize());
}
public boolean isDiscoverableByPhoneNumber() {
return getPhoneNumberDiscoverabilityMode() == PhoneNumberDiscoverabilityMode.DISCOVERABLE;
}
public @NonNull PhoneNumberDiscoverabilityMode getPhoneNumberDiscoverabilityMode() {
// The default for existing users is to be discoverable, but new users are set to UNDECIDED in onFirstEverAppLaunch
return PhoneNumberDiscoverabilityMode.deserialize(getInteger(DISCOVERABILITY_MODE, PhoneNumberDiscoverabilityMode.DISCOVERABLE.serialize()));
}
@@ -120,7 +116,9 @@ public final class PhoneNumberPrivacyValues extends SignalStoreValues {
public enum PhoneNumberDiscoverabilityMode {
DISCOVERABLE(0),
NOT_DISCOVERABLE(1);
NOT_DISCOVERABLE(1),
/** The user is going through registration and has not yet chosen a discoverability setting */
UNDECIDED(2);
private final int code;
@@ -128,14 +126,6 @@ public final class PhoneNumberPrivacyValues extends SignalStoreValues {
this.code = code;
}
public boolean isDiscoverable() {
return this == DISCOVERABLE;
}
public boolean isUndiscoverable() {
return this == NOT_DISCOVERABLE;
}
public int serialize() {
return code;
}