mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-21 09:20:19 +01:00
Update username to use . as delimiter.
This commit is contained in:
committed by
Greyson Parrelli
parent
a457d1f569
commit
c96fec9537
@@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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 = "."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}};
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user