From 961d45836ff638c945bcb675a1d398194614e290 Mon Sep 17 00:00:00 2001 From: Ashish Yadav <48384865+criticalAY@users.noreply.github.com> Date: Thu, 20 Feb 2025 04:51:23 +0530 Subject: [PATCH] refactor: remove unused code - refactor: replace media check result dialog with fragment - refactor: remove unused parameter in Media.kt --- .../main/java/com/ichi2/anki/DeckPicker.kt | 70 +--- .../com/ichi2/anki/dialogs/DialogHandler.kt | 2 - .../ichi2/anki/dialogs/MediaCheckDialog.kt | 330 ------------------ .../ichi2/anki/servicelayer/MediaService.kt | 28 -- .../src/main/java/com/ichi2/libanki/Media.kt | 3 +- .../res/layout/media_check_dialog_body.xml | 47 --- AnkiDroid/src/main/res/values/03-dialogs.xml | 3 - .../anki/dialogs/AsyncDialogFragmentsTest.kt | 9 - 8 files changed, 16 insertions(+), 476 deletions(-) delete mode 100644 AnkiDroid/src/main/java/com/ichi2/anki/dialogs/MediaCheckDialog.kt delete mode 100644 AnkiDroid/src/main/java/com/ichi2/anki/servicelayer/MediaService.kt delete mode 100644 AnkiDroid/src/main/res/layout/media_check_dialog_body.xml diff --git a/AnkiDroid/src/main/java/com/ichi2/anki/DeckPicker.kt b/AnkiDroid/src/main/java/com/ichi2/anki/DeckPicker.kt index 0520ea2c1312..b35732e9f668 100644 --- a/AnkiDroid/src/main/java/com/ichi2/anki/DeckPicker.kt +++ b/AnkiDroid/src/main/java/com/ichi2/anki/DeckPicker.kt @@ -130,8 +130,6 @@ import com.ichi2.anki.dialogs.EmptyCardsDialogFragment import com.ichi2.anki.dialogs.ImportDialog.ImportDialogListener import com.ichi2.anki.dialogs.ImportFileSelectionFragment.ApkgImportResultLauncherProvider import com.ichi2.anki.dialogs.ImportFileSelectionFragment.CsvImportResultLauncherProvider -import com.ichi2.anki.dialogs.MediaCheckDialog -import com.ichi2.anki.dialogs.MediaCheckDialog.MediaCheckDialogListener import com.ichi2.anki.dialogs.SyncErrorDialog import com.ichi2.anki.dialogs.SyncErrorDialog.Companion.newInstance import com.ichi2.anki.dialogs.SyncErrorDialog.SyncErrorDialogListener @@ -143,6 +141,7 @@ import com.ichi2.anki.export.ExportDialogsFactory import com.ichi2.anki.export.ExportDialogsFactoryProvider import com.ichi2.anki.introduction.CollectionPermissionScreenLauncher import com.ichi2.anki.introduction.hasCollectionStoragePermissions +import com.ichi2.anki.mediacheck.MediaCheckFragment import com.ichi2.anki.noteeditor.NoteEditorLauncher import com.ichi2.anki.notetype.ManageNotetypes import com.ichi2.anki.pages.AnkiPackageImporterFragment @@ -153,7 +152,6 @@ import com.ichi2.anki.preferences.PreferencesActivity import com.ichi2.anki.preferences.sharedPrefs import com.ichi2.anki.receiver.SdCardReceiver import com.ichi2.anki.servicelayer.ScopedStorageService -import com.ichi2.anki.servicelayer.checkMedia import com.ichi2.anki.settings.Prefs import com.ichi2.anki.snackbar.BaseSnackbarBuilderProvider import com.ichi2.anki.snackbar.SnackbarBuilder @@ -165,13 +163,11 @@ import com.ichi2.anki.worker.SyncMediaWorker import com.ichi2.anki.worker.SyncWorker import com.ichi2.anki.worker.UniqueWorkNames import com.ichi2.annotations.NeedsTest -import com.ichi2.async.deleteMedia import com.ichi2.compat.CompatHelper.Companion.getSerializableCompat import com.ichi2.compat.CompatHelper.Companion.sdkVersion import com.ichi2.libanki.ChangeManager import com.ichi2.libanki.DeckId import com.ichi2.libanki.Decks -import com.ichi2.libanki.MediaCheckResult import com.ichi2.libanki.exception.ConfirmModSchemaException import com.ichi2.libanki.sched.DeckNode import com.ichi2.libanki.utils.TimeManager @@ -244,7 +240,6 @@ open class DeckPicker : StudyOptionsListener, SyncErrorDialogListener, ImportDialogListener, - MediaCheckDialogListener, OnRequestPermissionsResultCallback, ChangeManager.Subscriber, SyncCompletionListener, @@ -1181,7 +1176,7 @@ open class DeckPicker : } R.id.action_check_media -> { Timber.i("DeckPicker:: Check media button pressed") - showMediaCheckDialog(MediaCheckDialog.Type.DIALOG_CONFIRM_MEDIA_CHECK) + showMediaCheckDialog() return true } R.id.action_empty_cards -> { @@ -1226,6 +1221,17 @@ open class DeckPicker : } } + private fun showMediaCheckDialog() { + AlertDialog.Builder(this).show { + title(text = getString(R.string.check_media_title)) + message(text = getString(R.string.check_media_warning)) + positiveButton(R.string.dialog_ok) { + startActivity(MediaCheckFragment.getIntent(this@DeckPicker)) + } + negativeButton(R.string.dialog_cancel) + } + } + fun showCreateFilteredDeckDialog() { val createFilteredDeckDialog = CreateDeckDialog(this@DeckPicker, R.string.new_deck, CreateDeckDialog.DeckDialogType.FILTERED_DECK, null) @@ -1495,7 +1501,7 @@ open class DeckPicker : } KeyEvent.KEYCODE_M -> { Timber.i("Check media from keypress") - showMediaCheckDialog(MediaCheckDialog.Type.DIALOG_CONFIRM_MEDIA_CHECK) + showMediaCheckDialog() return true } KeyEvent.KEYCODE_E -> { @@ -1812,17 +1818,6 @@ open class DeckPicker : } } - override fun showMediaCheckDialog(dialogType: MediaCheckDialog.Type) { - showAsyncDialogFragment(MediaCheckDialog.newInstance(dialogType)) - } - - override fun showMediaCheckDialog( - dialogType: MediaCheckDialog.Type, - checkList: MediaCheckResult, - ) { - showAsyncDialogFragment(MediaCheckDialog.newInstance(dialogType, checkList)) - } - /** * Show a specific sync error dialog * @param dialogType id of dialog to show @@ -1895,43 +1890,8 @@ open class DeckPicker : handleDatabaseCheck() } - /** - * Schedules a background job to find missing, unused and invalid media files. - * Shows a progress dialog while operation is running. - * When check is finished a dialog box shows number of missing, unused and invalid media files. - * - * If has the storage permission, job is scheduled, otherwise storage permission is asked first. - */ override fun mediaCheck() { - launchCatchingTask { - val mediaCheckResult = checkMedia() - showMediaCheckDialog(MediaCheckDialog.Type.DIALOG_MEDIA_CHECK_RESULTS, mediaCheckResult) - } - } - - override fun deleteUnused(unused: List) { - launchCatchingTask { - // Number of deleted files - val noOfDeletedFiles = - withProgress(resources.getString(R.string.delete_media_message)) { - withCol { deleteMedia(this@withCol, unused) } - } - showSimpleMessageDialog( - title = resources.getString(R.string.delete_media_result_title), - message = resources.getQuantityString(R.plurals.delete_media_result_message, noOfDeletedFiles, noOfDeletedFiles), - ) - } - } - - override fun tagMissing(missingMediaNotes: List?) { - if (missingMediaNotes == null) return - - Timber.d("DeckPicker:: Adding missing media tag") - launchCatchingTask { - withCol { - tags.bulkAdd(missingMediaNotes, TR.mediaCheckMissingMediaTag()) - } - } + showMediaCheckDialog() } open fun handleDbError() { diff --git a/AnkiDroid/src/main/java/com/ichi2/anki/dialogs/DialogHandler.kt b/AnkiDroid/src/main/java/com/ichi2/anki/dialogs/DialogHandler.kt index b13937628939..f3bae6a939fb 100644 --- a/AnkiDroid/src/main/java/com/ichi2/anki/dialogs/DialogHandler.kt +++ b/AnkiDroid/src/main/java/com/ichi2/anki/dialogs/DialogHandler.kt @@ -119,7 +119,6 @@ abstract class DialogHandlerMessage protected constructor( WhichDialogHandler.MSG_SHOW_COLLECTION_IMPORT_REPLACE_DIALOG -> ImportUtils.CollectionImportReplace.fromMessage(message) WhichDialogHandler.MSG_SHOW_COLLECTION_IMPORT_ADD_DIALOG -> ImportUtils.CollectionImportAdd.fromMessage(message) WhichDialogHandler.MSG_SHOW_SYNC_ERROR_DIALOG -> SyncErrorDialog.SyncErrorDialogMessageHandler.fromMessage(message) - WhichDialogHandler.MSG_SHOW_MEDIA_CHECK_COMPLETE_DIALOG -> MediaCheckDialog.MediaCheckCompleteDialog.fromMessage(message) WhichDialogHandler.MSG_SHOW_DATABASE_ERROR_DIALOG -> DatabaseErrorDialog.ShowDatabaseErrorDialog.fromMessage(message) WhichDialogHandler.MSG_SHOW_ONE_WAY_SYNC_DIALOG -> OneWaySyncDialog.fromMessage(message) WhichDialogHandler.MSG_DO_SYNC -> IntentHandler.Companion.DoSync() @@ -136,7 +135,6 @@ abstract class DialogHandlerMessage protected constructor( MSG_SHOW_COLLECTION_IMPORT_REPLACE_DIALOG(1), MSG_SHOW_COLLECTION_IMPORT_ADD_DIALOG(2), MSG_SHOW_SYNC_ERROR_DIALOG(3), - MSG_SHOW_MEDIA_CHECK_COMPLETE_DIALOG(5), MSG_SHOW_DATABASE_ERROR_DIALOG(6), MSG_SHOW_ONE_WAY_SYNC_DIALOG(7), MSG_DO_SYNC(8), diff --git a/AnkiDroid/src/main/java/com/ichi2/anki/dialogs/MediaCheckDialog.kt b/AnkiDroid/src/main/java/com/ichi2/anki/dialogs/MediaCheckDialog.kt deleted file mode 100644 index b3635a1b33e4..000000000000 --- a/AnkiDroid/src/main/java/com/ichi2/anki/dialogs/MediaCheckDialog.kt +++ /dev/null @@ -1,330 +0,0 @@ -//noinspection MissingCopyrightHeader #8659 - -package com.ichi2.anki.dialogs - -import android.app.Dialog -import android.os.Bundle -import android.os.Message -import android.text.method.ScrollingMovementMethod -import android.view.LayoutInflater -import android.view.View -import android.widget.LinearLayout -import android.widget.TextView -import androidx.annotation.CheckResult -import androidx.appcompat.app.AlertDialog -import androidx.core.os.bundleOf -import com.ichi2.anki.AnkiActivity -import com.ichi2.anki.CollectionManager.TR -import com.ichi2.anki.DeckPicker -import com.ichi2.anki.R -import com.ichi2.anki.dialogs.MediaCheckDialog.Type.DIALOG_CONFIRM_MEDIA_CHECK -import com.ichi2.anki.dialogs.MediaCheckDialog.Type.DIALOG_MEDIA_CHECK_RESULTS -import com.ichi2.anki.showError -import com.ichi2.anki.ui.internationalization.toSentenceCase -import com.ichi2.anki.utils.ext.dismissAllDialogFragments -import com.ichi2.compat.CompatHelper.Companion.getSerializableCompat -import com.ichi2.libanki.MediaCheckResult - -class MediaCheckDialog : AsyncDialogFragment() { - interface MediaCheckDialogListener { - fun showMediaCheckDialog(dialogType: Type) - - fun showMediaCheckDialog( - dialogType: Type, - checkList: MediaCheckResult, - ) - - fun mediaCheck() - - fun deleteUnused(unused: List) - - fun tagMissing(missingMediaNotes: List?) - } - - private val dialogType: Type - get() = Type.fromCode(requireArguments().getInt(MEDIA_CHECK_DIALOG_TYPE_KEY)) - - private val noHave: List? - get() = requireArguments().getStringArrayList(NO_HAVE) - - private val unused: List? - get() = requireArguments().getStringArrayList(UNUSED) - - private val invalid: List? - get() = requireArguments().getStringArrayList(INVALID) - - private val missingMediaNotes: List? - get() = requireArguments().getSerializableCompat>(MISSING_MEDIA_NOTES) - - override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { - super.onCreate(savedInstanceState) - val dialog = - AlertDialog - .Builder(requireContext()) - .setTitle(notificationTitle) - return when (dialogType) { - DIALOG_CONFIRM_MEDIA_CHECK -> { - dialog - .setMessage(notificationMessage) - .setPositiveButton(R.string.dialog_ok) { _, _ -> - (activity as MediaCheckDialogListener?)?.mediaCheck() - activity?.dismissAllDialogFragments() - }.setNegativeButton(R.string.dialog_cancel) { _, _ -> - activity?.dismissAllDialogFragments() - }.create() - } - DIALOG_MEDIA_CHECK_RESULTS -> { - val noHave = noHave!! - val unused = unused!! - val invalid = invalid!! - // Generate report - val report = generateReport(unused, noHave, invalid) - - val dialogBody = setupDialogBody(layoutInflater, report, noHave, unused) - - dialog - .setView(dialogBody) - .setCancelable(false) - .apply { - if (unused.isEmpty() && noHave.isEmpty()) { - setNegativeButton(R.string.dialog_ok) { _, _ -> activity?.dismissAllDialogFragments() } - return@apply - } - - setPositiveButton( - TR.mediaCheckDeleteUnused().toSentenceCase(requireContext(), R.string.check_media_delete_unused), - ) { _, _ -> - (activity as MediaCheckDialogListener?)?.deleteUnused(unused) - activity?.dismissAllDialogFragments() - } - setNeutralButton(R.string.dialog_cancel) { _, _ -> activity?.dismissAllDialogFragments() } - - if (noHave.isNotEmpty()) { - setNegativeButton(TR.mediaCheckAddTag().toSentenceCase(requireContext(), R.string.tag_missing)) { _, _ -> - (activity as MediaCheckDialogListener?)?.tagMissing(missingMediaNotes) - activity?.dismissAllDialogFragments() - } - } - }.create() - } - } - } - - private fun generateReport( - unused: List, - noHave: List, - invalid: List, - ): String { - val report = StringBuilder() - if (invalid.isNotEmpty()) { - report.append(String.format(res().getString(R.string.check_media_invalid), invalid.size)) - } - - if (noHave.isNotEmpty()) { - if (report.isNotEmpty()) { - report.append("\n") - } - report.append(TR.mediaCheckMissingCount(noHave.size)) - } - - if (unused.isNotEmpty()) { - if (report.isNotEmpty()) { - report.append("\n") - } - report.append(TR.mediaCheckUnusedCount(unused.size)) - } - if (report.isEmpty()) { - report.append(res().getString(R.string.check_media_no_unused_missing)) - } - return report.toString() - } - - private fun setupDialogBody( - inflater: LayoutInflater, - report: String, - noHave: List, - unused: List, - ): LinearLayout { - val dialogBody = inflater.inflate(R.layout.media_check_dialog_body, null) as LinearLayout - val reportTextView = dialogBody.findViewById(R.id.reportTextView) - val fileListTextView = dialogBody.findViewById(R.id.fileListTextView) - - reportTextView.text = createReportString(report) - - if (unused.isNotEmpty() || noHave.isNotEmpty()) { - fileListTextView.text = formatMissingAndUnusedFiles(noHave, unused) - fileListTextView.isScrollbarFadingEnabled = unused.size + noHave.size <= fileListTextView.maxLines - fileListTextView.movementMethod = ScrollingMovementMethod.getInstance() - fileListTextView.setTextIsSelectable(true) - } else { - fileListTextView.visibility = View.GONE - } - - return dialogBody - } - - private fun createReportString(report: String): String = - """ - |$report - """.trimMargin().trimIndent() - - private fun formatMissingAndUnusedFiles( - noHave: List, - unused: List, - ): String { - val noHaveFormatted = noHave.joinToString("\n") { missingMedia -> TR.mediaCheckMissingFile(missingMedia) } - val unusedFormatted = unused.joinToString("\n") { unusedMedia -> TR.mediaCheckUnusedFile(unusedMedia) } - - return buildString { - if (noHaveFormatted.isNotEmpty()) { - append(TR.mediaCheckMissingHeader()) - append("\n") - append(noHaveFormatted) - append("\n\n") - } - if (unusedFormatted.isNotEmpty()) { - append(TR.mediaCheckUnusedHeader()) - append("\n") - append(unusedFormatted) - } - } - } - - override val notificationMessage: String - get() = - when (dialogType) { - DIALOG_CONFIRM_MEDIA_CHECK -> res().getString(R.string.check_media_warning) - DIALOG_MEDIA_CHECK_RESULTS -> res().getString(R.string.check_media_acknowledge) - } - - override val notificationTitle: String - get() = - when (dialogType) { - DIALOG_CONFIRM_MEDIA_CHECK -> res().getString(R.string.check_media_title) - DIALOG_MEDIA_CHECK_RESULTS -> TR.mediaCheckCheckMediaAction() - } - - override val dialogHandlerMessage: MediaCheckCompleteDialog - get() { - return MediaCheckCompleteDialog(dialogType, noHave, unused, invalid, missingMediaNotes) - } - - enum class Type( - val code: Int, - ) { - DIALOG_CONFIRM_MEDIA_CHECK(0), - DIALOG_MEDIA_CHECK_RESULTS(1), - ; - - companion object { - fun fromCode(code: Int) = Type.entries.first { code == it.code } - } - } - - companion object { - /** - * Key for an ordinal in the Type.entries. - */ - const val MEDIA_CHECK_DIALOG_TYPE_KEY = "dialogType" - - /** - * Key for an array of strings of name of missing media - */ - const val NO_HAVE = "noHave" - - /** - * Key for an array of strings of name of unused media - */ - const val UNUSED = "unused" - - /** - * Key for an array of strings of name of invalid media - */ - const val INVALID = "invalid" - - /** - * Key for a list of notes with missing media - */ - const val MISSING_MEDIA_NOTES = "missingMediaNotes" - - @CheckResult - fun newInstance(dialogType: Type) = - MediaCheckDialog().apply { arguments = bundleOf(MEDIA_CHECK_DIALOG_TYPE_KEY to dialogType.code) } - - // TODO Instead of putting string arrays into the bundle, - // make MediaCheckResult parcelable with @Parcelize and put it instead - fun newInstance( - dialogType: Type, - checkList: MediaCheckResult, - ) = MediaCheckDialog().apply { - arguments = - bundleOf( - NO_HAVE to ArrayList(checkList.missingFileNames), - UNUSED to ArrayList(checkList.unusedFileNames), - INVALID to ArrayList(checkList.invalidFileNames), - MEDIA_CHECK_DIALOG_TYPE_KEY to dialogType.code, - MISSING_MEDIA_NOTES to ArrayList(checkList.missingMediaNotes).toList(), - ) - } - } - - class MediaCheckCompleteDialog( - private val dialogType: Type, - private val noHave: List?, - private val unused: List?, - private val invalid: List?, - private val missingMediaNotes: List?, - ) : DialogHandlerMessage(WhichDialogHandler.MSG_SHOW_MEDIA_CHECK_COMPLETE_DIALOG, "MediaCheckCompleteDialog") { - override fun handleAsyncMessage(activity: AnkiActivity) { - // Media check results - when (dialogType) { - DIALOG_MEDIA_CHECK_RESULTS -> { - // we may be called via any AnkiActivity but media check is a DeckPicker thing - if (activity !is DeckPicker) { - showError( - activity, - activity.getString(R.string.something_wrong), - ClassCastException(activity.javaClass.simpleName + " is not " + DeckPicker.javaClass.simpleName), - true, - ) - return - } - val checkList = - MediaCheckResult( - noHave ?: arrayListOf(), - unused ?: arrayListOf(), - invalid ?: arrayListOf(), - missingMediaNotes ?: arrayListOf(), - ) - activity.showMediaCheckDialog(dialogType, checkList) - } - DIALOG_CONFIRM_MEDIA_CHECK -> { } - } - } - - override fun toMessage(): Message = - Message.obtain().apply { - what = this@MediaCheckCompleteDialog.what - data = - bundleOf( - NO_HAVE to noHave, - UNUSED to unused, - INVALID to invalid, - MEDIA_CHECK_DIALOG_TYPE_KEY to dialogType, - MISSING_MEDIA_NOTES to missingMediaNotes, - ) - } - - companion object { - fun fromMessage(message: Message): MediaCheckCompleteDialog { - val dialogType = Type.fromCode(message.data.getInt(MEDIA_CHECK_DIALOG_TYPE_KEY)) - val noHave = message.data.getStringArrayList(NO_HAVE) - val unused = message.data.getStringArrayList(UNUSED) - val invalid = message.data.getStringArrayList(INVALID) - val missingMediaNotes = message.data.getLongArray(MISSING_MEDIA_NOTES)?.toList() - - return MediaCheckCompleteDialog(dialogType, noHave, unused, invalid, missingMediaNotes) - } - } - } -} diff --git a/AnkiDroid/src/main/java/com/ichi2/anki/servicelayer/MediaService.kt b/AnkiDroid/src/main/java/com/ichi2/anki/servicelayer/MediaService.kt deleted file mode 100644 index d3c01529b7c0..000000000000 --- a/AnkiDroid/src/main/java/com/ichi2/anki/servicelayer/MediaService.kt +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright (c) 2023 David Allison - * - * This program is free software; you can redistribute it and/or modify it under - * the terms of the GNU General Public License as published by the Free Software - * Foundation; either version 3 of the License, or (at your option) any later - * version. - * - * This program is distributed in the hope that it will be useful, but WITHOUT ANY - * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A - * PARTICULAR PURPOSE. See the GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . - */ - -package com.ichi2.anki.servicelayer - -import com.ichi2.anki.AnkiActivity -import com.ichi2.anki.CollectionManager -import com.ichi2.anki.R -import com.ichi2.anki.withProgress -import com.ichi2.libanki.MediaCheckResult - -suspend fun AnkiActivity.checkMedia(): MediaCheckResult = - withProgress(R.string.check_media_message) { - CollectionManager.withCol { media.check() } - } diff --git a/AnkiDroid/src/main/java/com/ichi2/libanki/Media.kt b/AnkiDroid/src/main/java/com/ichi2/libanki/Media.kt index 9be36d02e000..f97944024b54 100644 --- a/AnkiDroid/src/main/java/com/ichi2/libanki/Media.kt +++ b/AnkiDroid/src/main/java/com/ichi2/libanki/Media.kt @@ -100,7 +100,7 @@ open class Media( // FIXME: this also provides trash count, but UI can not handle it yet fun check(): MediaCheckResult { val out = col.backend.checkMedia() - return MediaCheckResult(out.missingList, out.unusedList, listOf(), out.missingMediaNotesList) + return MediaCheckResult(out.missingList, out.unusedList, out.missingMediaNotesList) } /** @@ -143,6 +143,5 @@ fun getCollectionMediaPath(collectionPath: String): String = collectionPath.repl data class MediaCheckResult( val missingFileNames: List, val unusedFileNames: List, - val invalidFileNames: List, val missingMediaNotes: List, ) diff --git a/AnkiDroid/src/main/res/layout/media_check_dialog_body.xml b/AnkiDroid/src/main/res/layout/media_check_dialog_body.xml deleted file mode 100644 index e27a35455b1e..000000000000 --- a/AnkiDroid/src/main/res/layout/media_check_dialog_body.xml +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/AnkiDroid/src/main/res/values/03-dialogs.xml b/AnkiDroid/src/main/res/values/03-dialogs.xml index 335599366d07..fc899cc46487 100644 --- a/AnkiDroid/src/main/res/values/03-dialogs.xml +++ b/AnkiDroid/src/main/res/values/03-dialogs.xml @@ -91,9 +91,6 @@ Check media? This may take a long time with large media collections Checking media… - Media checked - Files with invalid encoding: %d - No unused or missing files found Delete unused Adding tags… Tags added diff --git a/AnkiDroid/src/test/java/com/ichi2/anki/dialogs/AsyncDialogFragmentsTest.kt b/AnkiDroid/src/test/java/com/ichi2/anki/dialogs/AsyncDialogFragmentsTest.kt index baccbdd7a3e0..77a41329ca1e 100644 --- a/AnkiDroid/src/test/java/com/ichi2/anki/dialogs/AsyncDialogFragmentsTest.kt +++ b/AnkiDroid/src/test/java/com/ichi2/anki/dialogs/AsyncDialogFragmentsTest.kt @@ -50,15 +50,6 @@ class AsyncDialogFragmentsTest { assertDoesNotThrow("title required a context") { instance.notificationTitle } } - @Test - fun `MediaCheckDialog does not require context`() { - for (dialogType in MediaCheckDialog.Type.entries) { - val instance = MediaCheckDialog.newInstance(dialogType) - assertDoesNotThrow("$dialogType message required a context") { instance.notificationMessage } - assertDoesNotThrow("$dialogType title required a context") { instance.notificationTitle } - } - } - @Test fun `ImportDialog does not require context`() { for (dialogType in ImportDialog.Type.entries) {