Browse Source

add additional dialog to prevent accidentally dismissing the caption dialog (#4999)

as discussed in https://github.com/tuskyapp/Tusky/pull/4942

Suggestions for a better text welcome.
pull/5004/head
Konrad Pozniak 1 year ago committed by GitHub
parent
commit
8667e1f4e1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 14
      app/src/main/java/com/keylesspalace/tusky/components/compose/dialog/CaptionDialog.kt
  2. 4
      app/src/main/res/values/strings.xml

14
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) {

4
app/src/main/res/values/strings.xml

@ -912,4 +912,8 @@
<string name="notification_info_private_mention">Private mention</string>
<string name="notification_info_mention">Mention</string>
<string name="notification_info_private_reply">Private reply</string>
<string name="yes">Yes</string>
<string name="no">No</string>
<string name="confirm_dismiss_caption">Discard caption changes?</string>
</resources>

Loading…
Cancel
Save