From b70cef7e282a48db32757b1b4a8c93825f7638ce Mon Sep 17 00:00:00 2001 From: srowen Date: Thu, 2 Jun 2011 18:01:56 +0000 Subject: [PATCH] Avoid a RejectedExecutionException and squash it anyhow git-svn-id: https://zxing.googlecode.com/svn/trunk@1809 59b500cc-1b3d-0410-9834-0bbf25fbcc57 --- .../zxing/client/android/InactivityTimer.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/android/src/com/google/zxing/client/android/InactivityTimer.java b/android/src/com/google/zxing/client/android/InactivityTimer.java index 94fb876d1..5eeec87aa 100644 --- a/android/src/com/google/zxing/client/android/InactivityTimer.java +++ b/android/src/com/google/zxing/client/android/InactivityTimer.java @@ -17,6 +17,7 @@ package com.google.zxing.client.android; import java.util.concurrent.Executors; +import java.util.concurrent.RejectedExecutionException; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.ScheduledFuture; import java.util.concurrent.ThreadFactory; @@ -48,9 +49,16 @@ final class InactivityTimer { void onActivity() { cancel(); - inactivityFuture = inactivityTimer.schedule(new FinishListener(activity), - INACTIVITY_DELAY_SECONDS, - TimeUnit.SECONDS); + if (!inactivityTimer.isShutdown()) { + try { + inactivityFuture = inactivityTimer.schedule(new FinishListener(activity), + INACTIVITY_DELAY_SECONDS, + TimeUnit.SECONDS); + } catch (RejectedExecutionException ree) { + // surprising, but could be normal if for some reason the implementation just doesn't + // think it can shcedule again. Since this time-out is non-essential, just forget it + } + } } public void onPause(){