@@ -235,10 +235,7 @@ class MediaPickerFragment : Fragment() {
235235 layoutManager.onRestoreInstanceState(it)
236236 }
237237 with (MediaPickerFragmentBinding .bind(view)) {
238- binding = this
239- recycler.layoutManager = layoutManager
240- recycler.setEmptyView(actionableEmptyView)
241- recycler.setHasFixedSize(true )
238+ setUpRecyclerView(layoutManager)
242239
243240 val swipeToRefreshHelper = WPSwipeToRefreshHelper .buildSwipeToRefreshHelper(pullToRefresh) {
244241 viewModel.onPullToRefresh()
@@ -264,42 +261,9 @@ class MediaPickerFragment : Fragment() {
264261 }
265262 })
266263
267- viewModel.onNavigate.observeEvent(viewLifecycleOwner,
268- { navigationEvent ->
269- when (navigationEvent) {
270- is PreviewUrl -> {
271- MediaPreviewActivity .showPreview(
272- requireContext(),
273- null ,
274- navigationEvent.url
275- )
276- AccessibilityUtils .setActionModeDoneButtonContentDescription(
277- activity,
278- getString(R .string.cancel)
279- )
280- }
281- is PreviewMedia -> MediaPreviewActivity .showPreview(
282- requireContext(),
283- null ,
284- navigationEvent.media,
285- null
286- )
287- is EditMedia -> {
288- val inputData = WPMediaUtils .createListOfEditImageInputData(
289- requireContext(),
290- navigationEvent.uris.map { wrapper -> wrapper.uri }
291- )
292- ActivityLauncher .openImageEditor(activity, inputData)
293- }
294- is InsertMedia -> listener?.onItemsChosen(navigationEvent.identifiers)
295- is IconClickEvent -> listener?.onIconClicked(navigationEvent.action)
296- Exit -> {
297- val activity = requireActivity()
298- activity.setResult(Activity .RESULT_CANCELED )
299- activity.finish()
300- }
301- }
302- })
264+ viewModel.onNavigate.observeEvent(viewLifecycleOwner) { navigationEvent ->
265+ navigateEvent(navigationEvent)
266+ }
303267
304268 viewModel.onPermissionsRequested.observeEvent(viewLifecycleOwner, {
305269 when (it) {
@@ -317,6 +281,51 @@ class MediaPickerFragment : Fragment() {
317281 }
318282 }
319283
284+ private fun navigateEvent (navigationEvent : MediaNavigationEvent ) {
285+ when (navigationEvent) {
286+ is PreviewUrl -> {
287+ MediaPreviewActivity .showPreview(
288+ requireContext(),
289+ null ,
290+ navigationEvent.url
291+ )
292+ AccessibilityUtils .setActionModeDoneButtonContentDescription(
293+ activity,
294+ getString(R .string.cancel)
295+ )
296+ }
297+ is PreviewMedia -> MediaPreviewActivity .showPreview(
298+ requireContext(),
299+ null ,
300+ navigationEvent.media,
301+ null
302+ )
303+ is EditMedia -> {
304+ val inputData = WPMediaUtils .createListOfEditImageInputData(
305+ requireContext(),
306+ navigationEvent.uris.map { wrapper -> wrapper.uri }
307+ )
308+ ActivityLauncher .openImageEditor(activity, inputData)
309+ }
310+ is InsertMedia -> listener?.onItemsChosen(navigationEvent.identifiers)
311+ is IconClickEvent -> listener?.onIconClicked(navigationEvent.action)
312+ Exit -> {
313+ val activity = requireActivity()
314+ activity.setResult(Activity .RESULT_CANCELED )
315+ activity.finish()
316+ }
317+ }
318+ }
319+
320+ private fun MediaPickerFragmentBinding.setUpRecyclerView (
321+ layoutManager : GridLayoutManager
322+ ) {
323+ binding = this
324+ recycler.layoutManager = layoutManager
325+ recycler.setEmptyView(actionableEmptyView)
326+ recycler.setHasFixedSize(true )
327+ }
328+
320329 override fun onDestroyView () {
321330 super .onDestroyView()
322331 binding = null
0 commit comments