From 85aafd8a021c519fc1458e7940b4badddaa28472 Mon Sep 17 00:00:00 2001 From: Tom Hicks Date: Tue, 22 Sep 2026 21:48:01 -0700 Subject: [PATCH] RxJava gracefully handles intercepted InterruptedException instead of crashing --- .../java/com/majinnaibu/monstercards/MainActivity.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Android/app/src/main/java/com/majinnaibu/monstercards/MainActivity.java b/Android/app/src/main/java/com/majinnaibu/monstercards/MainActivity.java index 0c5c6e2..4988b4a 100644 --- a/Android/app/src/main/java/com/majinnaibu/monstercards/MainActivity.java +++ b/Android/app/src/main/java/com/majinnaibu/monstercards/MainActivity.java @@ -290,8 +290,13 @@ public class MainActivity extends AppCompatActivity { SnackbarHelper.showLong(rootView, getString(R.string.snackbar_import_source_complete, resultCount, source.projectName)); }, throwable -> { snackbar.dismiss(); - Logger.logError("Failed to import from source: " + source.projectName, throwable); - SnackbarHelper.showLong(rootView, getString(R.string.snackbar_import_source_failed, source.projectName)); + if (throwable instanceof InterruptedException) { + Logger.logError("Import task was cancelled: " + source.projectName, throwable); + // The user cancelled via UI, message handled in the snackbar action. + } else { + Logger.logError("Failed to import from source: " + source.projectName, throwable); + SnackbarHelper.showLong(rootView, getString(R.string.snackbar_import_source_failed, source.projectName)); + } }); }