From 222d073a3b0ea037d190998d01e7fbc913fa2011 Mon Sep 17 00:00:00 2001 From: Ashish Yadav <48384865+criticalAY@users.noreply.github.com> Date: Wed, 6 May 2026 00:35:33 +0530 Subject: [PATCH] refactor: extract 'ManuallyReportedException' to :common The class is a pure RuntimeException subclass with no Android dependencies, so it lives in :common rather than :common:android. Removes one more dependency on :AnkiDroid for feature module extraction. --- AnkiDroid/src/main/java/com/ichi2/anki/AcraCrashReporter.kt | 2 +- AnkiDroid/src/main/java/com/ichi2/anki/DayRolloverHandler.kt | 2 +- AnkiDroid/src/main/java/com/ichi2/anki/snackbar/Snackbars.kt | 2 +- .../ichi2/anki/workarounds/AppLoadedFromBackupWorkaround.kt | 2 +- AnkiDroid/src/main/java/com/ichi2/utils/ImportUtils.kt | 2 +- AnkiDroid/src/main/java/com/ichi2/widget/DayRolloverAlarm.kt | 2 +- .../ichi2/anki/common}/exception/ManuallyReportedException.kt | 4 +--- 7 files changed, 7 insertions(+), 9 deletions(-) rename {AnkiDroid/src/main/java/com/ichi2/anki => common/src/main/java/com/ichi2/anki/common}/exception/ManuallyReportedException.kt (92%) diff --git a/AnkiDroid/src/main/java/com/ichi2/anki/AcraCrashReporter.kt b/AnkiDroid/src/main/java/com/ichi2/anki/AcraCrashReporter.kt index d8aa1f045fb4..936b09abebd7 100644 --- a/AnkiDroid/src/main/java/com/ichi2/anki/AcraCrashReporter.kt +++ b/AnkiDroid/src/main/java/com/ichi2/anki/AcraCrashReporter.kt @@ -32,8 +32,8 @@ import com.ichi2.anki.common.crashreporting.CrashReporter.Companion.FEEDBACK_REP import com.ichi2.anki.common.crashreporting.CrashReporter.Companion.FEEDBACK_REPORT_ASK import com.ichi2.anki.common.crashreporting.CrashReporter.Companion.FEEDBACK_REPORT_KEY import com.ichi2.anki.common.crashreporting.CrashReporter.Companion.FEEDBACK_REPORT_NEVER +import com.ichi2.anki.common.exception.ManuallyReportedException import com.ichi2.anki.common.time.TimeManager -import com.ichi2.anki.exception.ManuallyReportedException import com.ichi2.anki.exception.UserSubmittedException import com.ichi2.anki.preferences.sharedPrefs import com.ichi2.anki.servicelayer.ThrowableFilterService diff --git a/AnkiDroid/src/main/java/com/ichi2/anki/DayRolloverHandler.kt b/AnkiDroid/src/main/java/com/ichi2/anki/DayRolloverHandler.kt index 602f3cfa9fdf..518f4f972a8e 100644 --- a/AnkiDroid/src/main/java/com/ichi2/anki/DayRolloverHandler.kt +++ b/AnkiDroid/src/main/java/com/ichi2/anki/DayRolloverHandler.kt @@ -37,7 +37,7 @@ import com.ichi2.anki.CollectionManager.withOpenColOrNull import com.ichi2.anki.android.AnkiBroadcastReceiver import com.ichi2.anki.common.coroutines.applicationScope import com.ichi2.anki.common.crashreporting.CrashReportService -import com.ichi2.anki.exception.ManuallyReportedException +import com.ichi2.anki.common.exception.ManuallyReportedException import com.ichi2.anki.libanki.EpochSeconds import com.ichi2.anki.libanki.sched.Scheduler import com.ichi2.anki.observability.ChangeManager diff --git a/AnkiDroid/src/main/java/com/ichi2/anki/snackbar/Snackbars.kt b/AnkiDroid/src/main/java/com/ichi2/anki/snackbar/Snackbars.kt index 06fba5c68ecd..45b484987053 100644 --- a/AnkiDroid/src/main/java/com/ichi2/anki/snackbar/Snackbars.kt +++ b/AnkiDroid/src/main/java/com/ichi2/anki/snackbar/Snackbars.kt @@ -29,7 +29,7 @@ import com.google.android.material.snackbar.onAttachedToWindow2 import com.ichi2.anki.BuildConfig import com.ichi2.anki.R import com.ichi2.anki.common.crashreporting.CrashReportService -import com.ichi2.anki.exception.ManuallyReportedException +import com.ichi2.anki.common.exception.ManuallyReportedException import com.ichi2.anki.showThemedToast import timber.log.Timber diff --git a/AnkiDroid/src/main/java/com/ichi2/anki/workarounds/AppLoadedFromBackupWorkaround.kt b/AnkiDroid/src/main/java/com/ichi2/anki/workarounds/AppLoadedFromBackupWorkaround.kt index ce3c4577e927..0f139447bc9c 100644 --- a/AnkiDroid/src/main/java/com/ichi2/anki/workarounds/AppLoadedFromBackupWorkaround.kt +++ b/AnkiDroid/src/main/java/com/ichi2/anki/workarounds/AppLoadedFromBackupWorkaround.kt @@ -22,7 +22,7 @@ import android.os.Process import com.ichi2.anki.AnkiDroidApp import com.ichi2.anki.R import com.ichi2.anki.common.crashreporting.CrashReportService -import com.ichi2.anki.exception.ManuallyReportedException +import com.ichi2.anki.common.exception.ManuallyReportedException import com.ichi2.anki.showThemedToast import com.ichi2.themes.Themes import timber.log.Timber diff --git a/AnkiDroid/src/main/java/com/ichi2/utils/ImportUtils.kt b/AnkiDroid/src/main/java/com/ichi2/utils/ImportUtils.kt index 24f28218b3e2..811b6efd19e6 100644 --- a/AnkiDroid/src/main/java/com/ichi2/utils/ImportUtils.kt +++ b/AnkiDroid/src/main/java/com/ichi2/utils/ImportUtils.kt @@ -33,12 +33,12 @@ import com.ichi2.anki.R import com.ichi2.anki.common.annotations.NeedsTest import com.ichi2.anki.common.coroutines.applicationScope import com.ichi2.anki.common.crashreporting.CrashReportService +import com.ichi2.anki.common.exception.ManuallyReportedException import com.ichi2.anki.common.time.TimeManager import com.ichi2.anki.compat.CompatHelper import com.ichi2.anki.dialogs.DialogHandler import com.ichi2.anki.dialogs.DialogHandlerMessage import com.ichi2.anki.dialogs.ImportDialog -import com.ichi2.anki.exception.ManuallyReportedException import com.ichi2.anki.onSelectedCsvForImport import com.ichi2.anki.servicelayer.DebugInfoService import com.ichi2.anki.showImportDialog diff --git a/AnkiDroid/src/main/java/com/ichi2/widget/DayRolloverAlarm.kt b/AnkiDroid/src/main/java/com/ichi2/widget/DayRolloverAlarm.kt index e2a5970af3b6..429001dae5f3 100644 --- a/AnkiDroid/src/main/java/com/ichi2/widget/DayRolloverAlarm.kt +++ b/AnkiDroid/src/main/java/com/ichi2/widget/DayRolloverAlarm.kt @@ -30,8 +30,8 @@ import com.ichi2.anki.CollectionManager.withOpenColOrNull import com.ichi2.anki.android.AnkiBroadcastReceiver import com.ichi2.anki.common.coroutines.applicationScope import com.ichi2.anki.common.crashreporting.CrashReportService +import com.ichi2.anki.common.exception.ManuallyReportedException import com.ichi2.anki.common.time.TimeManager -import com.ichi2.anki.exception.ManuallyReportedException import com.ichi2.anki.launchCatching import com.ichi2.anki.libanki.EpochMilliseconds import com.ichi2.anki.libanki.sched.Scheduler diff --git a/AnkiDroid/src/main/java/com/ichi2/anki/exception/ManuallyReportedException.kt b/common/src/main/java/com/ichi2/anki/common/exception/ManuallyReportedException.kt similarity index 92% rename from AnkiDroid/src/main/java/com/ichi2/anki/exception/ManuallyReportedException.kt rename to common/src/main/java/com/ichi2/anki/common/exception/ManuallyReportedException.kt index 3b7ad4a133a6..240c6d5bba70 100644 --- a/AnkiDroid/src/main/java/com/ichi2/anki/exception/ManuallyReportedException.kt +++ b/common/src/main/java/com/ichi2/anki/common/exception/ManuallyReportedException.kt @@ -14,9 +14,7 @@ * this program. If not, see . */ -package com.ichi2.anki.exception - -import java.lang.RuntimeException +package com.ichi2.anki.common.exception /** An exception for manual reporting to ACRA */ class ManuallyReportedException(