From 485b466bd2259155fd5e3a094d46300bea10102a Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Fri, 7 Jun 2024 11:02:04 -0400 Subject: [PATCH] Crash on RuntimeExceptions thrown during all Jobs. --- .../org/thoughtcrime/securesms/jobmanager/JobRunner.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobmanager/JobRunner.java b/app/src/main/java/org/thoughtcrime/securesms/jobmanager/JobRunner.java index 4973874a35..45e866a874 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobmanager/JobRunner.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobmanager/JobRunner.java @@ -83,12 +83,15 @@ class JobRunner extends Thread { try { wakeLock = WakeLockUtil.acquire(application, PowerManager.PARTIAL_WAKE_LOCK, WAKE_LOCK_TIMEOUT, job.getId()); - result = job.run(); + result = job.run(); if (job.isCanceled()) { Log.w(TAG, JobLogger.format(job, String.valueOf(id), "Failing because the job was canceled.")); result = Job.Result.failure(); } + } catch (RuntimeException e) { + Log.w(TAG, JobLogger.format(job, String.valueOf(id), "Failing fatally due to an unexpected runtime exception."), e); + return Job.Result.fatalFailure(e); } catch (Exception e) { Log.w(TAG, JobLogger.format(job, String.valueOf(id), "Failing due to an unexpected exception."), e); return Job.Result.failure();