From 87c366223a9f84d68c3758214e47dcd9f8271b3c Mon Sep 17 00:00:00 2001 From: clark-signal <122066530+clark-signal@users.noreply.github.com> Date: Mon, 9 Jan 2023 14:10:10 -0500 Subject: [PATCH] Load drafts from DB when opening conversation from notifications. --- .../securesms/conversation/ConversationIntents.java | 5 +++++ .../securesms/conversation/ConversationParentFragment.java | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationIntents.java b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationIntents.java index a36f2a543..2964c9836 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationIntents.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationIntents.java @@ -25,6 +25,7 @@ import java.util.Objects; public class ConversationIntents { private static final String BUBBLE_AUTHORITY = "bubble"; + private static final String NOTIFICATION_CUSTOM_SCHEME = "custom"; private static final String EXTRA_RECIPIENT = "recipient_id"; private static final String EXTRA_THREAD_ID = "thread_id"; private static final String EXTRA_TEXT = "draft_text"; @@ -89,6 +90,10 @@ public class ConversationIntents { return uri != null && Objects.equals(uri.getAuthority(), BUBBLE_AUTHORITY); } + static boolean isNotificationIntentUri(@Nullable Uri uri) { + return uri != null && Objects.equals(uri.getScheme(), NOTIFICATION_CUSTOM_SCHEME); + } + final static class Args { private final RecipientId recipientId; private final long threadId; 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 c89d06dd0..bb535eb01 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationParentFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationParentFragment.java @@ -1684,7 +1684,7 @@ public class ConversationParentFragment extends Fragment return setMedia(draftMedia, draftMediaType); } - if (draftText == null && (draftMedia == null || ConversationIntents.isBubbleIntentUri(draftMedia)) && draftMediaType == null) { + if (draftText == null && (draftMedia == null || ConversationIntents.isBubbleIntentUri(draftMedia) || ConversationIntents.isNotificationIntentUri(draftMedia)) && draftMediaType == null) { Log.d(TAG, "Initializing draft from database"); return initializeDraftFromDatabase(); } else {