From ba5e8f2c8707cdcec688106c7cfe9c9745fc3feb Mon Sep 17 00:00:00 2001 From: Evgenii Kozlov Date: Mon, 19 May 2025 18:10:03 +0200 Subject: [PATCH] DROID-3355 App | Tech | Observing current nav stack in main activity --- .../anytypeio/anytype/ui/main/MainActivity.kt | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/app/src/main/java/com/anytypeio/anytype/ui/main/MainActivity.kt b/app/src/main/java/com/anytypeio/anytype/ui/main/MainActivity.kt index 7d0640dda5..f10fce4173 100644 --- a/app/src/main/java/com/anytypeio/anytype/ui/main/MainActivity.kt +++ b/app/src/main/java/com/anytypeio/anytype/ui/main/MainActivity.kt @@ -11,7 +11,9 @@ import androidx.activity.enableEdgeToEdge import androidx.activity.viewModels import androidx.appcompat.app.AppCompatActivity import androidx.core.os.bundleOf +import androidx.fragment.app.Fragment import androidx.fragment.app.FragmentContainerView +import androidx.fragment.app.FragmentManager import androidx.lifecycle.Lifecycle import androidx.lifecycle.lifecycleScope import androidx.lifecycle.repeatOnLifecycle @@ -106,6 +108,9 @@ class MainActivity : AppCompatActivity(R.layout.activity_main), AppNavigation.Pr setupTheme() if (savedInstanceState != null) vm.onRestore() + +// setFragmentLifecycleCallbacks() + lifecycleScope.launch { repeatOnLifecycle(Lifecycle.State.STARTED) { launch { @@ -283,6 +288,22 @@ class MainActivity : AppCompatActivity(R.layout.activity_main), AppNavigation.Pr } } + private fun setFragmentLifecycleCallbacks() { + supportFragmentManager.registerFragmentLifecycleCallbacks( + object : FragmentManager.FragmentLifecycleCallbacks() { + override fun onFragmentResumed(fm: FragmentManager, fragment: Fragment) { + super.onFragmentResumed(fm, fragment) + Timber.d("onFragmentAdded: $fragment is ${fragment.tag}") + } + + override fun onFragmentPaused(fm: FragmentManager, fragment: Fragment) { + super.onFragmentPaused(fm, fragment) + Timber.d("onFragmentPaused: $fragment is ${fragment.tag}") + } + }, true + ) + } + private fun proceedWithOpenObjectNavigation(dest: OpenObjectNavigation) { when (dest) { is OpenObjectNavigation.OpenDataView -> {