diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/MediaSelectionNavigator.kt b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/MediaSelectionNavigator.kt index 6a1d665e1..f0ad76c31 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/MediaSelectionNavigator.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/MediaSelectionNavigator.kt @@ -1,10 +1,9 @@ package org.thoughtcrime.securesms.mediasend.v2 import android.Manifest -import android.view.View import android.widget.Toast import androidx.fragment.app.Fragment -import androidx.navigation.Navigation +import androidx.navigation.NavController import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.permissions.Permissions import org.thoughtcrime.securesms.util.navigation.safeNavigate @@ -13,20 +12,20 @@ class MediaSelectionNavigator( private val toCamera: Int = -1, private val toGallery: Int = -1 ) { - fun goToReview(view: View) { - Navigation.findNavController(view).popBackStack(R.id.mediaReviewFragment, false) + fun goToReview(navController: NavController) { + navController.popBackStack(R.id.mediaReviewFragment, false) } - fun goToCamera(view: View) { + fun goToCamera(navController: NavController) { if (toCamera == -1) return - Navigation.findNavController(view).safeNavigate(toCamera) + navController.safeNavigate(toCamera) } - fun goToGallery(view: View) { + fun goToGallery(navController: NavController) { if (toGallery == -1) return - Navigation.findNavController(view).safeNavigate(toGallery) + navController.safeNavigate(toGallery) } companion object { diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/capture/MediaCaptureFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/capture/MediaCaptureFragment.kt index d48c18e0c..0fe60e8ee 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/capture/MediaCaptureFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/capture/MediaCaptureFragment.kt @@ -8,6 +8,7 @@ import androidx.activity.OnBackPressedCallback import androidx.fragment.app.Fragment import androidx.fragment.app.viewModels import androidx.lifecycle.LiveData +import androidx.navigation.fragment.findNavController import app.cash.exhaustive.Exhaustive import org.signal.core.util.logging.Log import org.thoughtcrime.securesms.R @@ -59,15 +60,13 @@ class MediaCaptureFragment : Fragment(R.layout.fragment_container), CameraFragme Toast.makeText(requireContext(), R.string.MediaSendActivity_camera_unavailable, Toast.LENGTH_SHORT).show() } is MediaCaptureEvent.MediaCaptureRendered -> { - captureChildFragment.fadeOutControls { - if (isFirst()) { - sharedViewModel.addCameraFirstCapture(event.media) - } else { - sharedViewModel.addMedia(event.media) - } - - navigator.goToReview(view) + if (isFirst()) { + sharedViewModel.addCameraFirstCapture(event.media) + } else { + sharedViewModel.addMedia(event.media) } + + navigator.goToReview(findNavController()) } } } @@ -122,9 +121,10 @@ class MediaCaptureFragment : Fragment(R.layout.fragment_container), CameraFragme } override fun onGalleryClicked() { + val controller = findNavController() requestPermissionsForGallery { captureChildFragment.fadeOutControls { - navigator.goToGallery(requireView()) + navigator.goToGallery(controller) } } } @@ -139,8 +139,9 @@ class MediaCaptureFragment : Fragment(R.layout.fragment_container), CameraFragme } override fun onCameraCountButtonClicked() { + val controller = findNavController() captureChildFragment.fadeOutControls { - navigator.goToReview(requireView()) + navigator.goToReview(controller) } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/gallery/MediaSelectionGalleryFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/gallery/MediaSelectionGalleryFragment.kt index 8184bb915..0fa68fa31 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/gallery/MediaSelectionGalleryFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/gallery/MediaSelectionGalleryFragment.kt @@ -6,6 +6,7 @@ import android.widget.Toast import androidx.activity.OnBackPressedCallback import androidx.fragment.app.Fragment import androidx.fragment.app.viewModels +import androidx.navigation.fragment.findNavController import androidx.recyclerview.widget.ItemTouchHelper import app.cash.exhaustive.Exhaustive import org.thoughtcrime.securesms.R @@ -100,17 +101,18 @@ class MediaSelectionGalleryFragment : Fragment(R.layout.fragment_container), Med override fun onSelectedMediaClicked(media: Media) { sharedViewModel.setFocusedMedia(media) - navigator.goToReview(requireView()) + navigator.goToReview(findNavController()) } override fun onNavigateToCamera() { + val controller = findNavController() requestPermissionsForCamera { - navigator.goToCamera(requireView()) + navigator.goToCamera(controller) } } override fun onSubmit() { - navigator.goToReview(requireView()) + navigator.goToReview(findNavController()) } override fun onToolbarNavigationClicked() { diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/review/MediaReviewFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/review/MediaReviewFragment.kt index 873537ee9..f844947ef 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/review/MediaReviewFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/review/MediaReviewFragment.kt @@ -16,6 +16,7 @@ import androidx.core.graphics.drawable.DrawableCompat import androidx.fragment.app.Fragment import androidx.fragment.app.setFragmentResultListener import androidx.fragment.app.viewModels +import androidx.navigation.fragment.findNavController import androidx.recyclerview.widget.ItemTouchHelper import androidx.recyclerview.widget.RecyclerView import androidx.viewpager2.widget.ViewPager2 @@ -241,8 +242,9 @@ class MediaReviewFragment : Fragment(R.layout.v2_media_review_fragment) { } private fun launchGallery() { + val controller = findNavController() requestPermissionsForGallery { - navigator.goToGallery(requireView()) + navigator.goToGallery(controller) } }