aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
authorKeisuke Kuroyanagi <ksk@google.com>2014-04-28 17:30:36 +0900
committerKeisuke Kuroyanagi <ksk@google.com>2014-04-28 17:30:36 +0900
commit570602a0886b35e95166c041ecc51e1d499413b8 (patch)
tree0c6480311d3e32ac8ace893c4652299d36d36bc7 /java
parent07c5b307d6f883c974d0fddaa88bee0fb0617543 (diff)
downloadlatinime-570602a0886b35e95166c041ecc51e1d499413b8.tar.gz
latinime-570602a0886b35e95166c041ecc51e1d499413b8.tar.xz
latinime-570602a0886b35e95166c041ecc51e1d499413b8.zip
Simplify asyncFlushBinaryDictionary.
We no longer write files when the dict has not been updated. Bug: 8187060 Change-Id: I8aa23a93d5deafb3a7f16f5466a5e0e84fbbf095
Diffstat (limited to 'java')
-rw-r--r--java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java10
-rw-r--r--java/src/com/android/inputmethod/latin/utils/PrioritizedSerialExecutor.java33
2 files changed, 2 insertions, 41 deletions
diff --git a/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java b/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java
index dcc4568da..3eafcb245 100644
--- a/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java
+++ b/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java
@@ -40,7 +40,6 @@ import java.util.Map;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.concurrent.atomic.AtomicReference;
/**
* Abstract base class for an expandable dictionary that can be created and updated dynamically
@@ -101,9 +100,6 @@ abstract public class ExpandableBinaryDictionary extends Dictionary {
/* A extension for a binary dictionary file. */
protected static final String DICT_FILE_EXTENSION = ".dict";
- private final AtomicReference<Runnable> mUnfinishedFlushingTask =
- new AtomicReference<Runnable>();
-
/**
* Abstract method for loading initial contents of a given dictionary.
*/
@@ -561,14 +557,12 @@ abstract public class ExpandableBinaryDictionary extends Dictionary {
* Flush binary dictionary to dictionary file.
*/
public void asyncFlushBinaryDictionary() {
- final Runnable newTask = new Runnable() {
+ ExecutorUtils.getExecutor(mDictName).execute(new Runnable() {
@Override
public void run() {
flushDictionaryLocked();
}
- };
- final Runnable oldTask = mUnfinishedFlushingTask.getAndSet(newTask);
- ExecutorUtils.getExecutor(mDictName).replaceAndExecute(oldTask, newTask);
+ });
}
// TODO: Implement BinaryDictionary.isInDictionary().
diff --git a/java/src/com/android/inputmethod/latin/utils/PrioritizedSerialExecutor.java b/java/src/com/android/inputmethod/latin/utils/PrioritizedSerialExecutor.java
index b10d08af3..a23b3ac79 100644
--- a/java/src/com/android/inputmethod/latin/utils/PrioritizedSerialExecutor.java
+++ b/java/src/com/android/inputmethod/latin/utils/PrioritizedSerialExecutor.java
@@ -47,16 +47,6 @@ public class PrioritizedSerialExecutor {
}
/**
- * Clears all queued tasks.
- */
- public void clearAllTasks() {
- synchronized(mLock) {
- mTasks.clear();
- mPrioritizedTasks.clear();
- }
- }
-
- /**
* Enqueues the given task into the task queue.
* @param r the enqueued task
*/
@@ -120,33 +110,10 @@ public class PrioritizedSerialExecutor {
}
}
- public void remove(final Runnable r) {
- synchronized(mLock) {
- mTasks.remove(r);
- mPrioritizedTasks.remove(r);
- }
- }
-
- public void replaceAndExecute(final Runnable oldTask, final Runnable newTask) {
- synchronized(mLock) {
- if (oldTask != null) remove(oldTask);
- execute(newTask);
- }
- }
-
public void shutdown() {
synchronized(mLock) {
mIsShutdown = true;
mThreadPoolExecutor.shutdown();
}
}
-
- public boolean isTerminated() {
- synchronized(mLock) {
- if (!mIsShutdown) {
- return false;
- }
- return mPrioritizedTasks.isEmpty() && mTasks.isEmpty() && mActive == null;
- }
- }
}