From 375035905de7932b3a34e91fc537fd7561bed6c8 Mon Sep 17 00:00:00 2001 From: Dan Zivkovic Date: Mon, 9 Mar 2015 18:26:52 -0700 Subject: Kill+restart tasks before/after decoder init. Bug 19625976. Change-Id: I6d8b0d2b0a77ccda1bfc914501cf568b92862980 --- .../com/android/inputmethod/latin/utils/ExecutorUtils.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'java/src/com/android/inputmethod/latin/utils/ExecutorUtils.java') diff --git a/java/src/com/android/inputmethod/latin/utils/ExecutorUtils.java b/java/src/com/android/inputmethod/latin/utils/ExecutorUtils.java index b04a820aa..3a6c60b15 100644 --- a/java/src/com/android/inputmethod/latin/utils/ExecutorUtils.java +++ b/java/src/com/android/inputmethod/latin/utils/ExecutorUtils.java @@ -23,7 +23,6 @@ import com.android.inputmethod.annotations.UsedForTesting; import java.lang.Thread.UncaughtExceptionHandler; import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; -import java.util.concurrent.ScheduledFuture; import java.util.concurrent.ThreadFactory; import java.util.concurrent.TimeUnit; @@ -74,6 +73,16 @@ public class ExecutorUtils { return sExecutorService; } + public static void killTasks() { + getBackgroundExecutor().shutdownNow(); + try { + getBackgroundExecutor().awaitTermination(5, TimeUnit.SECONDS); + } catch (InterruptedException e) { + Log.wtf(TAG, "Failed to shut down background task."); + throw new IllegalStateException("Failed to shut down background task."); + } + } + public static Runnable chain(final Runnable... runnables) { return new RunnableChain(runnables); } -- cgit v1.2.3-83-g751a