kopia lustrzana https://github.com/ryukoposting/Signal-Android
Clean up some unused feature flags.
rodzic
7fef1b060f
commit
0e4bec3977
|
@ -23,7 +23,6 @@ import org.thoughtcrime.securesms.recipients.Recipient
|
||||||
import org.thoughtcrime.securesms.recipients.RecipientId
|
import org.thoughtcrime.securesms.recipients.RecipientId
|
||||||
import org.thoughtcrime.securesms.util.BottomSheetUtil
|
import org.thoughtcrime.securesms.util.BottomSheetUtil
|
||||||
import org.thoughtcrime.securesms.util.CommunicationActions
|
import org.thoughtcrime.securesms.util.CommunicationActions
|
||||||
import org.thoughtcrime.securesms.util.FeatureFlags
|
|
||||||
import org.thoughtcrime.securesms.util.PlayServicesUtil
|
import org.thoughtcrime.securesms.util.PlayServicesUtil
|
||||||
import org.thoughtcrime.securesms.util.ViewUtil
|
import org.thoughtcrime.securesms.util.ViewUtil
|
||||||
import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter
|
import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter
|
||||||
|
@ -68,10 +67,7 @@ class ViewBadgeBottomSheetDialogFragment : FixedRoundedCornerBottomSheetDialogFr
|
||||||
action.setOnClickListener {
|
action.setOnClickListener {
|
||||||
CommunicationActions.openBrowserLink(requireContext(), getString(R.string.donate_url))
|
CommunicationActions.openBrowserLink(requireContext(), getString(R.string.donate_url))
|
||||||
}
|
}
|
||||||
} else if (
|
} else if (Recipient.self().badges.none { it.category == Badge.Category.Donor && !it.isBoost() && !it.isExpired() }) {
|
||||||
FeatureFlags.donorBadges() &&
|
|
||||||
Recipient.self().badges.none { it.category == Badge.Category.Donor && !it.isBoost() && !it.isExpired() }
|
|
||||||
) {
|
|
||||||
action.setOnClickListener {
|
action.setOnClickListener {
|
||||||
startActivity(AppSettingsActivity.subscriptions(requireContext()))
|
startActivity(AppSettingsActivity.subscriptions(requireContext()))
|
||||||
}
|
}
|
||||||
|
@ -143,10 +139,6 @@ class ViewBadgeBottomSheetDialogFragment : FixedRoundedCornerBottomSheetDialogFr
|
||||||
recipientId: RecipientId,
|
recipientId: RecipientId,
|
||||||
startBadge: Badge? = null
|
startBadge: Badge? = null
|
||||||
) {
|
) {
|
||||||
if (!FeatureFlags.displayDonorBadges() && recipientId != Recipient.self().id) {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
ViewBadgeBottomSheetDialogFragment().apply {
|
ViewBadgeBottomSheetDialogFragment().apply {
|
||||||
arguments = Bundle().apply {
|
arguments = Bundle().apply {
|
||||||
putParcelable(ARG_START_BADGE, startBadge)
|
putParcelable(ARG_START_BADGE, startBadge)
|
||||||
|
|
|
@ -70,8 +70,7 @@ class AppSettingsFragment : DSLSettingsFragment(R.string.text_secure_normal__men
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
if (FeatureFlags.donorBadges() && PlayServicesUtil.getPlayServicesStatus(requireContext()) == PlayServicesUtil.PlayServicesStatus.SUCCESS) {
|
if (PlayServicesUtil.getPlayServicesStatus(requireContext()) == PlayServicesUtil.PlayServicesStatus.SUCCESS) {
|
||||||
|
|
||||||
clickPref(
|
clickPref(
|
||||||
title = DSLSettingsText.from(R.string.preferences__donate_to_signal),
|
title = DSLSettingsText.from(R.string.preferences__donate_to_signal),
|
||||||
icon = DSLSettingsIcon.from(R.drawable.ic_heart_24),
|
icon = DSLSettingsIcon.from(R.drawable.ic_heart_24),
|
||||||
|
|
|
@ -40,7 +40,6 @@ import org.thoughtcrime.securesms.megaphone.Megaphones
|
||||||
import org.thoughtcrime.securesms.payments.DataExportUtil
|
import org.thoughtcrime.securesms.payments.DataExportUtil
|
||||||
import org.thoughtcrime.securesms.storage.StorageSyncHelper
|
import org.thoughtcrime.securesms.storage.StorageSyncHelper
|
||||||
import org.thoughtcrime.securesms.util.ConversationUtil
|
import org.thoughtcrime.securesms.util.ConversationUtil
|
||||||
import org.thoughtcrime.securesms.util.FeatureFlags
|
|
||||||
import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter
|
import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter
|
||||||
import org.thoughtcrime.securesms.util.navigation.safeNavigate
|
import org.thoughtcrime.securesms.util.navigation.safeNavigate
|
||||||
import java.util.Optional
|
import java.util.Optional
|
||||||
|
@ -365,7 +364,7 @@ class InternalSettingsFragment : DSLSettingsFragment(R.string.preferences__inter
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
if (FeatureFlags.donorBadges() && SignalStore.donationsValues().getSubscriber() != null) {
|
if (SignalStore.donationsValues().getSubscriber() != null) {
|
||||||
dividerPref()
|
dividerPref()
|
||||||
|
|
||||||
sectionHeaderPref(R.string.preferences__internal_badges)
|
sectionHeaderPref(R.string.preferences__internal_badges)
|
||||||
|
|
|
@ -81,7 +81,6 @@ import org.thoughtcrime.securesms.stories.viewer.StoryViewerActivity
|
||||||
import org.thoughtcrime.securesms.util.CommunicationActions
|
import org.thoughtcrime.securesms.util.CommunicationActions
|
||||||
import org.thoughtcrime.securesms.util.ContextUtil
|
import org.thoughtcrime.securesms.util.ContextUtil
|
||||||
import org.thoughtcrime.securesms.util.ExpirationUtil
|
import org.thoughtcrime.securesms.util.ExpirationUtil
|
||||||
import org.thoughtcrime.securesms.util.FeatureFlags
|
|
||||||
import org.thoughtcrime.securesms.util.Material3OnScrollHelper
|
import org.thoughtcrime.securesms.util.Material3OnScrollHelper
|
||||||
import org.thoughtcrime.securesms.util.ViewUtil
|
import org.thoughtcrime.securesms.util.ViewUtil
|
||||||
import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter
|
import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter
|
||||||
|
@ -231,7 +230,7 @@ class ConversationSettingsFragment : DSLSettingsFragment(
|
||||||
.withFixedSize(ViewUtil.dpToPx(80))
|
.withFixedSize(ViewUtil.dpToPx(80))
|
||||||
.load(state.recipient)
|
.load(state.recipient)
|
||||||
|
|
||||||
if (FeatureFlags.displayDonorBadges() && !state.recipient.isSelf) {
|
if (!state.recipient.isSelf) {
|
||||||
toolbarBadge.setBadgeFromRecipient(state.recipient)
|
toolbarBadge.setBadgeFromRecipient(state.recipient)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -108,17 +108,13 @@ public class ManageProfileFragment extends LoggingFragment {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
if (FeatureFlags.donorBadges()) {
|
binding.manageProfileBadgesContainer.setOnClickListener(v -> {
|
||||||
binding.manageProfileBadgesContainer.setOnClickListener(v -> {
|
if (Recipient.self().getBadges().isEmpty()) {
|
||||||
if (Recipient.self().getBadges().isEmpty()) {
|
BecomeASustainerFragment.show(getParentFragmentManager());
|
||||||
BecomeASustainerFragment.show(getParentFragmentManager());
|
} else {
|
||||||
} else {
|
SafeNavigation.safeNavigate(Navigation.findNavController(v), ManageProfileFragmentDirections.actionManageProfileFragmentToBadgeManageFragment());
|
||||||
SafeNavigation.safeNavigate(Navigation.findNavController(v), ManageProfileFragmentDirections.actionManageProfileFragmentToBadgeManageFragment());
|
}
|
||||||
}
|
});
|
||||||
});
|
|
||||||
} else {
|
|
||||||
binding.manageProfileBadgesContainer.setVisibility(View.GONE);
|
|
||||||
}
|
|
||||||
|
|
||||||
binding.manageProfileAvatar.setOnClickListener(v -> {
|
binding.manageProfileAvatar.setOnClickListener(v -> {
|
||||||
startActivity(AvatarPreviewActivity.intentFromRecipientId(requireContext(), Recipient.self().getId()),
|
startActivity(AvatarPreviewActivity.intentFromRecipientId(requireContext(), Recipient.self().getId()),
|
||||||
|
|
|
@ -1138,7 +1138,7 @@ public class Recipient {
|
||||||
}
|
}
|
||||||
|
|
||||||
public @NonNull List<Badge> getBadges() {
|
public @NonNull List<Badge> getBadges() {
|
||||||
return FeatureFlags.displayDonorBadges() || isSelf() ? badges : Collections.emptyList();
|
return badges;
|
||||||
}
|
}
|
||||||
|
|
||||||
public @Nullable Badge getFeaturedBadge() {
|
public @Nullable Badge getFeaturedBadge() {
|
||||||
|
|
|
@ -78,14 +78,10 @@ public final class FeatureFlags {
|
||||||
private static final String MEDIA_QUALITY_LEVELS = "android.mediaQuality.levels";
|
private static final String MEDIA_QUALITY_LEVELS = "android.mediaQuality.levels";
|
||||||
private static final String RETRY_RECEIPT_LIFESPAN = "android.retryReceiptLifespan";
|
private static final String RETRY_RECEIPT_LIFESPAN = "android.retryReceiptLifespan";
|
||||||
private static final String RETRY_RESPOND_MAX_AGE = "android.retryRespondMaxAge";
|
private static final String RETRY_RESPOND_MAX_AGE = "android.retryRespondMaxAge";
|
||||||
private static final String SENDER_KEY = "android.senderKey.5";
|
|
||||||
private static final String SENDER_KEY_MAX_AGE = "android.senderKeyMaxAge";
|
private static final String SENDER_KEY_MAX_AGE = "android.senderKeyMaxAge";
|
||||||
private static final String RETRY_RECEIPTS = "android.retryReceipts";
|
private static final String RETRY_RECEIPTS = "android.retryReceipts";
|
||||||
private static final String SUGGEST_SMS_BLACKLIST = "android.suggestSmsBlacklist";
|
|
||||||
private static final String MAX_GROUP_CALL_RING_SIZE = "global.calling.maxGroupCallRingSize";
|
private static final String MAX_GROUP_CALL_RING_SIZE = "global.calling.maxGroupCallRingSize";
|
||||||
private static final String GROUP_CALL_RINGING = "android.calling.groupCallRinging";
|
private static final String GROUP_CALL_RINGING = "android.calling.groupCallRinging";
|
||||||
private static final String DONOR_BADGES = "android.donorBadges.6";
|
|
||||||
private static final String DONOR_BADGES_DISPLAY = "android.donorBadges.display.4";
|
|
||||||
private static final String STORIES = "android.stories.2";
|
private static final String STORIES = "android.stories.2";
|
||||||
private static final String STORIES_TEXT_FUNCTIONS = "android.stories.text.functions";
|
private static final String STORIES_TEXT_FUNCTIONS = "android.stories.text.functions";
|
||||||
private static final String HARDWARE_AEC_BLOCKLIST_MODELS = "android.calling.hardwareAecBlockList";
|
private static final String HARDWARE_AEC_BLOCKLIST_MODELS = "android.calling.hardwareAecBlockList";
|
||||||
|
@ -138,14 +134,10 @@ public final class FeatureFlags {
|
||||||
MEDIA_QUALITY_LEVELS,
|
MEDIA_QUALITY_LEVELS,
|
||||||
RETRY_RECEIPT_LIFESPAN,
|
RETRY_RECEIPT_LIFESPAN,
|
||||||
RETRY_RESPOND_MAX_AGE,
|
RETRY_RESPOND_MAX_AGE,
|
||||||
SENDER_KEY,
|
|
||||||
RETRY_RECEIPTS,
|
RETRY_RECEIPTS,
|
||||||
SUGGEST_SMS_BLACKLIST,
|
|
||||||
MAX_GROUP_CALL_RING_SIZE,
|
MAX_GROUP_CALL_RING_SIZE,
|
||||||
GROUP_CALL_RINGING,
|
GROUP_CALL_RINGING,
|
||||||
SENDER_KEY_MAX_AGE,
|
SENDER_KEY_MAX_AGE,
|
||||||
DONOR_BADGES,
|
|
||||||
DONOR_BADGES_DISPLAY,
|
|
||||||
STORIES,
|
STORIES,
|
||||||
STORIES_TEXT_FUNCTIONS,
|
STORIES_TEXT_FUNCTIONS,
|
||||||
HARDWARE_AEC_BLOCKLIST_MODELS,
|
HARDWARE_AEC_BLOCKLIST_MODELS,
|
||||||
|
@ -211,13 +203,10 @@ public final class FeatureFlags {
|
||||||
MEDIA_QUALITY_LEVELS,
|
MEDIA_QUALITY_LEVELS,
|
||||||
RETRY_RECEIPT_LIFESPAN,
|
RETRY_RECEIPT_LIFESPAN,
|
||||||
RETRY_RESPOND_MAX_AGE,
|
RETRY_RESPOND_MAX_AGE,
|
||||||
SUGGEST_SMS_BLACKLIST,
|
|
||||||
RETRY_RECEIPTS,
|
RETRY_RECEIPTS,
|
||||||
SENDER_KEY,
|
|
||||||
MAX_GROUP_CALL_RING_SIZE,
|
MAX_GROUP_CALL_RING_SIZE,
|
||||||
GROUP_CALL_RINGING,
|
GROUP_CALL_RINGING,
|
||||||
SENDER_KEY_MAX_AGE,
|
SENDER_KEY_MAX_AGE,
|
||||||
DONOR_BADGES_DISPLAY,
|
|
||||||
DONATE_MEGAPHONE,
|
DONATE_MEGAPHONE,
|
||||||
HARDWARE_AEC_BLOCKLIST_MODELS,
|
HARDWARE_AEC_BLOCKLIST_MODELS,
|
||||||
SOFTWARE_AEC_BLOCKLIST_MODELS,
|
SOFTWARE_AEC_BLOCKLIST_MODELS,
|
||||||
|
@ -255,7 +244,6 @@ public final class FeatureFlags {
|
||||||
*/
|
*/
|
||||||
private static final Map<String, OnFlagChange> FLAG_CHANGE_LISTENERS = new HashMap<String, OnFlagChange>() {{
|
private static final Map<String, OnFlagChange> FLAG_CHANGE_LISTENERS = new HashMap<String, OnFlagChange>() {{
|
||||||
put(MESSAGE_PROCESSOR_ALARM_INTERVAL, change -> MessageProcessReceiver.startOrUpdateAlarm(ApplicationDependencies.getApplication()));
|
put(MESSAGE_PROCESSOR_ALARM_INTERVAL, change -> MessageProcessReceiver.startOrUpdateAlarm(ApplicationDependencies.getApplication()));
|
||||||
put(SENDER_KEY, change -> ApplicationDependencies.getJobManager().startChain(new RefreshAttributesJob()).then(new RefreshOwnProfileJob()).enqueue());
|
|
||||||
put(STORIES, change -> ApplicationDependencies.getJobManager().startChain(new RefreshAttributesJob()).then(new RefreshOwnProfileJob()).enqueue());
|
put(STORIES, change -> ApplicationDependencies.getJobManager().startChain(new RefreshAttributesJob()).then(new RefreshOwnProfileJob()).enqueue());
|
||||||
put(GIFT_BADGE_RECEIVE_SUPPORT, change -> ApplicationDependencies.getJobManager().startChain(new RefreshAttributesJob()).then(new RefreshOwnProfileJob()).enqueue());
|
put(GIFT_BADGE_RECEIVE_SUPPORT, change -> ApplicationDependencies.getJobManager().startChain(new RefreshAttributesJob()).then(new RefreshOwnProfileJob()).enqueue());
|
||||||
}};
|
}};
|
||||||
|
@ -436,11 +424,6 @@ public final class FeatureFlags {
|
||||||
return Math.min(getLong(SENDER_KEY_MAX_AGE, TimeUnit.DAYS.toMillis(14)), TimeUnit.DAYS.toMillis(90));
|
return Math.min(getLong(SENDER_KEY_MAX_AGE, TimeUnit.DAYS.toMillis(14)), TimeUnit.DAYS.toMillis(90));
|
||||||
}
|
}
|
||||||
|
|
||||||
/** A comma-delimited list of country codes that should not be told about SMS during onboarding. */
|
|
||||||
public static @NonNull String suggestSmsBlacklist() {
|
|
||||||
return getString(SUGGEST_SMS_BLACKLIST, "");
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Max group size that can be use group call ringing. */
|
/** Max group size that can be use group call ringing. */
|
||||||
public static long maxGroupCallRingSize() {
|
public static long maxGroupCallRingSize() {
|
||||||
return getLong(MAX_GROUP_CALL_RING_SIZE, 16);
|
return getLong(MAX_GROUP_CALL_RING_SIZE, 16);
|
||||||
|
@ -456,17 +439,6 @@ public final class FeatureFlags {
|
||||||
return getString(PAYMENTS_COUNTRY_BLOCKLIST, "98,963,53,850,7");
|
return getString(PAYMENTS_COUNTRY_BLOCKLIST, "98,963,53,850,7");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Whether or not to show donor badges in the UI.
|
|
||||||
*/
|
|
||||||
public static boolean donorBadges() {
|
|
||||||
if (Environment.IS_STAGING) {
|
|
||||||
return true;
|
|
||||||
} else {
|
|
||||||
return getBoolean(DONOR_BADGES, true) || SignalStore.donationsValues().getSubscriber() != null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Whether or not stories are available
|
* Whether or not stories are available
|
||||||
*
|
*
|
||||||
|
@ -492,13 +464,6 @@ public final class FeatureFlags {
|
||||||
return getString(STORIES_LOCALE, "");
|
return getString(STORIES_LOCALE, "");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Whether or not donor badges should be displayed throughout the app.
|
|
||||||
*/
|
|
||||||
public static boolean displayDonorBadges() {
|
|
||||||
return getBoolean(DONOR_BADGES_DISPLAY, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
/** A comma-separated list of models that should *not* use hardware AEC for calling. */
|
/** A comma-separated list of models that should *not* use hardware AEC for calling. */
|
||||||
public static @NonNull String hardwareAecBlocklistModels() {
|
public static @NonNull String hardwareAecBlocklistModels() {
|
||||||
return getString(HARDWARE_AEC_BLOCKLIST_MODELS, "");
|
return getString(HARDWARE_AEC_BLOCKLIST_MODELS, "");
|
||||||
|
|
|
@ -51,16 +51,6 @@ public final class LocaleFeatureFlags {
|
||||||
return isEnabled(FeatureFlags.STORIES_LOCALE, FeatureFlags.storiesLocale());
|
return isEnabled(FeatureFlags.STORIES_LOCALE, FeatureFlags.storiesLocale());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Whether or not you should suggest SMS during onboarding.
|
|
||||||
*/
|
|
||||||
public static boolean shouldSuggestSms() {
|
|
||||||
Set<String> blacklist = new HashSet<>(Arrays.asList(FeatureFlags.suggestSmsBlacklist().split(",")));
|
|
||||||
String countryCode = String.valueOf(PhoneNumberFormatter.getLocalCountryCode());
|
|
||||||
|
|
||||||
return !blacklist.contains(countryCode);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static boolean shouldShowReleaseNote(@NonNull String releaseNoteUuid, @NonNull String countries) {
|
public static boolean shouldShowReleaseNote(@NonNull String releaseNoteUuid, @NonNull String countries) {
|
||||||
return isEnabled(releaseNoteUuid, countries);
|
return isEnabled(releaseNoteUuid, countries);
|
||||||
}
|
}
|
||||||
|
|
Ładowanie…
Reference in New Issue