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

@@ -286,6 +286,7 @@ public class CreateProfileFragment extends LoggingFragment {
private void presentWhoCanFindMeDescription(PhoneNumberPrivacyValues.PhoneNumberDiscoverabilityMode phoneNumberListingMode) {
switch (phoneNumberListingMode) {
case DISCOVERABLE:
case UNDECIDED:
binding.whoCanFindMeIcon.setImageResource(R.drawable.symbol_group_24);
binding.whoCanFindMeDescription.setText(R.string.PhoneNumberPrivacy_everyone);
break;

View File

@@ -8,8 +8,12 @@ import androidx.lifecycle.Transformations;
import androidx.lifecycle.ViewModel;
import androidx.lifecycle.ViewModelProvider;
import org.signal.core.util.logging.Log;
import org.thoughtcrime.securesms.conversation.colors.AvatarColor;
import org.thoughtcrime.securesms.groups.GroupId;
import org.thoughtcrime.securesms.keyvalue.PhoneNumberPrivacyValues;
import org.thoughtcrime.securesms.keyvalue.PhoneNumberPrivacyValues.PhoneNumberDiscoverabilityMode;
import org.thoughtcrime.securesms.keyvalue.SignalStore;
import org.thoughtcrime.securesms.mediasend.Media;
import org.thoughtcrime.securesms.profiles.ProfileName;
import org.thoughtcrime.securesms.profiles.edit.EditProfileRepository.UploadResult;
@@ -22,6 +26,8 @@ import java.util.Objects;
class EditProfileViewModel extends ViewModel {
private static final String TAG = Log.tag(EditProfileViewModel.class);
private final MutableLiveData<String> givenName = new MutableLiveData<>();
private final MutableLiveData<String> familyName = new MutableLiveData<>();
private final LiveData<String> trimmedGivenName = Transformations.map(givenName, StringUtil::trimToVisualBounds);
@@ -112,10 +118,6 @@ class EditProfileViewModel extends ViewModel {
return groupId;
}
public boolean canRemoveProfilePhoto() {
return hasAvatar();
}
public SingleLiveEvent<UploadResult> getUploadResult() {
return uploadResult;
}
@@ -146,6 +148,11 @@ class EditProfileViewModel extends ViewModel {
String oldDisplayName = isGroup() ? originalDisplayName.getValue() : null;
String oldDescription = isGroup() ? originalDescription : null;
if (!isGroup() && SignalStore.phoneNumberPrivacy().getPhoneNumberDiscoverabilityMode() == PhoneNumberDiscoverabilityMode.UNDECIDED) {
Log.i(TAG, "Phone number discoverability mode is still UNDECIDED. Setting to DISCOVERABLE.");
SignalStore.phoneNumberPrivacy().setPhoneNumberDiscoverabilityMode(PhoneNumberDiscoverabilityMode.DISCOVERABLE);
}
repository.uploadProfile(profileName,
displayName,
!Objects.equals(StringUtil.stripBidiProtection(oldDisplayName), displayName),

View File

@@ -17,6 +17,7 @@ class WhoCanFindMeByPhoneNumberRepository {
return when (SignalStore.phoneNumberPrivacy().phoneNumberDiscoverabilityMode) {
PhoneNumberPrivacyValues.PhoneNumberDiscoverabilityMode.DISCOVERABLE -> WhoCanFindMeByPhoneNumberState.EVERYONE
PhoneNumberPrivacyValues.PhoneNumberDiscoverabilityMode.NOT_DISCOVERABLE -> WhoCanFindMeByPhoneNumberState.NOBODY
PhoneNumberPrivacyValues.PhoneNumberDiscoverabilityMode.UNDECIDED -> WhoCanFindMeByPhoneNumberState.EVERYONE
}
}