Skip to content

Commit

Permalink
fix crash when rotating caption dialog
Browse files Browse the repository at this point in the history
  • Loading branch information
connyduck committed Nov 25, 2023
1 parent 1313371 commit 2937808
Showing 1 changed file with 9 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,6 @@ private const val MEDIA_DESCRIPTION_CHARACTER_LIMIT = 1500

class CaptionDialog : DialogFragment() {
private lateinit var listener: Listener
private lateinit var input: EditText

private val binding by viewBinding(DialogImageDescriptionBinding::bind)

Expand All @@ -56,33 +55,29 @@ class CaptionDialog : DialogFragment() {
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
savedInstanceState?.getString(DESCRIPTION_KEY)?.let {
input.setText(it)
}

return inflater.inflate(R.layout.dialog_image_description, container, false)
}
) = inflater.inflate(R.layout.dialog_image_description, container, false)

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
input = binding.imageDescriptionText
val imageView = binding.imageDescriptionView
imageView.maxZoom = 6f

input.hint = resources.getQuantityString(
binding.imageDescriptionText.hint = resources.getQuantityString(
R.plurals.hint_describe_for_visually_impaired,
MEDIA_DESCRIPTION_CHARACTER_LIMIT,
MEDIA_DESCRIPTION_CHARACTER_LIMIT
)
input.filters = arrayOf(InputFilter.LengthFilter(MEDIA_DESCRIPTION_CHARACTER_LIMIT))
input.setText(arguments?.getString(EXISTING_DESCRIPTION_ARG))
binding.imageDescriptionText.filters = arrayOf(InputFilter.LengthFilter(MEDIA_DESCRIPTION_CHARACTER_LIMIT))
binding.imageDescriptionText.setText(arguments?.getString(EXISTING_DESCRIPTION_ARG))
savedInstanceState?.getString(DESCRIPTION_KEY)?.let {
binding.imageDescriptionText.setText(it)
}

binding.cancelButton.setOnClickListener {
dismiss()
}
val localId = arguments?.getInt(LOCAL_ID_ARG) ?: error("Missing localId")
binding.okButton.setOnClickListener {
listener.onUpdateDescription(localId, input.text.toString())
listener.onUpdateDescription(localId, binding.imageDescriptionText.text.toString())
dismiss()
}

Expand Down Expand Up @@ -125,7 +120,7 @@ class CaptionDialog : DialogFragment() {
}

override fun onSaveInstanceState(outState: Bundle) {
outState.putString(DESCRIPTION_KEY, input.text.toString())
outState.putString(DESCRIPTION_KEY, binding.imageDescriptionText.text.toString())
super.onSaveInstanceState(outState)
}

Expand Down

0 comments on commit 2937808

Please sign in to comment.