Converted the WikipediaInstructionsDialogFragment to use viewbinding, along with a cleaner way to build bundle arguments for the fragment (#4684)

This commit is contained in:
Paul Hawke 2021-10-22 06:16:46 -05:00 committed by GitHub
parent 6da3c78d7d
commit 3e656b0c23
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -5,40 +5,32 @@ import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import android.view.WindowManager import android.view.WindowManager
import androidx.core.os.bundleOf
import androidx.fragment.app.DialogFragment import androidx.fragment.app.DialogFragment
import fr.free.nrw.commons.R import fr.free.nrw.commons.databinding.DialogAddToWikipediaInstructionsBinding
import kotlinx.android.synthetic.main.dialog_add_to_wikipedia_instructions.*
/** /**
* Dialog fragment for displaying instructions for editing wikipedia * Dialog fragment for displaying instructions for editing wikipedia
*/ */
class WikipediaInstructionsDialogFragment : DialogFragment() { class WikipediaInstructionsDialogFragment : DialogFragment() {
var contribution: Contribution? = null
var callback: Callback? = null var callback: Callback? = null
override fun onCreateView( override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?, inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle? savedInstanceState: Bundle?
): View? { ) = DialogAddToWikipediaInstructionsBinding.inflate(inflater, container, false).apply {
return inflater.inflate(R.layout.dialog_add_to_wikipedia_instructions, container) val contribution: Contribution? = arguments!!.getParcelable(ARG_CONTRIBUTION)
} tvWikicode.setText(contribution?.media?.wikiCode)
instructionsCancel.setOnClickListener { dismiss() }
instructionsConfirm.setOnClickListener {
callback?.onConfirmClicked(contribution, checkboxCopyWikicode.isChecked)
}
}.root
override fun onViewCreated( override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
view: View,
savedInstanceState: Bundle?
) {
super.onViewCreated(view, savedInstanceState) super.onViewCreated(view, savedInstanceState)
contribution = arguments!!.getParcelable(ARG_CONTRIBUTION)
tv_wikicode.setText(contribution?.media?.wikiCode)
instructions_cancel.setOnClickListener {
dismiss()
}
instructions_confirm.setOnClickListener {
callback?.onConfirmClicked(contribution, checkbox_copy_wikicode.isChecked)
}
dialog!!.window?.setSoftInputMode( dialog!!.window?.setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN
) )
@ -52,16 +44,11 @@ class WikipediaInstructionsDialogFragment : DialogFragment() {
} }
companion object { companion object {
const val ARG_CONTRIBUTION = "contribution"
val ARG_CONTRIBUTION = "contribution"
@JvmStatic @JvmStatic
fun newInstance(contribution: Contribution): WikipediaInstructionsDialogFragment { fun newInstance(contribution: Contribution) = WikipediaInstructionsDialogFragment().apply {
val frag = WikipediaInstructionsDialogFragment() arguments = bundleOf(ARG_CONTRIBUTION to contribution)
val args = Bundle()
args.putParcelable(ARG_CONTRIBUTION, contribution)
frag.arguments = args
return frag
} }
} }
} }