Skip to content

Commit 37c9fa5

Browse files
committed
Refactor:Extract navigate Event method for media picker fragment
1 parent 9bbd91e commit 37c9fa5

1 file changed

Lines changed: 40 additions & 36 deletions

File tree

WordPress/src/main/java/org/wordpress/android/ui/mediapicker/MediaPickerFragment.kt

Lines changed: 40 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ import androidx.recyclerview.widget.GridLayoutManager.SpanSizeLookup
2828
import com.google.android.material.dialog.MaterialAlertDialogBuilder
2929
import com.google.android.material.snackbar.Snackbar
3030
import org.wordpress.android.R
31+
import org.wordpress.android.R.string
3132
import org.wordpress.android.WordPress
3233
import org.wordpress.android.databinding.MediaPickerFragmentBinding
3334
import org.wordpress.android.fluxc.model.SiteModel
@@ -261,42 +262,9 @@ class MediaPickerFragment : Fragment() {
261262
}
262263
})
263264

264-
viewModel.onNavigate.observeEvent(viewLifecycleOwner,
265-
{ navigationEvent ->
266-
when (navigationEvent) {
267-
is PreviewUrl -> {
268-
MediaPreviewActivity.showPreview(
269-
requireContext(),
270-
null,
271-
navigationEvent.url
272-
)
273-
AccessibilityUtils.setActionModeDoneButtonContentDescription(
274-
activity,
275-
getString(R.string.cancel)
276-
)
277-
}
278-
is PreviewMedia -> MediaPreviewActivity.showPreview(
279-
requireContext(),
280-
null,
281-
navigationEvent.media,
282-
null
283-
)
284-
is EditMedia -> {
285-
val inputData = WPMediaUtils.createListOfEditImageInputData(
286-
requireContext(),
287-
navigationEvent.uris.map { wrapper -> wrapper.uri }
288-
)
289-
ActivityLauncher.openImageEditor(activity, inputData)
290-
}
291-
is InsertMedia -> listener?.onItemsChosen(navigationEvent.identifiers)
292-
is IconClickEvent -> listener?.onIconClicked(navigationEvent.action)
293-
Exit -> {
294-
val activity = requireActivity()
295-
activity.setResult(Activity.RESULT_CANCELED)
296-
activity.finish()
297-
}
298-
}
299-
})
265+
viewModel.onNavigate.observeEvent(viewLifecycleOwner) { navigationEvent ->
266+
navigateEvent(navigationEvent)
267+
}
300268

301269
viewModel.onPermissionsRequested.observeEvent(viewLifecycleOwner, {
302270
when (it) {
@@ -314,6 +282,42 @@ class MediaPickerFragment : Fragment() {
314282
}
315283
}
316284

285+
private fun navigateEvent(navigationEvent: MediaNavigationEvent) {
286+
when (navigationEvent) {
287+
is PreviewUrl -> {
288+
MediaPreviewActivity.showPreview(
289+
requireContext(),
290+
null,
291+
navigationEvent.url
292+
)
293+
AccessibilityUtils.setActionModeDoneButtonContentDescription(
294+
activity,
295+
getString(string.cancel)
296+
)
297+
}
298+
is PreviewMedia -> MediaPreviewActivity.showPreview(
299+
requireContext(),
300+
null,
301+
navigationEvent.media,
302+
null
303+
)
304+
is EditMedia -> {
305+
val inputData = WPMediaUtils.createListOfEditImageInputData(
306+
requireContext(),
307+
navigationEvent.uris.map { wrapper -> wrapper.uri }
308+
)
309+
ActivityLauncher.openImageEditor(activity, inputData)
310+
}
311+
is InsertMedia -> listener?.onItemsChosen(navigationEvent.identifiers)
312+
is IconClickEvent -> listener?.onIconClicked(navigationEvent.action)
313+
Exit -> {
314+
val activity = requireActivity()
315+
activity.setResult(Activity.RESULT_CANCELED)
316+
activity.finish()
317+
}
318+
}
319+
}
320+
317321
private fun MediaPickerFragmentBinding.setUpRecyclerView(
318322
layoutManager: GridLayoutManager
319323
) {

0 commit comments

Comments
 (0)