From 4de88072976dd678db74405a01ab4615f14a0ef1 Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Fri, 28 Jan 2022 13:24:44 -0400 Subject: [PATCH] Add onBackPressed callback for ConversationParentFragment. --- .../conversation/ConversationParentFragment.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 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 2acd2508c..dfdefa938 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationParentFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationParentFragment.java @@ -66,6 +66,7 @@ import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; +import androidx.activity.OnBackPressedCallback; import androidx.annotation.IdRes; import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -538,6 +539,13 @@ public class ConversationParentFragment extends Fragment }); initializeInsightObserver(); initializeActionBar(); + + requireActivity().getOnBackPressedDispatcher().addCallback(getViewLifecycleOwner(), new OnBackPressedCallback(true) { + @Override + public void handleOnBackPressed() { + onBackPressed(); + } + }); } // TODO [alex] LargeScreenSupport -- This needs to be fed a stream of intents @@ -1102,13 +1110,12 @@ public class ConversationParentFragment extends Fragment case R.id.menu_expiring_messages_off: case R.id.menu_expiring_messages: handleSelectMessageExpiration(); return true; case R.id.menu_create_bubble: handleCreateBubble(); return true; - case android.R.id.home: requireActivity().onBackPressed(); return true; + case android.R.id.home: requireActivity().finish(); return true; } return false; } - // TODO [alex] LargeScreenSupport -- Add to a back handler public void onBackPressed() { Log.d(TAG, "onBackPressed()"); if (reactionDelegate.isShowing()) { @@ -1116,7 +1123,7 @@ public class ConversationParentFragment extends Fragment } else if (container.isInputOpen()) { container.hideCurrentInput(composeText); } else { - requireActivity().onBackPressed(); + requireActivity().finish(); } }