Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 10 additions & 12 deletions AnkiDroid/src/main/java/com/ichi2/anki/dialogs/help/HelpDialog.kt
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,6 @@ package com.ichi2.anki.dialogs.help
import android.app.Dialog
import android.os.Bundle
import android.view.View
import android.widget.LinearLayout
import android.widget.TextView
import androidx.activity.addCallback
import androidx.annotation.VisibleForTesting
import androidx.appcompat.app.AlertDialog
Expand All @@ -34,6 +32,9 @@ import com.ichi2.anki.analytics.UsageAnalytics
import com.ichi2.anki.analytics.UsageAnalytics.Actions
import com.ichi2.anki.analytics.UsageAnalytics.Category
import com.ichi2.anki.ankiActivity
import com.ichi2.anki.databinding.DialogHelpBinding
import com.ichi2.anki.databinding.FragmentHelpPageBinding
import com.ichi2.anki.databinding.ItemHelpEntryBinding
import com.ichi2.anki.dialogs.help.HelpItem.Action.OpenUrl
import com.ichi2.anki.dialogs.help.HelpItem.Action.OpenUrlResource
import com.ichi2.anki.dialogs.help.HelpItem.Action.Rate
Expand All @@ -43,6 +44,7 @@ import com.ichi2.utils.createAndApply
import com.ichi2.utils.customView
import com.ichi2.utils.dp
import com.ichi2.utils.title
import dev.androidbroadcast.vbpd.viewBinding

/**
* [DialogFragment] responsible for showing the help/support menus.
Expand All @@ -52,7 +54,7 @@ class HelpDialog : DialogFragment() {
lateinit var actionsDispatcher: HelpItemActionsDispatcher

override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
val customView = requireActivity().layoutInflater.inflate(R.layout.dialog_help, null)
val binding = DialogHelpBinding.inflate(requireActivity().layoutInflater)
ankiActivity?.let { ankiActivity ->
actionsDispatcher = AnkiActivityHelpActionsDispatcher(ankiActivity)
}
Expand All @@ -63,7 +65,7 @@ class HelpDialog : DialogFragment() {
return AlertDialog
.Builder(requireContext())
.title(requireArguments().getInt(ARG_MENU_TITLE))
.customView(customView)
.customView(binding.root)
.createAndApply {
// the dialog captures the BACK call so we manually pop the inner FragmentManager
// if there's a second page
Expand Down Expand Up @@ -185,19 +187,15 @@ internal const val ARG_SELECTED_MENU_ITEM = " selected_menu_item"
* This fragment is responsible for showing a list of menu items in the application's [HelpDialog].
*/
class HelpPageFragment : Fragment(R.layout.fragment_help_page) {
private val binding by viewBinding(FragmentHelpPageBinding::bind)

override fun onViewCreated(
view: View,
savedInstanceState: Bundle?,
) {
super.onViewCreated(view, savedInstanceState)
val pageContentLayout = view.findViewById<LinearLayout>(R.id.page_content)
requireArgsHelpEntries().forEach { menuItem ->
val contentRow =
requireActivity().layoutInflater.inflate(
R.layout.item_help_entry,
pageContentLayout,
false,
) as TextView
val contentRow = ItemHelpEntryBinding.inflate(layoutInflater, binding.pageContent, false).root
contentRow.apply {
setText(menuItem.titleResId)
setCompoundDrawablesRelativeWithIntrinsicBoundsKt(start = menuItem.iconResId)
Expand All @@ -209,7 +207,7 @@ class HelpPageFragment : Fragment(R.layout.fragment_help_page) {
bundleOf(ARG_SELECTED_MENU_ITEM to menuItem),
)
}
pageContentLayout.addView(this)
binding.pageContent.addView(this)
}
}
}
Expand Down