From 95e8c06815d78f12f9daa11d6ad1d500936e6dec Mon Sep 17 00:00:00 2001
From: Vitalii <vitalii.nikitchyn@savoirfairelinux.com>
Date: Wed, 19 Jun 2024 13:18:56 -0400
Subject: [PATCH] HomeActivity settings backPress bugfix

GitLab: #1629
Change-Id: Ia753b8da5d50685b689fc63693be68b64cec158a
---
 .../main/java/cx/ring/client/HomeActivity.kt  | 20 +++++++++++--------
 1 file changed, 12 insertions(+), 8 deletions(-)

diff --git a/jami-android/app/src/main/java/cx/ring/client/HomeActivity.kt b/jami-android/app/src/main/java/cx/ring/client/HomeActivity.kt
index 8d1a67734..ccad569e0 100644
--- a/jami-android/app/src/main/java/cx/ring/client/HomeActivity.kt
+++ b/jami-android/app/src/main/java/cx/ring/client/HomeActivity.kt
@@ -108,16 +108,20 @@ class HomeActivity : AppCompatActivity(), ContactPickerFragment.OnContactedPicke
     private val conversationBackPressedCallback: OnBackPressedCallback =
         object : OnBackPressedCallback(false) {
             override fun handleOnBackPressed() {
-                removeFragment(fConversation)
-                fConversation = null
+                if (supportFragmentManager.backStackEntryCount == 0) {
+                    removeFragment(fConversation)
+                    fConversation = null
 
-                // Hiding the conversation
-                if (mBinding?.panel?.isSlideable == true) { // No space to keep the pane open
-                    mBinding?.panel?.closePane()
-                } else showWelcomeFragment()
+                    // Hiding the conversation
+                    if (mBinding?.panel?.isSlideable == true) { // No space to keep the pane open
+                        mBinding?.panel?.closePane()
+                    } else showWelcomeFragment()
 
-                // Next back press doesn't have to be handled by this callback.
-                isEnabled = false
+                    // Next back press doesn't have to be handled by this callback.
+                    isEnabled = false
+                } else {
+                    supportFragmentManager.popBackStack()
+                }
             }
         }
 
-- 
GitLab