diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediapreview/MediaPreviewV2Fragment.kt b/app/src/main/java/org/thoughtcrime/securesms/mediapreview/MediaPreviewV2Fragment.kt index 1584e46a59..324f1c197a 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediapreview/MediaPreviewV2Fragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mediapreview/MediaPreviewV2Fragment.kt @@ -36,6 +36,7 @@ import org.thoughtcrime.securesms.conversation.mutiselect.forward.MultiselectFor import org.thoughtcrime.securesms.database.MediaDatabase import org.thoughtcrime.securesms.databinding.FragmentMediaPreviewV2Binding import org.thoughtcrime.securesms.mediasend.Media +import org.thoughtcrime.securesms.mediasend.v2.MediaSelectionActivity import org.thoughtcrime.securesms.mms.GlideApp import org.thoughtcrime.securesms.mms.PartAuthority import org.thoughtcrime.securesms.permissions.Permissions @@ -202,6 +203,7 @@ class MediaPreviewV2Fragment : Fragment(R.layout.fragment_media_preview_v2), Med binding.toolbar.setOnMenuItemClickListener { when (it.itemId) { + R.id.edit -> editMediaItem(currentItem) R.id.save -> saveToDisk(currentItem) R.id.delete -> deleteMedia(currentItem) android.R.id.home -> requireActivity().finish() @@ -410,6 +412,20 @@ class MediaPreviewV2Fragment : Fragment(R.layout.fragment_media_preview_v2), Med .show() } + private fun editMediaItem(currentItem: MediaDatabase.MediaRecord) { + val media = currentItem.toMedia() + if (media == null) { + val rootView = view + if (rootView != null) { + Snackbar.make(rootView, R.string.MediaPreviewFragment_edit_media_error, Snackbar.LENGTH_INDEFINITE).show() + } else { + Toast.makeText(requireContext(), R.string.MediaPreviewFragment_edit_media_error, Toast.LENGTH_LONG).show() + } + return + } + startActivity(MediaSelectionActivity.editor(context = requireContext(), media = listOf(media))) + } + override fun onPause() { super.onPause() getMediaPreviewFragmentFromChildFragmentManager(binding.mediaPager.currentItem)?.pause() diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/MediaSelectionActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/MediaSelectionActivity.kt index 7e60cbb398..84742cf587 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/MediaSelectionActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/v2/MediaSelectionActivity.kt @@ -415,6 +415,17 @@ class MediaSelectionActivity : ) } + @JvmStatic + fun editor( + context: Context, + media: List, + ): Intent { + return buildIntent( + context = context, + media = media + ) + } + @JvmStatic fun share( context: Context, diff --git a/app/src/main/res/drawable/ic_editmedia_outline_24.xml b/app/src/main/res/drawable/ic_editmedia_outline_24.xml index e97bba5478..bff7e34a58 100644 --- a/app/src/main/res/drawable/ic_editmedia_outline_24.xml +++ b/app/src/main/res/drawable/ic_editmedia_outline_24.xml @@ -5,5 +5,5 @@ android:viewportHeight="24"> + android:fillColor="@color/signal_colorOnSurface"/> diff --git a/app/src/main/res/menu/media_preview.xml b/app/src/main/res/menu/media_preview.xml index b447464600..e2e05c3810 100644 --- a/app/src/main/res/menu/media_preview.xml +++ b/app/src/main/res/menu/media_preview.xml @@ -1,6 +1,10 @@ + Media no longer available. Can\'t find an app able to share this media. Close + Media Error %1$d new messages in %2$d conversations