Skip to content

Commit 6626e0a

Browse files
committed
improvement(deck-description): use material theme
Adds rounded corners Issue 18528
1 parent 5817716 commit 6626e0a

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
@@ -51,18 +50,20 @@ import timber.log.Timber
5150
*
5251
* This is visible on [StudyOptionsFragment]
5352
*/
54-
class EditDeckDescriptionDialog : DialogFragment(R.layout.dialog_deck_description) {
53+
class EditDeckDescriptionDialog : DialogFragment() {
5554
private val deckId: DeckId
5655
get() = requireArguments().getLong(ARG_DECK_ID)
5756

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

6162
private val formatAsMarkdownInput: CheckBox
62-
get() = requireView().findViewById(R.id.format_as_markdown)
63+
get() = dialogView.findViewById(R.id.format_as_markdown)
6364

6465
private val topAppBar: MaterialToolbar
65-
get() = requireView().findViewById(R.id.topAppBar)
66+
get() = dialogView.findViewById(R.id.topAppBar)
6667

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

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

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

0 commit comments

Comments
 (0)