Inline the username flag.

This commit is contained in:
Greyson Parrelli 2024-02-06 10:34:40 -05:00 committed by Cody Henthorne
parent bd3b779282
commit 8ad77ac7aa
11 changed files with 14 additions and 51 deletions

View file

@ -103,7 +103,7 @@ public abstract class ContactSelectionActivity extends PassphraseRequiredActivit
private void initializeContactFilterView() {
this.contactFilterView = findViewById(R.id.contact_filter_edit_text);
if (getResources().getDisplayMetrics().heightPixels >= DimensionUnit.DP.toPixels(600) || !FeatureFlags.usernames()) {
if (getResources().getDisplayMetrics().heightPixels >= DimensionUnit.DP.toPixels(600)) {
this.contactFilterView.focusAndShowKeyboard();
}
}

View file

@ -894,7 +894,7 @@ public final class ContactSelectionListFragment extends LoggingFragment {
builder.arbitrary(ContactSelectionListAdapter.ArbitraryRepository.ArbitraryRow.NEW_GROUP.getCode());
}
if (findByCallback != null && FeatureFlags.usernames()) {
if (findByCallback != null) {
builder.arbitrary(ContactSelectionListAdapter.ArbitraryRepository.ArbitraryRow.FIND_BY_USERNAME.getCode());
builder.arbitrary(ContactSelectionListAdapter.ArbitraryRepository.ArbitraryRow.FIND_BY_PHONE_NUMBER.getCode());
}

View file

@ -4,7 +4,6 @@ import android.content.Context
import org.thoughtcrime.securesms.R
import org.thoughtcrime.securesms.keyvalue.AccountValues.UsernameSyncState
import org.thoughtcrime.securesms.keyvalue.SignalStore
import org.thoughtcrime.securesms.util.FeatureFlags
/**
* Displays a reminder message when the local username gets out of sync with
@ -42,14 +41,10 @@ class UsernameOutOfSyncReminder : Reminder(NO_RESOURCE) {
companion object {
@JvmStatic
fun isEligible(): Boolean {
return if (FeatureFlags.usernames()) {
when (SignalStore.account().usernameSyncState) {
UsernameSyncState.USERNAME_AND_LINK_CORRUPTED -> true
UsernameSyncState.LINK_CORRUPTED -> true
UsernameSyncState.IN_SYNC -> false
}
} else {
false
return when (SignalStore.account().usernameSyncState) {
UsernameSyncState.USERNAME_AND_LINK_CORRUPTED -> true
UsernameSyncState.LINK_CORRUPTED -> true
UsernameSyncState.IN_SYNC -> false
}
}
}

View file

@ -363,7 +363,7 @@ class AppSettingsFragment : DSLSettingsFragment(
summaryView.visibility = View.VISIBLE
avatarView.visibility = View.VISIBLE
if (FeatureFlags.usernames() && SignalStore.account().usernameSyncState == AccountValues.UsernameSyncState.IN_SYNC) {
if (SignalStore.account().usernameSyncState == AccountValues.UsernameSyncState.IN_SYNC) {
qrButton.visibility = View.VISIBLE
qrButton.isClickable = true
qrButton.setOnClickListener { model.onQrButtonClicked() }

View file

@ -20,7 +20,6 @@ import org.thoughtcrime.securesms.search.MessageResult
import org.thoughtcrime.securesms.search.MessageSearchResult
import org.thoughtcrime.securesms.search.SearchRepository
import org.thoughtcrime.securesms.search.ThreadSearchResult
import org.thoughtcrime.securesms.util.FeatureFlags
import org.thoughtcrime.securesms.util.UsernameUtil
import java.util.concurrent.TimeUnit
@ -189,14 +188,10 @@ class ContactSearchPagedDataSource(
return false
}
return if (FeatureFlags.usernames()) {
NumberUtil.isVisuallyValidNumberOrEmail(query)
} else {
NumberUtil.isValidSmsOrEmail(query)
}
return NumberUtil.isVisuallyValidNumberOrEmail(query)
}
private fun isPossiblyUsername(query: String?): Boolean {
return query != null && FeatureFlags.usernames() && UsernameUtil.isValidUsernameForSearch(query)
return query != null && UsernameUtil.isValidUsernameForSearch(query)
}
private fun getPossiblePhoneNumber(section: ContactSearchConfiguration.Section.PhoneNumber, query: String?): List<ContactSearchData> {
return if (isPossiblyPhoneNumber(query)) {

View file

@ -155,9 +155,7 @@ public class RefreshOwnProfileJob extends BaseJob {
StoryOnboardingDownloadJob.Companion.enqueueIfNeeded();
if (FeatureFlags.usernames()) {
checkUsernameIsInSync();
}
checkUsernameIsInSync();
}
private void setExpiringProfileKeyCredential(@NonNull Recipient recipient,

View file

@ -397,8 +397,7 @@ public final class Megaphones {
long phoneNumberDiscoveryDisabledAt = SignalStore.phoneNumberPrivacy().getPhoneNumberDiscoverabilityModeTimestamp();
PhoneNumberPrivacyValues.PhoneNumberDiscoverabilityMode listingMode = SignalStore.phoneNumberPrivacy().getPhoneNumberDiscoverabilityMode();
return FeatureFlags.usernames() &&
!hasUsername &&
return !hasUsername &&
listingMode.isUndiscoverable() &&
!hasCompleted &&
phoneNumberDiscoveryDisabledAt > 0 &&

View file

@ -37,7 +37,6 @@ import org.thoughtcrime.securesms.profiles.ProfileName
import org.thoughtcrime.securesms.profiles.manage.EditProfileViewModel.AvatarState
import org.thoughtcrime.securesms.profiles.manage.UsernameRepository.UsernameDeleteResult
import org.thoughtcrime.securesms.recipients.Recipient
import org.thoughtcrime.securesms.util.FeatureFlags
import org.thoughtcrime.securesms.util.NameUtil.getAbbreviation
import org.thoughtcrime.securesms.util.livedata.LiveDataUtil
import org.thoughtcrime.securesms.util.navigation.safeNavigate
@ -128,7 +127,7 @@ class EditProfileFragment : LoggingFragment() {
)
}
if (FeatureFlags.usernames() && SignalStore.account().username != null && SignalStore.account().usernameSyncState != AccountValues.UsernameSyncState.USERNAME_AND_LINK_CORRUPTED) {
if (SignalStore.account().username != null && SignalStore.account().usernameSyncState != AccountValues.UsernameSyncState.USERNAME_AND_LINK_CORRUPTED) {
binding.usernameLinkContainer.setOnClickListener {
findNavController().safeNavigate(EditProfileFragmentDirections.actionManageProfileFragmentToUsernameLinkFragment())
}
@ -165,14 +164,7 @@ class EditProfileFragment : LoggingFragment() {
viewModel.about.observe(viewLifecycleOwner) { presentAbout(it) }
viewModel.aboutEmoji.observe(viewLifecycleOwner) { presentAboutEmoji(it) }
viewModel.badge.observe(viewLifecycleOwner) { presentBadge(it) }
if (viewModel.shouldShowUsername()) {
viewModel.username.observe(viewLifecycleOwner) { presentUsername(it) }
} else {
binding.manageProfileUsernameContainer.visibility = View.GONE
binding.manageProfileDivider.root.visibility = View.GONE
binding.usernameInfoText.visibility = View.GONE
}
viewModel.username.observe(viewLifecycleOwner) { presentUsername(it) }
}
private fun presentAvatarImage(avatarData: Optional<ByteArray>) {

View file

@ -107,10 +107,6 @@ class EditProfileViewModel extends ViewModel {
return UsernameRepository.deleteUsernameAndLink().observeOn(AndroidSchedulers.mainThread());
}
public boolean shouldShowUsername() {
return FeatureFlags.usernames();
}
public void onAvatarSelected(@NonNull Context context, @Nullable Media media) {
previousAvatar = internalAvatarState.getValue() != null ? internalAvatarState.getValue().getAvatar() : null;

View file

@ -680,11 +680,7 @@ public class Recipient {
}
public @NonNull Optional<String> getUsername() {
if (FeatureFlags.usernames()) {
return OptionalUtil.absentIfEmpty(username);
} else {
return Optional.empty();
}
return OptionalUtil.absentIfEmpty(username);
}
public @NonNull Optional<String> getE164() {

View file

@ -107,7 +107,6 @@ public final class FeatureFlags {
public static final String PROMPT_FOR_NOTIFICATION_LOGS = "android.logs.promptNotifications";
private static final String PROMPT_FOR_NOTIFICATION_CONFIG = "android.logs.promptNotificationsConfig";
public static final String PROMPT_BATTERY_SAVER = "android.promptBatterySaver";
public static final String USERNAMES = "android.usernames";
public static final String INSTANT_VIDEO_PLAYBACK = "android.instantVideoPlayback.1";
public static final String CRASH_PROMPT_CONFIG = "android.crashPromptConfig";
private static final String SEPA_DEBIT_DONATIONS = "android.sepa.debit.donations.5";
@ -180,7 +179,6 @@ public final class FeatureFlags {
PROMPT_FOR_NOTIFICATION_LOGS,
PROMPT_FOR_NOTIFICATION_CONFIG,
PROMPT_BATTERY_SAVER,
USERNAMES,
INSTANT_VIDEO_PLAYBACK,
CRASH_PROMPT_CONFIG,
SEPA_DEBIT_DONATIONS,
@ -259,7 +257,6 @@ public final class FeatureFlags {
PROMPT_FOR_NOTIFICATION_LOGS,
PROMPT_FOR_NOTIFICATION_CONFIG,
PROMPT_BATTERY_SAVER,
USERNAMES,
CRASH_PROMPT_CONFIG,
CALLING_REACTIONS,
NOTIFICATION_THUMBNAIL_BLOCKLIST,
@ -344,11 +341,6 @@ public final class FeatureFlags {
Log.i(TAG, "[Disk] After : " + result.getDisk().toString());
}
/** Creating usernames, sending messages by username. */
public static synchronized boolean usernames() {
return getBoolean(USERNAMES, false) || phoneNumberPrivacy();
}
/**
* Maximum number of members allowed in a group.
*/