From 7c4c14618945b513c5686e6536baef18b30f0938 Mon Sep 17 00:00:00 2001 From: Nicholas Date: Thu, 27 Oct 2022 13:30:54 -0400 Subject: [PATCH] Add edit button for media preview. --- .../mediapreview/MediaPreviewV2Fragment.kt | 16 ++++++++++++++++ .../mediasend/v2/MediaSelectionActivity.kt | 11 +++++++++++ .../res/drawable/ic_editmedia_outline_24.xml | 2 +- app/src/main/res/menu/media_preview.xml | 4 ++++ app/src/main/res/values/strings.xml | 1 + 5 files changed, 33 insertions(+), 1 deletion(-) 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 1584e46a5..324f1c197 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 7e60cbb39..84742cf58 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 e97bba547..bff7e34a5 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 b44746460..e2e05c381 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