diff options
author | 2015-03-09 18:26:52 -0700 | |
---|---|---|
committer | 2015-03-09 18:54:48 -0700 | |
commit | 375035905de7932b3a34e91fc537fd7561bed6c8 (patch) | |
tree | 4da1d60df860f679502b952eac0d062d2ed378a0 /java/src | |
parent | bd1bc4067ff87ce1a21d12a48b1695fe58c8dd4d (diff) | |
download | latinime-375035905de7932b3a34e91fc537fd7561bed6c8.tar.gz latinime-375035905de7932b3a34e91fc537fd7561bed6c8.tar.xz latinime-375035905de7932b3a34e91fc537fd7561bed6c8.zip |
Kill+restart tasks before/after decoder init.
Bug 19625976.
Change-Id: I6d8b0d2b0a77ccda1bfc914501cf568b92862980
Diffstat (limited to 'java/src')
-rw-r--r-- | java/src/com/android/inputmethod/latin/utils/ExecutorUtils.java | 11 |
1 files changed, 10 insertions, 1 deletions
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); } |