From f23e5bdb444335feb1296b9cbe880195405cfddb Mon Sep 17 00:00:00 2001 From: Clark Date: Wed, 14 Jun 2023 17:34:21 -0400 Subject: [PATCH] Prepare edit message for beta run. --- .../conversation/ConversationParentFragment.java | 5 +++++ .../org/thoughtcrime/securesms/keyvalue/UiHints.java | 9 +++++++++ .../org/thoughtcrime/securesms/util/Dialogs.java | 12 ++++++++++++ .../thoughtcrime/securesms/util/FeatureFlags.java | 4 ++-- app/src/main/res/values/strings.xml | 9 +++++++++ 5 files changed, 37 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationParentFragment.java b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationParentFragment.java index 0fc8b260a4..1f910764b1 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationParentFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationParentFragment.java @@ -4215,6 +4215,11 @@ public class ConversationParentFragment extends Fragment return; } + if (SignalStore.uiHints().hasNotSeenEditMessageBetaAlert()) { + Dialogs.showEditMessageBetaDialog(requireContext(), this::handleSendEditMessage); + return; + } + MessageRecord editMessage = inputPanel.getEditMessage(); if (editMessage == null) { Log.w(TAG, "No edit message found, forcing exit"); diff --git a/app/src/main/java/org/thoughtcrime/securesms/keyvalue/UiHints.java b/app/src/main/java/org/thoughtcrime/securesms/keyvalue/UiHints.java index 54da25865d..9e879fc576 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/keyvalue/UiHints.java +++ b/app/src/main/java/org/thoughtcrime/securesms/keyvalue/UiHints.java @@ -16,6 +16,7 @@ public class UiHints extends SignalStoreValues { private static final String HAS_SEEN_SCHEDULED_MESSAGES_INFO_ONCE = "uihints.has_seen_scheduled_messages_info_once"; private static final String HAS_SEEN_USERNAME_EDUCATION = "uihints.has_seen_username_education"; private static final String HAS_SEEN_TEXT_FORMATTING_ALERT = "uihints.text_formatting.has_seen_alert"; + private static final String HAS_NOT_SEEN_EDIT_MESSAGE_BETA_ALERT = "uihints.edit_message.has_not_seen_beta_alert"; UiHints(@NonNull KeyValueStore store) { super(store); @@ -100,4 +101,12 @@ public class UiHints extends SignalStoreValues { public void markHasSeenTextFormattingAlert() { putBoolean(HAS_SEEN_TEXT_FORMATTING_ALERT, false); } + + public boolean hasNotSeenEditMessageBetaAlert() { + return getBoolean(HAS_NOT_SEEN_EDIT_MESSAGE_BETA_ALERT, true); + } + + public void markHasSeenEditMessageBetaAlert() { + putBoolean(HAS_NOT_SEEN_EDIT_MESSAGE_BETA_ALERT, false); + } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/Dialogs.java b/app/src/main/java/org/thoughtcrime/securesms/util/Dialogs.java index 77ddd15c06..eefb874eb7 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/util/Dialogs.java +++ b/app/src/main/java/org/thoughtcrime/securesms/util/Dialogs.java @@ -56,6 +56,18 @@ public class Dialogs { .show(); } + public static void showEditMessageBetaDialog(@NonNull Context context, @NonNull Runnable onSendAnyway) { + new MaterialAlertDialogBuilder(context) + .setTitle(R.string.SendingEditMessageBetaOnlyDialog_title) + .setMessage(R.string.SendingEditMessageBetaOnlyDialog_body) + .setNegativeButton(R.string.SendingEditMessageBetaOnlyDialog_cancel, null) + .setPositiveButton(R.string.SendingEditMessageBetaOnlyDialog_send, (d, w) -> { + SignalStore.uiHints().markHasSeenEditMessageBetaAlert(); + onSendAnyway.run(); + }) + .show(); + } + public static void showUpgradeSignalDialog(@NonNull Context context) { new MaterialAlertDialogBuilder(context) .setTitle(R.string.UpdateSignalExpiredDialog__title) diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/FeatureFlags.java b/app/src/main/java/org/thoughtcrime/securesms/util/FeatureFlags.java index c8591164f2..bf2a44650d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/util/FeatureFlags.java +++ b/app/src/main/java/org/thoughtcrime/securesms/util/FeatureFlags.java @@ -105,8 +105,8 @@ public final class FeatureFlags { private static final String TEXT_FORMATTING = "android.textFormatting.2"; private static final String ANY_ADDRESS_PORTS_KILL_SWITCH = "android.calling.fieldTrial.anyAddressPortsKillSwitch"; private static final String AD_HOC_CALLING = "android.calling.ad.hoc.2"; - private static final String EDIT_MESSAGE_RECEIVE = "android.editMessage.receive"; - private static final String EDIT_MESSAGE_SEND = "android.editMessage.send"; + private static final String EDIT_MESSAGE_RECEIVE = "android.editMessage.receive.2"; + private static final String EDIT_MESSAGE_SEND = "android.editMessage.send.2"; private static final String MAX_ATTACHMENT_COUNT = "android.attachments.maxCount"; private static final String MAX_ATTACHMENT_SIZE_MB = "android.attachments.maxSize"; diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 3a618d64c8..d4a466d0a7 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -6116,6 +6116,15 @@ Edit history + + Signal beta only + + Editing messages is available to Signal beta users only. If you edit a message, it will only be visible to people who are on the latest version of Signal beta. + + Cancel + + Send +