aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--java-overridable/src/com/android/inputmethod/compat/AppWorkaroundsHelper.java (renamed from java/src/com/android/inputmethod/compat/AppWorkaroundsHelper.java)0
-rw-r--r--java-overridable/src/com/android/inputmethod/dictionarypack/DictionaryPackConstants.java (renamed from java/src/com/android/inputmethod/dictionarypack/DictionaryPackConstants.java)0
-rw-r--r--java-overridable/src/com/android/inputmethod/dictionarypack/MetadataUriGetter.java (renamed from java/src/com/android/inputmethod/dictionarypack/MetadataUriGetter.java)0
-rw-r--r--java-overridable/src/com/android/inputmethod/latin/SpecialKeyDetector.java (renamed from java/src/com/android/inputmethod/latin/SpecialKeyDetector.java)0
-rw-r--r--java-overridable/src/com/android/inputmethod/latin/about/AboutPreferences.java (renamed from java/src/com/android/inputmethod/latin/about/AboutPreferences.java)0
-rw-r--r--java-overridable/src/com/android/inputmethod/latin/define/DebugFlags.java (renamed from java/src/com/android/inputmethod/latin/define/DebugFlags.java)0
-rw-r--r--java-overridable/src/com/android/inputmethod/latin/define/JniLibName.java (renamed from java/src/com/android/inputmethod/latin/define/JniLibName.java)0
-rw-r--r--java-overridable/src/com/android/inputmethod/latin/define/ProductionFlags.java (renamed from java/src/com/android/inputmethod/latin/define/ProductionFlags.java)0
-rw-r--r--java-overridable/src/com/android/inputmethod/latin/personalization/ContextualDictionaryUpdater.java (renamed from java/src/com/android/inputmethod/latin/personalization/ContextualDictionaryUpdater.java)0
-rw-r--r--java-overridable/src/com/android/inputmethod/latin/personalization/PersonalizationDictionaryUpdater.java (renamed from java/src/com/android/inputmethod/latin/personalization/PersonalizationDictionaryUpdater.java)0
-rw-r--r--java-overridable/src/com/android/inputmethod/latin/settings/AdditionalFeaturesSettingUtils.java (renamed from java/src/com/android/inputmethod/latin/settings/AdditionalFeaturesSettingUtils.java)0
-rw-r--r--java-overridable/src/com/android/inputmethod/latin/utils/FeedbackUtils.java (renamed from java/src/com/android/inputmethod/latin/utils/FeedbackUtils.java)0
-rw-r--r--java-overridable/src/com/android/inputmethod/latin/utils/FileTransforms.java (renamed from java/src/com/android/inputmethod/latin/utils/FileTransforms.java)0
-rw-r--r--java-overridable/src/com/android/inputmethod/latin/utils/MetadataFileUriGetter.java (renamed from java/src/com/android/inputmethod/latin/utils/MetadataFileUriGetter.java)0
-rw-r--r--java-overridable/src/com/android/inputmethod/latin/utils/StatsUtils.java (renamed from java/src/com/android/inputmethod/latin/utils/StatsUtils.java)0
-rw-r--r--java/Android.mk2
-rw-r--r--java/src/com/android/inputmethod/compat/CompatUtils.java88
-rw-r--r--java/src/com/android/inputmethod/compat/CursorAnchorInfoCompatWrapper.java111
-rw-r--r--tests/src/com/android/inputmethod/latin/utils/SpacebarLanguageUtilsTests.java (renamed from tests/src/com/android/inputmethod/latin/utils/SpacebarLanguagetUtilsTests.java)2
-rw-r--r--tools/dicttool/Android.mk39
20 files changed, 180 insertions, 62 deletions
diff --git a/java/src/com/android/inputmethod/compat/AppWorkaroundsHelper.java b/java-overridable/src/com/android/inputmethod/compat/AppWorkaroundsHelper.java
index 21535e421..21535e421 100644
--- a/java/src/com/android/inputmethod/compat/AppWorkaroundsHelper.java
+++ b/java-overridable/src/com/android/inputmethod/compat/AppWorkaroundsHelper.java
diff --git a/java/src/com/android/inputmethod/dictionarypack/DictionaryPackConstants.java b/java-overridable/src/com/android/inputmethod/dictionarypack/DictionaryPackConstants.java
index df0e3f0e1..df0e3f0e1 100644
--- a/java/src/com/android/inputmethod/dictionarypack/DictionaryPackConstants.java
+++ b/java-overridable/src/com/android/inputmethod/dictionarypack/DictionaryPackConstants.java
diff --git a/java/src/com/android/inputmethod/dictionarypack/MetadataUriGetter.java b/java-overridable/src/com/android/inputmethod/dictionarypack/MetadataUriGetter.java
index ed817658e..ed817658e 100644
--- a/java/src/com/android/inputmethod/dictionarypack/MetadataUriGetter.java
+++ b/java-overridable/src/com/android/inputmethod/dictionarypack/MetadataUriGetter.java
diff --git a/java/src/com/android/inputmethod/latin/SpecialKeyDetector.java b/java-overridable/src/com/android/inputmethod/latin/SpecialKeyDetector.java
index 27b2f5012..27b2f5012 100644
--- a/java/src/com/android/inputmethod/latin/SpecialKeyDetector.java
+++ b/java-overridable/src/com/android/inputmethod/latin/SpecialKeyDetector.java
diff --git a/java/src/com/android/inputmethod/latin/about/AboutPreferences.java b/java-overridable/src/com/android/inputmethod/latin/about/AboutPreferences.java
index f60b189f1..f60b189f1 100644
--- a/java/src/com/android/inputmethod/latin/about/AboutPreferences.java
+++ b/java-overridable/src/com/android/inputmethod/latin/about/AboutPreferences.java
diff --git a/java/src/com/android/inputmethod/latin/define/DebugFlags.java b/java-overridable/src/com/android/inputmethod/latin/define/DebugFlags.java
index c509e8322..c509e8322 100644
--- a/java/src/com/android/inputmethod/latin/define/DebugFlags.java
+++ b/java-overridable/src/com/android/inputmethod/latin/define/DebugFlags.java
diff --git a/java/src/com/android/inputmethod/latin/define/JniLibName.java b/java-overridable/src/com/android/inputmethod/latin/define/JniLibName.java
index abfc36d39..abfc36d39 100644
--- a/java/src/com/android/inputmethod/latin/define/JniLibName.java
+++ b/java-overridable/src/com/android/inputmethod/latin/define/JniLibName.java
diff --git a/java/src/com/android/inputmethod/latin/define/ProductionFlags.java b/java-overridable/src/com/android/inputmethod/latin/define/ProductionFlags.java
index 461c226a1..461c226a1 100644
--- a/java/src/com/android/inputmethod/latin/define/ProductionFlags.java
+++ b/java-overridable/src/com/android/inputmethod/latin/define/ProductionFlags.java
diff --git a/java/src/com/android/inputmethod/latin/personalization/ContextualDictionaryUpdater.java b/java-overridable/src/com/android/inputmethod/latin/personalization/ContextualDictionaryUpdater.java
index 7dc120e06..7dc120e06 100644
--- a/java/src/com/android/inputmethod/latin/personalization/ContextualDictionaryUpdater.java
+++ b/java-overridable/src/com/android/inputmethod/latin/personalization/ContextualDictionaryUpdater.java
diff --git a/java/src/com/android/inputmethod/latin/personalization/PersonalizationDictionaryUpdater.java b/java-overridable/src/com/android/inputmethod/latin/personalization/PersonalizationDictionaryUpdater.java
index c97a0d232..c97a0d232 100644
--- a/java/src/com/android/inputmethod/latin/personalization/PersonalizationDictionaryUpdater.java
+++ b/java-overridable/src/com/android/inputmethod/latin/personalization/PersonalizationDictionaryUpdater.java
diff --git a/java/src/com/android/inputmethod/latin/settings/AdditionalFeaturesSettingUtils.java b/java-overridable/src/com/android/inputmethod/latin/settings/AdditionalFeaturesSettingUtils.java
index 6543003e8..6543003e8 100644
--- a/java/src/com/android/inputmethod/latin/settings/AdditionalFeaturesSettingUtils.java
+++ b/java-overridable/src/com/android/inputmethod/latin/settings/AdditionalFeaturesSettingUtils.java
diff --git a/java/src/com/android/inputmethod/latin/utils/FeedbackUtils.java b/java-overridable/src/com/android/inputmethod/latin/utils/FeedbackUtils.java
index 0aed41ee4..0aed41ee4 100644
--- a/java/src/com/android/inputmethod/latin/utils/FeedbackUtils.java
+++ b/java-overridable/src/com/android/inputmethod/latin/utils/FeedbackUtils.java
diff --git a/java/src/com/android/inputmethod/latin/utils/FileTransforms.java b/java-overridable/src/com/android/inputmethod/latin/utils/FileTransforms.java
index 9f4584ec9..9f4584ec9 100644
--- a/java/src/com/android/inputmethod/latin/utils/FileTransforms.java
+++ b/java-overridable/src/com/android/inputmethod/latin/utils/FileTransforms.java
diff --git a/java/src/com/android/inputmethod/latin/utils/MetadataFileUriGetter.java b/java-overridable/src/com/android/inputmethod/latin/utils/MetadataFileUriGetter.java
index 9ad319da6..9ad319da6 100644
--- a/java/src/com/android/inputmethod/latin/utils/MetadataFileUriGetter.java
+++ b/java-overridable/src/com/android/inputmethod/latin/utils/MetadataFileUriGetter.java
diff --git a/java/src/com/android/inputmethod/latin/utils/StatsUtils.java b/java-overridable/src/com/android/inputmethod/latin/utils/StatsUtils.java
index 79c19d077..79c19d077 100644
--- a/java/src/com/android/inputmethod/latin/utils/StatsUtils.java
+++ b/java-overridable/src/com/android/inputmethod/latin/utils/StatsUtils.java
diff --git a/java/Android.mk b/java/Android.mk
index 9b8b2b448..0d12c45fe 100644
--- a/java/Android.mk
+++ b/java/Android.mk
@@ -17,7 +17,7 @@ include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
+LOCAL_SRC_FILES := $(call all-java-files-under, src ../java-overridable/src)
LOCAL_PACKAGE_NAME := LatinIME
diff --git a/java/src/com/android/inputmethod/compat/CompatUtils.java b/java/src/com/android/inputmethod/compat/CompatUtils.java
index 4fd2a6936..6aa2736c1 100644
--- a/java/src/com/android/inputmethod/compat/CompatUtils.java
+++ b/java/src/com/android/inputmethod/compat/CompatUtils.java
@@ -127,4 +127,92 @@ public final class CompatUtils {
Log.e(TAG, "Exception in setFieldValue", e);
}
}
+
+ public static ClassWrapper getClassWrapper(final String className) {
+ return new ClassWrapper(getClass(className));
+ }
+
+ public static final class ClassWrapper {
+ private final Class<?> mClass;
+ public ClassWrapper(final Class<?> targetClass) {
+ mClass = targetClass;
+ }
+
+ public boolean exists() {
+ return mClass != null;
+ }
+
+ public <T> ToObjectMethodWrapper<T> getMethod(final String name,
+ final T defaultValue, final Class<?>... parameterTypes) {
+ return new ToObjectMethodWrapper<T>(CompatUtils.getMethod(mClass, name, parameterTypes),
+ defaultValue);
+ }
+
+ public ToIntMethodWrapper getPrimitiveMethod(final String name, final int defaultValue,
+ final Class<?>... parameterTypes) {
+ return new ToIntMethodWrapper(CompatUtils.getMethod(mClass, name, parameterTypes),
+ defaultValue);
+ }
+
+ public ToFloatMethodWrapper getPrimitiveMethod(final String name, final float defaultValue,
+ final Class<?>... parameterTypes) {
+ return new ToFloatMethodWrapper(CompatUtils.getMethod(mClass, name, parameterTypes),
+ defaultValue);
+ }
+
+ public ToBooleanMethodWrapper getPrimitiveMethod(final String name,
+ final boolean defaultValue, final Class<?>... parameterTypes) {
+ return new ToBooleanMethodWrapper(CompatUtils.getMethod(mClass, name, parameterTypes),
+ defaultValue);
+ }
+ }
+
+ public static final class ToObjectMethodWrapper<T> {
+ private final Method mMethod;
+ private final T mDefaultValue;
+ public ToObjectMethodWrapper(final Method method, final T defaultValue) {
+ mMethod = method;
+ mDefaultValue = defaultValue;
+ }
+ @SuppressWarnings("unchecked")
+ public T invoke(final Object receiver, final Object... args) {
+ return (T) CompatUtils.invoke(receiver, mDefaultValue, mMethod, args);
+ }
+ }
+
+ public static final class ToIntMethodWrapper {
+ private final Method mMethod;
+ private final int mDefaultValue;
+ public ToIntMethodWrapper(final Method method, final int defaultValue) {
+ mMethod = method;
+ mDefaultValue = defaultValue;
+ }
+ public int invoke(final Object receiver, final Object... args) {
+ return (int) CompatUtils.invoke(receiver, mDefaultValue, mMethod, args);
+ }
+ }
+
+ public static final class ToFloatMethodWrapper {
+ private final Method mMethod;
+ private final float mDefaultValue;
+ public ToFloatMethodWrapper(final Method method, final float defaultValue) {
+ mMethod = method;
+ mDefaultValue = defaultValue;
+ }
+ public float invoke(final Object receiver, final Object... args) {
+ return (float) CompatUtils.invoke(receiver, mDefaultValue, mMethod, args);
+ }
+ }
+
+ public static final class ToBooleanMethodWrapper {
+ private final Method mMethod;
+ private final boolean mDefaultValue;
+ public ToBooleanMethodWrapper(final Method method, final boolean defaultValue) {
+ mMethod = method;
+ mDefaultValue = defaultValue;
+ }
+ public boolean invoke(final Object receiver, final Object... args) {
+ return (boolean) CompatUtils.invoke(receiver, mDefaultValue, mMethod, args);
+ }
+ }
}
diff --git a/java/src/com/android/inputmethod/compat/CursorAnchorInfoCompatWrapper.java b/java/src/com/android/inputmethod/compat/CursorAnchorInfoCompatWrapper.java
index 2cec14240..24eaec85c 100644
--- a/java/src/com/android/inputmethod/compat/CursorAnchorInfoCompatWrapper.java
+++ b/java/src/com/android/inputmethod/compat/CursorAnchorInfoCompatWrapper.java
@@ -21,39 +21,8 @@ import android.graphics.RectF;
import com.android.inputmethod.annotations.UsedForTesting;
-import java.lang.reflect.Method;
-
@UsedForTesting
public final class CursorAnchorInfoCompatWrapper {
- // Note that CursorAnchorInfo has been introduced in API level XX (Build.VERSION_CODE.LXX).
- private static Class<?> getCursorAnchorInfoClass() {
- try {
- return Class.forName("android.view.inputmethod.CursorAnchorInfo");
- } catch (ClassNotFoundException e) {
- return null;
- }
- }
- private static final Class<?> CLASS;
- private static final Method METHOD_GET_CHARACTER_RECT;
- private static final Method METHOD_GET_CHARACTER_RECT_FLAGS;
- private static final Method METHOD_GET_COMPOSING_TEXT;
- private static final Method METHOD_GET_COMPOSING_TEXT_START;
- private static final Method METHOD_GET_MATRIX;
- static {
- CLASS = getCursorAnchorInfoClass();
- METHOD_GET_CHARACTER_RECT = CompatUtils.getMethod(CLASS, "getCharacterRect", int.class);
- METHOD_GET_CHARACTER_RECT_FLAGS = CompatUtils.getMethod(CLASS, "getCharacterRectFlags",
- int.class);
- METHOD_GET_COMPOSING_TEXT = CompatUtils.getMethod(CLASS, "getComposingText");
- METHOD_GET_COMPOSING_TEXT_START = CompatUtils.getMethod(CLASS, "getComposingTextStart");
- METHOD_GET_MATRIX = CompatUtils.getMethod(CLASS, "getMatrix");
- }
-
- @UsedForTesting
- public static boolean isAvailable() {
- return CLASS != null;
- }
-
public static final int CHARACTER_RECT_TYPE_MASK = 0x0f;
/**
@@ -83,6 +52,49 @@ public final class CursorAnchorInfoCompatWrapper {
*/
public static final int CHARACTER_RECT_TYPE_NOT_FEASIBLE = 4;
+ // Note that CursorAnchorInfo has been introduced in API level XX (Build.VERSION_CODE.LXX).
+ private static final CompatUtils.ClassWrapper sCursorAnchorInfoClass;
+ private static final CompatUtils.ToObjectMethodWrapper<RectF> sGetCharacterRectMethod;
+ private static final CompatUtils.ToIntMethodWrapper sGetCharacterRectFlagsMethod;
+ private static final CompatUtils.ToObjectMethodWrapper<CharSequence> sGetComposingTextMethod;
+ private static final CompatUtils.ToIntMethodWrapper sGetComposingTextStartMethod;
+ private static final CompatUtils.ToFloatMethodWrapper sGetInsertionMarkerBaselineMethod;
+ private static final CompatUtils.ToFloatMethodWrapper sGetInsertionMarkerBottomMethod;
+ private static final CompatUtils.ToFloatMethodWrapper sGetInsertionMarkerHorizontalMethod;
+ private static final CompatUtils.ToFloatMethodWrapper sGetInsertionMarkerTopMethod;
+ private static final CompatUtils.ToObjectMethodWrapper<Matrix> sGetMatrixMethod;
+ private static final CompatUtils.ToBooleanMethodWrapper sIsInsertionMarkerClippedMethod;
+
+ private static int COMPOSING_TEXT_START_DEFAULT = -1;
+ static {
+ sCursorAnchorInfoClass = CompatUtils.getClassWrapper(
+ "android.view.inputmethod.CursorAnchorInfo");
+ sGetCharacterRectMethod = sCursorAnchorInfoClass.getMethod(
+ "getCharacterRect", (RectF)null, int.class);
+ sGetCharacterRectFlagsMethod = sCursorAnchorInfoClass.getPrimitiveMethod(
+ "getCharacterRectFlags", CHARACTER_RECT_TYPE_UNSPECIFIED, int.class);
+ sGetComposingTextMethod = sCursorAnchorInfoClass.getMethod(
+ "getComposingText", (CharSequence)null);
+ sGetComposingTextStartMethod = sCursorAnchorInfoClass.getPrimitiveMethod(
+ "getComposingTextStart", COMPOSING_TEXT_START_DEFAULT);
+ sGetInsertionMarkerBaselineMethod = sCursorAnchorInfoClass.getPrimitiveMethod(
+ "getInsertionMarkerBaseline", 0.0f);
+ sGetInsertionMarkerBottomMethod = sCursorAnchorInfoClass.getPrimitiveMethod(
+ "getInsertionMarkerBottom", 0.0f);
+ sGetInsertionMarkerHorizontalMethod = sCursorAnchorInfoClass.getPrimitiveMethod(
+ "getInsertionMarkerHorizontal", 0.0f);
+ sGetInsertionMarkerTopMethod = sCursorAnchorInfoClass.getPrimitiveMethod(
+ "getInsertionMarkerTop", 0.0f);
+ sGetMatrixMethod = sCursorAnchorInfoClass.getMethod("getMatrix", (Matrix)null);
+ sIsInsertionMarkerClippedMethod = sCursorAnchorInfoClass.getPrimitiveMethod(
+ "isInsertionMarkerClipped", false);
+ }
+
+ @UsedForTesting
+ public static boolean isAvailable() {
+ return sCursorAnchorInfoClass.exists();
+ }
+
private Object mInstance;
private CursorAnchorInfoCompatWrapper(final Object instance) {
@@ -107,29 +119,42 @@ public final class CursorAnchorInfoCompatWrapper {
}
public CharSequence getComposingText() {
- return (CharSequence) CompatUtils.invoke(mInstance, null, METHOD_GET_COMPOSING_TEXT);
+ return sGetComposingTextMethod.invoke(mInstance);
}
- private static int COMPOSING_TEXT_START_DEFAULT = -1;
public int getComposingTextStart() {
- if (mInstance == null || METHOD_GET_COMPOSING_TEXT_START == null) {
- return COMPOSING_TEXT_START_DEFAULT;
- }
- return (int) CompatUtils.invoke(mInstance, null, METHOD_GET_COMPOSING_TEXT_START);
+ return sGetComposingTextStartMethod.invoke(mInstance);
}
public Matrix getMatrix() {
- return (Matrix) CompatUtils.invoke(mInstance, null, METHOD_GET_MATRIX);
+ return sGetMatrixMethod.invoke(mInstance);
}
public RectF getCharacterRect(final int index) {
- return (RectF) CompatUtils.invoke(mInstance, null, METHOD_GET_CHARACTER_RECT, index);
+ return sGetCharacterRectMethod.invoke(mInstance, index);
}
public int getCharacterRectFlags(final int index) {
- if (mInstance == null || METHOD_GET_CHARACTER_RECT_FLAGS == null) {
- return CHARACTER_RECT_TYPE_UNSPECIFIED;
- }
- return (int) CompatUtils.invoke(mInstance, null, METHOD_GET_CHARACTER_RECT_FLAGS, index);
+ return sGetCharacterRectFlagsMethod.invoke(mInstance, index);
+ }
+
+ public float getInsertionMarkerBaseline() {
+ return sGetInsertionMarkerBaselineMethod.invoke(mInstance);
+ }
+
+ public float getInsertionMarkerBottom() {
+ return sGetInsertionMarkerBottomMethod.invoke(mInstance);
+ }
+
+ public float getInsertionMarkerHorizontal() {
+ return sGetInsertionMarkerHorizontalMethod.invoke(mInstance);
+ }
+
+ public float getInsertionMarkerTop() {
+ return sGetInsertionMarkerTopMethod.invoke(mInstance);
+ }
+
+ public boolean isInsertionMarkerClipped() {
+ return sIsInsertionMarkerClippedMethod.invoke(mInstance);
}
}
diff --git a/tests/src/com/android/inputmethod/latin/utils/SpacebarLanguagetUtilsTests.java b/tests/src/com/android/inputmethod/latin/utils/SpacebarLanguageUtilsTests.java
index fdde34251..17247e7bb 100644
--- a/tests/src/com/android/inputmethod/latin/utils/SpacebarLanguagetUtilsTests.java
+++ b/tests/src/com/android/inputmethod/latin/utils/SpacebarLanguageUtilsTests.java
@@ -29,7 +29,7 @@ import java.util.ArrayList;
import java.util.Locale;
@SmallTest
-public class SpacebarLanguagetUtilsTests extends AndroidTestCase {
+public class SpacebarLanguageUtilsTests extends AndroidTestCase {
// All input method subtypes of LatinIME.
private final ArrayList<InputMethodSubtype> mSubtypesList = new ArrayList<>();
diff --git a/tools/dicttool/Android.mk b/tools/dicttool/Android.mk
index 0f1f34418..3e3d419e6 100644
--- a/tools/dicttool/Android.mk
+++ b/tools/dicttool/Android.mk
@@ -32,10 +32,12 @@ LOCAL_PATH := $(LATINIME_DICTTOOL_AOSP_LOCAL_PATH)
include $(CLEAR_VARS)
LATINIME_LOCAL_DIR := ../..
-LATINIME_BASE_SOURCE_DIRECTORY := $(LATINIME_LOCAL_DIR)/java/src/com/android/inputmethod
-LATINIME_ANNOTATIONS_SOURCE_DIRECTORY := $(LATINIME_BASE_SOURCE_DIRECTORY)/annotations
-MAKEDICT_CORE_SOURCE_DIRECTORY := $(LATINIME_BASE_SOURCE_DIRECTORY)/latin/makedict
-LATINIME_TESTS_SOURCE_DIRECTORY := $(LATINIME_LOCAL_DIR)/tests/src/com/android/inputmethod/latin
+LATINIME_BASE_SRC_DIR := $(LATINIME_LOCAL_DIR)/java/src/com/android/inputmethod
+LATINIME_BASE_OVERRIDABLE_SRC_DIR := \
+ $(LATINIME_LOCAL_DIR)/java-overridable/src/com/android/inputmethod
+LATINIME_ANNOTATIONS_SRC_DIR := $(LATINIME_BASE_SRC_DIR)/annotations
+MAKEDICT_CORE_SRC_DIR := $(LATINIME_BASE_SRC_DIR)/latin/makedict
+LATINIME_TESTS_SRC_DIR := $(LATINIME_LOCAL_DIR)/tests/src/com/android/inputmethod/latin
# Dependencies for Dicttool. Most of these files are needed by BinaryDictionary.java. Note that
# a significant part of the dependencies are mocked in the compat/ directory, with empty or
@@ -51,7 +53,6 @@ LATINIME_SRC_FILES_FOR_DICTTOOL := \
latin/PrevWordsInfo.java \
latin/SuggestedWords.java \
latin/WordComposer.java \
- latin/define/DebugFlags.java \
latin/settings/NativeSuggestOptions.java \
latin/settings/SettingsValuesForSuggestion.java \
latin/utils/BinaryDictionaryUtils.java \
@@ -63,29 +64,33 @@ LATINIME_SRC_FILES_FOR_DICTTOOL := \
latin/utils/ResizableIntArray.java \
latin/utils/StringUtils.java
+LATINIME_OVERRIDABLE_SRC_FILES_FOR_DICTTOOL := \
+ latin/define/DebugFlags.java
+
LATINIME_TEST_SRC_FILES_FOR_DICTTOOL := \
utils/ByteArrayDictBuffer.java
-USED_TARGETED_SRCS := \
- $(addprefix $(LATINIME_BASE_SOURCE_DIRECTORY)/, $(LATINIME_SRC_FILES_FOR_DICTTOOL)) \
- $(addprefix $(LATINIME_TESTS_SOURCE_DIRECTORY)/, $(LATINIME_TEST_SRC_FILES_FOR_DICTTOOL))
+USED_TARGETED_SRC_FILES := \
+ $(addprefix $(LATINIME_BASE_SRC_DIR)/, $(LATINIME_SRC_FILES_FOR_DICTTOOL)) \
+ $(addprefix $(LATINIME_BASE_OVERRIDABLE_SRC_DIR)/, \
+ $(LATINIME_OVERRIDABLE_SRC_FILES_FOR_DICTTOOL)) \
+ $(addprefix $(LATINIME_TESTS_SRC_DIR)/, $(LATINIME_TEST_SRC_FILES_FOR_DICTTOOL))
-DICTTOOL_ONDEVICE_TESTS_DIRECTORY := \
+DICTTOOL_ONDEVICE_TESTS_DIR := \
$(LATINIME_LOCAL_DIR)/tests/src/com/android/inputmethod/latin/makedict/
-DICTTOOL_COMPAT_TESTS_DIRECTORY := compat
+DICTTOOL_COMPAT_TESTS_DIR := compat
-LOCAL_MAIN_SRC_FILES := $(call all-java-files-under, $(MAKEDICT_CORE_SOURCE_DIRECTORY))
+LOCAL_MAIN_SRC_FILES := $(call all-java-files-under, $(MAKEDICT_CORE_SRC_DIR))
LOCAL_TOOL_SRC_FILES := $(call all-java-files-under, src)
-LOCAL_ANNOTATIONS_SRC_FILES := \
- $(call all-java-files-under, $(LATINIME_ANNOTATIONS_SOURCE_DIRECTORY))
+LOCAL_ANNOTATIONS_SRC_FILES := $(call all-java-files-under, $(LATINIME_ANNOTATIONS_SRC_DIR))
LOCAL_SRC_FILES := $(LOCAL_TOOL_SRC_FILES) \
$(filter-out $(addprefix %/, $(notdir $(LOCAL_TOOL_SRC_FILES))), $(LOCAL_MAIN_SRC_FILES)) \
- $(call all-java-files-under, $(DICTTOOL_COMPAT_TESTS_DIRECTORY)) \
- $(LOCAL_ANNOTATIONS_SRC_FILES) $(USED_TARGETED_SRCS) \
- $(LATINIME_BASE_SOURCE_DIRECTORY)/latin/Constants.java \
+ $(call all-java-files-under, $(DICTTOOL_COMPAT_TESTS_DIR)) \
+ $(LOCAL_ANNOTATIONS_SRC_FILES) $(USED_TARGETED_SRC_FILES) \
+ $(LATINIME_BASE_SRC_DIR)/latin/Constants.java \
$(call all-java-files-under, tests) \
- $(call all-java-files-under, $(DICTTOOL_ONDEVICE_TESTS_DIRECTORY))
+ $(call all-java-files-under, $(DICTTOOL_ONDEVICE_TESTS_DIR))
LOCAL_JAVA_LIBRARIES := junit
LOCAL_STATIC_JAVA_LIBRARIES := jsr305lib