From 2a4ccf69b265a4c498ddafca7567dd2b2e585a9d Mon Sep 17 00:00:00 2001 From: Haris Dautovic Date: Wed, 6 Dec 2023 18:02:30 +0100 Subject: [PATCH] Use ViewCompat.setTransitionName in a safe way. Fixes #13307 --- .../main/MainActivityListHostFragment.kt | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/main/MainActivityListHostFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/main/MainActivityListHostFragment.kt index d65bee1fac..820dd671be 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/main/MainActivityListHostFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/main/MainActivityListHostFragment.kt @@ -15,7 +15,6 @@ import androidx.fragment.app.Fragment import androidx.fragment.app.viewModels import androidx.navigation.NavController import androidx.navigation.NavDestination -import androidx.navigation.Navigator import androidx.navigation.findNavController import androidx.navigation.fragment.FragmentNavigatorExtras import androidx.recyclerview.widget.RecyclerView @@ -113,19 +112,20 @@ class MainActivityListHostFragment : Fragment(R.layout.main_activity_list_host_f if (state.tab == ConversationListTab.CHATS) { return } else { - val cameraFab = requireView().findViewById(R.id.camera_fab) - val newConvoFab = requireView().findViewById(R.id.fab) + val cameraFab = requireView().findViewById(R.id.camera_fab) + val newConvoFab = requireView().findViewById(R.id.fab) - ViewCompat.setTransitionName(cameraFab, "camera_fab") - ViewCompat.setTransitionName(newConvoFab, "new_convo_fab") + val extras = when { + cameraFab != null && newConvoFab != null -> { + ViewCompat.setTransitionName(cameraFab, "camera_fab") + ViewCompat.setTransitionName(newConvoFab, "new_convo_fab") - val extras: Navigator.Extras? = if (cameraFab == null || newConvoFab == null) { - null - } else { - FragmentNavigatorExtras( - cameraFab to "camera_fab", - newConvoFab to "new_convo_fab" - ) + FragmentNavigatorExtras( + cameraFab to "camera_fab", + newConvoFab to "new_convo_fab" + ) + } + else -> null } val destination = if (state.tab == ConversationListTab.STORIES) {