Skip to content

Commit

Permalink
refactor: remove unused code
Browse files Browse the repository at this point in the history
- refactor: replace media check result dialog with fragment
- refactor: remove unused parameter in Media.kt
  • Loading branch information
criticalAY committed Feb 24, 2025
1 parent e14d616 commit 961d458
Show file tree
Hide file tree
Showing 8 changed files with 16 additions and 476 deletions.
70 changes: 15 additions & 55 deletions AnkiDroid/src/main/java/com/ichi2/anki/DeckPicker.kt
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand All @@ -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
Expand All @@ -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
Expand Down Expand Up @@ -244,7 +240,6 @@ open class DeckPicker :
StudyOptionsListener,
SyncErrorDialogListener,
ImportDialogListener,
MediaCheckDialogListener,
OnRequestPermissionsResultCallback,
ChangeManager.Subscriber,
SyncCompletionListener,
Expand Down Expand Up @@ -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 -> {
Expand Down Expand Up @@ -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)
Expand Down Expand Up @@ -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 -> {
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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<String>) {
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<Long>?) {
if (missingMediaNotes == null) return

Timber.d("DeckPicker:: Adding missing media tag")
launchCatchingTask {
withCol {
tags.bulkAdd(missingMediaNotes, TR.mediaCheckMissingMediaTag())
}
}
showMediaCheckDialog()
}

open fun handleDbError() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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()
Expand All @@ -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),
Expand Down
Loading

0 comments on commit 961d458

Please sign in to comment.