diff --git a/app/src/main/java/com/keylesspalace/tusky/components/compose/dialog/CaptionDialog.kt b/app/src/main/java/com/keylesspalace/tusky/components/compose/dialog/CaptionDialog.kt index aeeae3a12..e2eec73dd 100644 --- a/app/src/main/java/com/keylesspalace/tusky/components/compose/dialog/CaptionDialog.kt +++ b/app/src/main/java/com/keylesspalace/tusky/components/compose/dialog/CaptionDialog.kt @@ -25,6 +25,7 @@ import android.text.InputFilter import android.view.View import android.view.WindowManager import android.widget.LinearLayout +import androidx.appcompat.app.AlertDialog import androidx.core.os.bundleOf import androidx.fragment.app.DialogFragment import com.bumptech.glide.Glide @@ -139,6 +140,19 @@ class CaptionDialog : DialogFragment() { ) window?.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE) } + (dialog as AlertDialog?)?.getButton(AlertDialog.BUTTON_NEGATIVE)?.setOnClickListener { + if (arguments?.getString(EXISTING_DESCRIPTION_ARG).orEmpty() != binding.imageDescriptionText.text.toString()) { + MaterialAlertDialogBuilder(requireContext()) + .setMessage(R.string.confirm_dismiss_caption) + .setPositiveButton(R.string.yes) { _, _ -> + dialog?.dismiss() + } + .setNegativeButton(R.string.no, null) + .show() + } else { + dialog?.dismiss() + } + } } override fun onSaveInstanceState(outState: Bundle) { diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 0e76353ea..23a55d1c2 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -912,4 +912,8 @@ Private mention Mention Private reply + + Yes + No + Discard caption changes?