Use ViewCompat.setTransitionName in a safe way.

Fixes #13307
This commit is contained in:
Haris Dautovic
2023-12-06 18:02:30 +01:00
committed by Cody Henthorne
parent 818356dfed
commit 2a4ccf69b2

View File

@@ -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<View>(R.id.camera_fab)
val newConvoFab = requireView().findViewById<View>(R.id.fab)
val cameraFab = requireView().findViewById<View?>(R.id.camera_fab)
val newConvoFab = requireView().findViewById<View?>(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) {