Skip to content

Commit 380296b

Browse files
committed
improvement(deck-description): use material theme
Adds rounded corners Issue 18528
1 parent 48bbcb8 commit 380296b

File tree

1 file changed

+18
-23
lines changed

1 file changed

+18
-23
lines changed

AnkiDroid/src/main/java/com/ichi2/anki/dialogs/EditDeckDescriptionDialog.kt

Lines changed: 18 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ import com.google.android.material.dialog.MaterialAlertDialogBuilder
3232
import com.google.android.material.textfield.TextInputEditText
3333
import com.ichi2.anki.CollectionManager.TR
3434
import com.ichi2.anki.CollectionManager.withCol
35-
import com.ichi2.anki.CrashReportService
3635
import com.ichi2.anki.R
3736
import com.ichi2.anki.StudyOptionsFragment
3837
import com.ichi2.anki.launchCatchingTask
@@ -50,18 +49,20 @@ import timber.log.Timber
5049
*
5150
* This is visible on [StudyOptionsFragment]
5251
*/
53-
class EditDeckDescriptionDialog : DialogFragment(R.layout.dialog_deck_description) {
52+
class EditDeckDescriptionDialog : DialogFragment() {
5453
private val deckId: DeckId
5554
get() = requireArguments().getLong(ARG_DECK_ID)
5655

56+
private lateinit var dialogView: View
57+
5758
private val deckDescriptionInput: TextInputEditText
58-
get() = requireView().findViewById(R.id.deck_description_input)
59+
get() = dialogView.findViewById(R.id.deck_description_input)
5960

6061
private val formatAsMarkdownInput: CheckBox
61-
get() = requireView().findViewById(R.id.format_as_markdown)
62+
get() = dialogView.findViewById(R.id.format_as_markdown)
6263

6364
private val topAppBar: MaterialToolbar
64-
get() = requireView().findViewById(R.id.topAppBar)
65+
get() = dialogView.findViewById(R.id.topAppBar)
6566

6667
private val saveMenuItem: MenuItem
6768
get() = topAppBar.menu.findItem(R.id.action_save)
@@ -94,26 +95,20 @@ class EditDeckDescriptionDialog : DialogFragment(R.layout.dialog_deck_descriptio
9495
}
9596
}
9697

97-
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog =
98-
super.onCreateDialog(savedInstanceState).also {
99-
it.setCanceledOnTouchOutside(false)
100-
it.setCancelable(false)
101-
try {
102-
(it as androidx.activity.ComponentDialog)
103-
.onBackPressedDispatcher
104-
.addCallback(this, onUnsavedChangesBackCallback)
105-
} catch (e: Exception) {
106-
Timber.w(e, "EditDeckDescription::backPressed")
107-
CrashReportService.sendExceptionReport(e, "EditDeckDescription", "backPressed", onlyIfSilent = true)
98+
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
99+
this.dialogView = layoutInflater.inflate(R.layout.dialog_deck_description, null)
100+
return MaterialAlertDialogBuilder(requireContext())
101+
.show {
102+
setView(dialogView)
103+
}.apply {
104+
setupDialogView(dialogView)
105+
setCanceledOnTouchOutside(false)
106+
setCancelable(false)
107+
onBackPressedDispatcher.addCallback(this, onUnsavedChangesBackCallback)
108108
}
109-
}
110-
111-
override fun onViewCreated(
112-
view: View,
113-
savedInstanceState: Bundle?,
114-
) {
115-
super.onViewCreated(view, savedInstanceState)
109+
}
116110

111+
fun setupDialogView(view: View) {
117112
// load initial state
118113
launchCatchingTask {
119114
val dialog = this@EditDeckDescriptionDialog

0 commit comments

Comments
 (0)