Update username to use . as delimiter.

This commit is contained in:
Alex Hart
2022-09-15 10:18:40 -03:00
committed by Greyson Parrelli
parent a457d1f569
commit c96fec9537
7 changed files with 26 additions and 7 deletions

View File

@@ -24,6 +24,7 @@ import org.thoughtcrime.securesms.contacts.avatars.ResourceContactPhoto;
import org.thoughtcrime.securesms.conversation.colors.AvatarColor;
import org.thoughtcrime.securesms.mms.GlideRequests;
import org.thoughtcrime.securesms.phonenumbers.PhoneNumberFormatter;
import org.thoughtcrime.securesms.profiles.manage.UsernameState;
import org.thoughtcrime.securesms.recipients.LiveRecipient;
import org.thoughtcrime.securesms.recipients.Recipient;
import org.thoughtcrime.securesms.recipients.RecipientForeverObserver;
@@ -241,10 +242,10 @@ public class ContactSelectionListItem extends ConstraintLayout implements Recipi
}
private CharSequence presentUsername(@NonNull String username) {
if (username.contains("#")) {
if (username.contains(UsernameState.DELIMITER)) {
return username;
} else {
return new SpannableStringBuilder(username).append(SpanUtil.color(ContextCompat.getColor(getContext(), R.color.signal_colorOutline), "#"));
return new SpannableStringBuilder(username).append(SpanUtil.color(ContextCompat.getColor(getContext(), R.color.signal_colorOutline), UsernameState.DELIMITER));
}
}

View File

@@ -168,6 +168,7 @@ public class UsernameEditFragment extends LoggingFragment {
presentSuffix(state.getUsername());
presentButtonState(state.getButtonState());
presentSummary(state.getUsername());
switch (state.getUsernameStatus()) {
case NONE:
@@ -210,6 +211,14 @@ public class UsernameEditFragment extends LoggingFragment {
}
}
private void presentSummary(@NonNull UsernameState usernameState) {
if (usernameState.getUsername() != null) {
binding.summary.setText(usernameState.getUsername());
} else {
binding.summary.setText(R.string.UsernameEditFragment__choose_your_username);
}
}
private void presentRegistrationButtonState(@NonNull UsernameEditViewModel.ButtonState buttonState) {
binding.usernameText.setEnabled(true);
binding.usernameProgressCard.setVisibility(View.GONE);

View File

@@ -261,7 +261,7 @@ class UsernameEditViewModel extends ViewModel {
NETWORK_FAILURE, SUBMIT_SUCCESS, DELETE_SUCCESS, SUBMIT_FAIL_INVALID, SUBMIT_FAIL_TAKEN, SKIPPED
}
static class Factory extends ViewModelProvider.NewInstanceFactory {
static class Factory implements ViewModelProvider.Factory {
private final boolean isInRegistration;

View File

@@ -27,10 +27,14 @@ sealed class UsernameState {
) : UsernameState()
fun getNickname(): String? {
return username?.split('#')?.firstOrNull()
return username?.split(DELIMITER)?.firstOrNull()
}
fun getDiscriminator(): String? {
return username?.split('#')?.lastOrNull()
return username?.split(DELIMITER)?.lastOrNull()
}
companion object {
const val DELIMITER = "."
}
}

View File

@@ -178,6 +178,7 @@ public final class FeatureFlags {
@SuppressWarnings("MismatchedQueryAndUpdateOfCollection")
@VisibleForTesting
static final Map<String, Object> FORCED_VALUES = new HashMap<String, Object>() {{
put(USERNAMES, true);
}};
/**