aboutsummaryrefslogtreecommitdiffstats
path: root/common/src
diff options
context:
space:
mode:
authorJean Chalard <jchalard@google.com>2014-11-06 20:07:28 +0900
committerJean Chalard <jchalard@google.com>2014-11-06 21:38:11 +0900
commit03eb9de961d655d6a3c2c83082221166db10f93c (patch)
tree94383d30af1e0b284cd4d4f98fe1d8a0d1607605 /common/src
parent5564317f837164c67749423fa78f917ed2ae9e14 (diff)
downloadlatinime-03eb9de961d655d6a3c2c83082221166db10f93c.tar.gz
latinime-03eb9de961d655d6a3c2c83082221166db10f93c.tar.xz
latinime-03eb9de961d655d6a3c2c83082221166db10f93c.zip
Remove dicttool dependency to NativeSuggestOptions
Bug: 18108776 Change-Id: I0f57594617f8d5080aea9002b2356d18bfe97043
Diffstat (limited to 'common/src')
-rw-r--r--common/src/com/android/inputmethod/latin/common/NativeSuggestOptions.java76
1 files changed, 76 insertions, 0 deletions
diff --git a/common/src/com/android/inputmethod/latin/common/NativeSuggestOptions.java b/common/src/com/android/inputmethod/latin/common/NativeSuggestOptions.java
new file mode 100644
index 000000000..1fb0b2cf5
--- /dev/null
+++ b/common/src/com/android/inputmethod/latin/common/NativeSuggestOptions.java
@@ -0,0 +1,76 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.inputmethod.latin.common;
+
+public class NativeSuggestOptions {
+ // Need to update suggest_options.h when you add, remove or reorder options.
+ private static final int IS_GESTURE = 0;
+ private static final int USE_FULL_EDIT_DISTANCE = 1;
+ private static final int BLOCK_OFFENSIVE_WORDS = 2;
+ private static final int SPACE_AWARE_GESTURE_ENABLED = 3;
+ private static final int WEIGHT_FOR_LOCALE_IN_THOUSANDS = 4;
+ private static final int OPTIONS_SIZE = 5;
+
+ private final int[] mOptions;
+
+ public NativeSuggestOptions(final int additionalFeaturesSettingsSize) {
+ mOptions = new int[additionalFeaturesSettingsSize];
+ }
+
+ public void setIsGesture(final boolean value) {
+ setBooleanOption(IS_GESTURE, value);
+ }
+
+ public void setUseFullEditDistance(final boolean value) {
+ setBooleanOption(USE_FULL_EDIT_DISTANCE, value);
+ }
+
+ public void setBlockOffensiveWords(final boolean value) {
+ setBooleanOption(BLOCK_OFFENSIVE_WORDS, value);
+ }
+
+ public void setSpaceAwareGestureEnabled(final boolean value) {
+ setBooleanOption(SPACE_AWARE_GESTURE_ENABLED, value);
+ }
+
+ public void setWeightForLocale(final float value) {
+ // We're passing this option as a fixed point value, in thousands. This is decoded in
+ // native code by SuggestOptions#weightForLocale().
+ setIntegerOption(WEIGHT_FOR_LOCALE_IN_THOUSANDS, (int) (value * 1000));
+ }
+
+ public void setAdditionalFeaturesOptions(final int[] additionalOptions) {
+ if (additionalOptions == null) {
+ return;
+ }
+ for (int i = 0; i < additionalOptions.length; i++) {
+ setIntegerOption(OPTIONS_SIZE + i, additionalOptions[i]);
+ }
+ }
+
+ public int[] getOptions() {
+ return mOptions;
+ }
+
+ private void setBooleanOption(final int key, final boolean value) {
+ mOptions[key] = value ? 1 : 0;
+ }
+
+ private void setIntegerOption(final int key, final int value) {
+ mOptions[key] = value;
+ }
+}