aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
Diffstat (limited to 'java')
-rw-r--r--java/proguard.flags4
-rw-r--r--java/res/values-hy-rAM/strings.xml2
-rw-r--r--java/res/xml/prefs.xml4
-rw-r--r--java/res/xml/prefs_screen_multilingual.xml34
-rw-r--r--java/src/com/android/inputmethod/keyboard/Keyboard.java11
-rw-r--r--java/src/com/android/inputmethod/keyboard/KeyboardLayout.java124
-rw-r--r--java/src/com/android/inputmethod/keyboard/ProximityInfo.java2
-rw-r--r--java/src/com/android/inputmethod/keyboard/emoji/EmojiPalettesView.java132
-rw-r--r--java/src/com/android/inputmethod/latin/BinaryDictionary.java2
-rw-r--r--java/src/com/android/inputmethod/latin/DicTraverseSession.java4
-rw-r--r--java/src/com/android/inputmethod/latin/RichInputMethodManager.java18
-rw-r--r--java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java3
-rw-r--r--java/src/com/android/inputmethod/latin/settings/AdvancedSettingsFragment.java2
-rw-r--r--java/src/com/android/inputmethod/latin/settings/MultiLingualSettingsFragment.java41
-rw-r--r--java/src/com/android/inputmethod/latin/settings/Settings.java20
-rw-r--r--java/src/com/android/inputmethod/latin/settings/SettingsFragment.java5
-rw-r--r--java/src/com/android/inputmethod/latin/settings/SettingsValues.java8
-rw-r--r--java/src/com/android/inputmethod/latin/settings/SettingsValuesForSuggestion.java4
-rw-r--r--java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java3
-rw-r--r--java/src/com/android/inputmethod/latin/utils/DistracterFilterCheckingExactMatchesAndSuggestions.java3
-rw-r--r--java/src/com/android/inputmethod/latin/utils/FragmentUtils.java2
21 files changed, 147 insertions, 281 deletions
diff --git a/java/proguard.flags b/java/proguard.flags
index 0c5ad9fe8..c832a88e3 100644
--- a/java/proguard.flags
+++ b/java/proguard.flags
@@ -22,3 +22,7 @@
-keep class com.android.inputmethod.latin.NgramContext
-keep class com.android.inputmethod.latin.makedict.ProbabilityInfo
-keep class com.android.inputmethod.latin.utils.LanguageModelParam
+
+# TODO: remove once used in code.
+-keep class com.android.inputmethod.keyboard.KeyboardLayout { *; }
+
diff --git a/java/res/values-hy-rAM/strings.xml b/java/res/values-hy-rAM/strings.xml
index 2ab856d69..723166e9a 100644
--- a/java/res/values-hy-rAM/strings.xml
+++ b/java/res/values-hy-rAM/strings.xml
@@ -173,7 +173,7 @@
<string name="cancel_download_dict" msgid="7843340278507019303">"Չեղարկել"</string>
<string name="delete_dict" msgid="756853268088330054">"Ջնջել"</string>
<string name="should_download_over_metered_prompt" msgid="1583881200688185508">"Ձեր բջջային սարքում ընտրված լեզվով առկա է բառարան:<br/> Խորհուրդ ենք տալիս &lt;b&gt;ներբեռնել&lt;/b&gt; <xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> բառարանը՝ ձեր մուտքագրման հմտությունների բարելավման համար:&lt;br/&gt; &lt;br/&gt; Ներբեռնումը կարող է խլել մեկ կամ երկու րոպե 3G-ի դեպքում: Հնարավոր է գանձում կատարվի, եթե դուք չունեք &lt;b&gt;տվյալների անսահմանափակ փաթեթ&lt;/b&gt;.&lt;br/&gt; Եթե դուք վստահ չեք, թե տվյալների որ փաթեթն ունեք, խորհուրդ ենք տալիս գտնել Wi-Fi կապ՝ ներբեռնումն ավտոմատ սկսելու համար:&lt;br/&gt; &lt;br/&gt; Հուշում. դուք կարող եք ներբեռնել և հեռացնել բառարաններ՝ անցնելով ձեր բջջային սարքի &lt;b&gt;Կարգավորումներ ցանկի Լեզու և մուտքագրում&lt;/b&gt; բաժինը:"</string>
- <string name="download_over_metered" msgid="1643065851159409546">"Ներբեռնել հիմա (<xliff:g id="SIZE_IN_MEGABYTES">%1$.1f</xliff:g>Մբ)"</string>
+ <string name="download_over_metered" msgid="1643065851159409546">"Ներբեռնել հիմա (<xliff:g id="SIZE_IN_MEGABYTES">%1$.1f</xliff:g>ՄԲ)"</string>
<string name="do_not_download_over_metered" msgid="2176209579313941583">"Ներբեռնել Wi-Fi-ով"</string>
<string name="dict_available_notification_title" msgid="4583842811218581658">"<xliff:g id="LANGUAGE_NAME">%1$s</xliff:g> լեզվի համար առկա է բառարան"</string>
<string name="dict_available_notification_description" msgid="1075194169443163487">"Սեղմեք՝ վերանայելու և ներբեռնելու համար"</string>
diff --git a/java/res/xml/prefs.xml b/java/res/xml/prefs.xml
index 2a5134df6..f01909f37 100644
--- a/java/res/xml/prefs.xml
+++ b/java/res/xml/prefs.xml
@@ -31,10 +31,6 @@
android:title="@string/settings_screen_appearance"
android:key="screen_appearance" />
<PreferenceScreen
- android:fragment="com.android.inputmethod.latin.settings.MultiLingualSettingsFragment"
- android:title="@string/settings_screen_multilingual"
- android:key="screen_multilingual" />
- <PreferenceScreen
android:fragment="com.android.inputmethod.latin.settings.GestureSettingsFragment"
android:title="@string/settings_screen_gesture"
android:key="screen_gesture" />
diff --git a/java/res/xml/prefs_screen_multilingual.xml b/java/res/xml/prefs_screen_multilingual.xml
deleted file mode 100644
index 07a4b701c..000000000
--- a/java/res/xml/prefs_screen_multilingual.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2014 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.
--->
-
-<PreferenceScreen
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:title="@string/settings_screen_multilingual"
- android:key="screen_multilingual">
- <CheckBoxPreference
- android:key="pref_show_language_switch_key"
- android:title="@string/show_language_switch_key"
- android:summary="@string/show_language_switch_key_summary"
- android:defaultValue="true"
- android:persistent="true" />
- <CheckBoxPreference
- android:key="pref_include_other_imes_in_language_switch_list"
- android:dependency="pref_show_language_switch_key"
- android:title="@string/include_other_imes_in_language_switch_list"
- android:summary="@string/include_other_imes_in_language_switch_list_summary"
- android:defaultValue="false"
- android:persistent="true" />
-</PreferenceScreen>
diff --git a/java/src/com/android/inputmethod/keyboard/Keyboard.java b/java/src/com/android/inputmethod/keyboard/Keyboard.java
index 2055a59bb..7318d4738 100644
--- a/java/src/com/android/inputmethod/keyboard/Keyboard.java
+++ b/java/src/com/android/inputmethod/keyboard/Keyboard.java
@@ -95,6 +95,9 @@ public class Keyboard {
@Nonnull
private final ProximityInfo mProximityInfo;
+ @Nonnull
+ private final KeyboardLayout mKeyboardLayout;
+
private final boolean mProximityCharsCorrectionEnabled;
public Keyboard(@Nonnull final KeyboardParams params) {
@@ -121,6 +124,8 @@ public class Keyboard {
mOccupiedWidth, mOccupiedHeight, mMostCommonKeyWidth, mMostCommonKeyHeight,
mSortedKeys, params.mTouchPositionCorrection);
mProximityCharsCorrectionEnabled = params.mProximityCharsCorrectionEnabled;
+ mKeyboardLayout = KeyboardLayout.newKeyboardLayout(mSortedKeys, mMostCommonKeyWidth,
+ mMostCommonKeyHeight, mOccupiedWidth, mOccupiedHeight);
}
protected Keyboard(@Nonnull final Keyboard keyboard) {
@@ -145,6 +150,7 @@ public class Keyboard {
mProximityInfo = keyboard.mProximityInfo;
mProximityCharsCorrectionEnabled = keyboard.mProximityCharsCorrectionEnabled;
+ mKeyboardLayout = keyboard.mKeyboardLayout;
}
public boolean hasProximityCharsCorrection(final int code) {
@@ -164,6 +170,11 @@ public class Keyboard {
return mProximityInfo;
}
+ @Nonnull
+ public KeyboardLayout getKeyboardLayout() {
+ return mKeyboardLayout;
+ }
+
/**
* Return the sorted list of keys of this keyboard.
* The keys are sorted from top-left to bottom-right order.
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardLayout.java b/java/src/com/android/inputmethod/keyboard/KeyboardLayout.java
new file mode 100644
index 000000000..d0f32078e
--- /dev/null
+++ b/java/src/com/android/inputmethod/keyboard/KeyboardLayout.java
@@ -0,0 +1,124 @@
+/*
+ * Copyright (C) 2015 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.keyboard;
+
+import com.android.inputmethod.annotations.UsedForTesting;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.annotation.Nonnull;
+
+/**
+ * KeyboardLayout maintains the keyboard layout information.
+ */
+public class KeyboardLayout {
+
+ private final int[] mKeyCodes;
+
+ private final int[] mKeyXCoordinates;
+ private final int[] mKeyYCoordinates;
+
+ private final int[] mKeyWidths;
+ private final int[] mKeyHeights;
+
+ public final int mMostCommonKeyWidth;
+ public final int mMostCommonKeyHeight;
+
+ public final int mKeyboardWidth;
+ public final int mKeyboardHeight;
+
+ public KeyboardLayout(ArrayList<Key> layoutKeys, int mostCommonKeyWidth,
+ int mostCommonKeyHeight, int keyboardWidth, int keyboardHeight) {
+ mMostCommonKeyWidth = mostCommonKeyWidth;
+ mMostCommonKeyHeight = mostCommonKeyHeight;
+ mKeyboardWidth = keyboardWidth;
+ mKeyboardHeight = keyboardHeight;
+
+ mKeyCodes = new int[layoutKeys.size()];
+ mKeyXCoordinates = new int[layoutKeys.size()];
+ mKeyYCoordinates = new int[layoutKeys.size()];
+ mKeyWidths = new int[layoutKeys.size()];
+ mKeyHeights = new int[layoutKeys.size()];
+
+ for (int i = 0; i < layoutKeys.size(); i++) {
+ Key key = layoutKeys.get(i);
+ mKeyCodes[i] = Character.toLowerCase(key.getCode());
+ mKeyXCoordinates[i] = key.getX();
+ mKeyYCoordinates[i] = key.getY();
+ mKeyWidths[i] = key.getWidth();
+ mKeyHeights[i] = key.getHeight();
+ }
+ }
+
+ @UsedForTesting
+ public int[] getKeyCodes() {
+ return mKeyCodes;
+ }
+
+ /**
+ * The x-coordinate for the top-left corner of the keys.
+ *
+ */
+ public int[] getKeyXCoordinates() {
+ return mKeyXCoordinates;
+ }
+
+ /**
+ * The y-coordinate for the top-left corner of the keys.
+ */
+ public int[] getKeyYCoordinates() {
+ return mKeyYCoordinates;
+ }
+
+ /**
+ * The widths of the keys which are smaller than the true hit-area due to the gaps
+ * between keys. The mostCommonKey(Width/Height) represents the true key width/height
+ * including the gaps.
+ */
+ public int[] getKeyWidths() {
+ return mKeyWidths;
+ }
+
+ /**
+ * The heights of the keys which are smaller than the true hit-area due to the gaps
+ * between keys. The mostCommonKey(Width/Height) represents the true key width/height
+ * including the gaps.
+ */
+ public int[] getKeyHeights() {
+ return mKeyHeights;
+ }
+
+ /**
+ * Factory method to create {@link KeyboardLayout} objects.
+ */
+ public static KeyboardLayout newKeyboardLayout(@Nonnull final List<Key> sortedKeys,
+ int mostCommonKeyWidth, int mostCommonKeyHeight,
+ int occupiedWidth, int occupiedHeight) {
+ final ArrayList<Key> layoutKeys = new ArrayList<Key>();
+ for (final Key key : sortedKeys) {
+ if (!ProximityInfo.needsProximityInfo(key)) {
+ continue;
+ }
+ if (key.getCode() != ',') {
+ layoutKeys.add(key);
+ }
+ }
+ return new KeyboardLayout(layoutKeys, mostCommonKeyWidth,
+ mostCommonKeyHeight, occupiedWidth, occupiedHeight);
+ }
+}
diff --git a/java/src/com/android/inputmethod/keyboard/ProximityInfo.java b/java/src/com/android/inputmethod/keyboard/ProximityInfo.java
index 228b964ea..b9a5eaefb 100644
--- a/java/src/com/android/inputmethod/keyboard/ProximityInfo.java
+++ b/java/src/com/android/inputmethod/keyboard/ProximityInfo.java
@@ -95,7 +95,7 @@ public class ProximityInfo {
private static native void releaseProximityInfoNative(long nativeProximityInfo);
- private static boolean needsProximityInfo(final Key key) {
+ static boolean needsProximityInfo(final Key key) {
// Don't include special keys into ProximityInfo.
return key.getCode() >= Constants.CODE_SPACE;
}
diff --git a/java/src/com/android/inputmethod/keyboard/emoji/EmojiPalettesView.java b/java/src/com/android/inputmethod/keyboard/emoji/EmojiPalettesView.java
index cf4dd3db3..309430e34 100644
--- a/java/src/com/android/inputmethod/keyboard/emoji/EmojiPalettesView.java
+++ b/java/src/com/android/inputmethod/keyboard/emoji/EmojiPalettesView.java
@@ -21,8 +21,6 @@ import static com.android.inputmethod.latin.common.Constants.NOT_A_COORDINATE;
import android.content.Context;
import android.content.res.Resources;
import android.content.res.TypedArray;
-import android.graphics.Color;
-import android.os.CountDownTimer;
import android.preference.PreferenceManager;
import android.support.v4.view.ViewPager;
import android.util.AttributeSet;
@@ -52,8 +50,6 @@ import com.android.inputmethod.latin.RichInputMethodSubtype;
import com.android.inputmethod.latin.common.Constants;
import com.android.inputmethod.latin.utils.ResourceUtils;
-import java.util.concurrent.TimeUnit;
-
/**
* View class to implement Emoji palettes.
* The Emoji keyboard consists of group of views layout/emoji_palettes_view.
@@ -75,7 +71,6 @@ public final class EmojiPalettesView extends LinearLayout implements OnTabChange
private final int mCategoryIndicatorBackgroundResId;
private final int mCategoryPageIndicatorColor;
private final int mCategoryPageIndicatorBackground;
- private final DeleteKeyOnTouchListener mDeleteKeyOnTouchListener;
private EmojiPalettesAdapter mEmojiPalettesAdapter;
private final EmojiLayoutParams mEmojiLayoutParams;
@@ -132,7 +127,6 @@ public final class EmojiPalettesView extends LinearLayout implements OnTabChange
mCategoryPageIndicatorBackground = emojiPalettesViewAttr.getColor(
R.styleable.EmojiPalettesView_categoryPageIndicatorBackground, 0);
emojiPalettesViewAttr.recycle();
- mDeleteKeyOnTouchListener = new DeleteKeyOnTouchListener(context);
}
@Override
@@ -203,7 +197,7 @@ public final class EmojiPalettesView extends LinearLayout implements OnTabChange
mDeleteKey = (ImageButton)findViewById(R.id.emoji_keyboard_delete);
mDeleteKey.setBackgroundResource(mFunctionalKeyBackgroundId);
mDeleteKey.setTag(Constants.CODE_DELETE);
- mDeleteKey.setOnTouchListener(mDeleteKeyOnTouchListener);
+ mDeleteKey.setOnTouchListener(this);
// {@link #mAlphabetKeyLeft}, {@link #mAlphabetKeyRight, and spaceKey depend on
// {@link View.OnClickListener} as well as {@link View.OnTouchListener}.
@@ -398,7 +392,6 @@ public final class EmojiPalettesView extends LinearLayout implements OnTabChange
public void setKeyboardActionListener(final KeyboardActionListener listener) {
mKeyboardActionListener = listener;
- mDeleteKeyOnTouchListener.setKeyboardActionListener(mKeyboardActionListener);
}
private void updateEmojiCategoryPageIdView() {
@@ -434,127 +427,4 @@ public final class EmojiPalettesView extends LinearLayout implements OnTabChange
mTabHost.setCurrentTab(newTabId);
}
}
-
- private static class DeleteKeyOnTouchListener implements OnTouchListener {
- static final long MAX_REPEAT_COUNT_TIME = TimeUnit.SECONDS.toMillis(30);
- final long mKeyRepeatStartTimeout;
- final long mKeyRepeatInterval;
-
- public DeleteKeyOnTouchListener(Context context) {
- final Resources res = context.getResources();
- mKeyRepeatStartTimeout = res.getInteger(R.integer.config_key_repeat_start_timeout);
- mKeyRepeatInterval = res.getInteger(R.integer.config_key_repeat_interval);
- mTimer = new CountDownTimer(MAX_REPEAT_COUNT_TIME, mKeyRepeatInterval) {
- @Override
- public void onTick(long millisUntilFinished) {
- final long elapsed = MAX_REPEAT_COUNT_TIME - millisUntilFinished;
- if (elapsed < mKeyRepeatStartTimeout) {
- return;
- }
- onKeyRepeat();
- }
- @Override
- public void onFinish() {
- onKeyRepeat();
- }
- };
- }
-
- /** Key-repeat state. */
- private static final int KEY_REPEAT_STATE_INITIALIZED = 0;
- // The key is touched but auto key-repeat is not started yet.
- private static final int KEY_REPEAT_STATE_KEY_DOWN = 1;
- // At least one key-repeat event has already been triggered and the key is not released.
- private static final int KEY_REPEAT_STATE_KEY_REPEAT = 2;
-
- private KeyboardActionListener mKeyboardActionListener =
- KeyboardActionListener.EMPTY_LISTENER;
-
- // TODO: Do the same things done in PointerTracker
- private final CountDownTimer mTimer;
- private int mState = KEY_REPEAT_STATE_INITIALIZED;
- private int mRepeatCount = 0;
-
- public void setKeyboardActionListener(final KeyboardActionListener listener) {
- mKeyboardActionListener = listener;
- }
-
- @Override
- public boolean onTouch(final View v, final MotionEvent event) {
- switch (event.getActionMasked()) {
- case MotionEvent.ACTION_DOWN:
- onTouchDown(v);
- return true;
- case MotionEvent.ACTION_MOVE:
- final float x = event.getX();
- final float y = event.getY();
- if (x < 0.0f || v.getWidth() < x || y < 0.0f || v.getHeight() < y) {
- // Stop generating key events once the finger moves away from the view area.
- onTouchCanceled(v);
- }
- return true;
- case MotionEvent.ACTION_CANCEL:
- case MotionEvent.ACTION_UP:
- onTouchUp(v);
- return true;
- }
- return false;
- }
-
- private void handleKeyDown() {
- mKeyboardActionListener.onPressKey(
- Constants.CODE_DELETE, mRepeatCount, true /* isSinglePointer */);
- }
-
- private void handleKeyUp() {
- mKeyboardActionListener.onCodeInput(Constants.CODE_DELETE,
- NOT_A_COORDINATE, NOT_A_COORDINATE, false /* isKeyRepeat */);
- mKeyboardActionListener.onReleaseKey(
- Constants.CODE_DELETE, false /* withSliding */);
- ++mRepeatCount;
- }
-
- private void onTouchDown(final View v) {
- mTimer.cancel();
- mRepeatCount = 0;
- handleKeyDown();
- v.setPressed(true /* pressed */);
- mState = KEY_REPEAT_STATE_KEY_DOWN;
- mTimer.start();
- }
-
- private void onTouchUp(final View v) {
- mTimer.cancel();
- if (mState == KEY_REPEAT_STATE_KEY_DOWN) {
- handleKeyUp();
- }
- v.setPressed(false /* pressed */);
- mState = KEY_REPEAT_STATE_INITIALIZED;
- }
-
- private void onTouchCanceled(final View v) {
- mTimer.cancel();
- v.setBackgroundColor(Color.TRANSPARENT);
- mState = KEY_REPEAT_STATE_INITIALIZED;
- }
-
- // Called by {@link #mTimer} in the UI thread as an auto key-repeat signal.
- void onKeyRepeat() {
- switch (mState) {
- case KEY_REPEAT_STATE_INITIALIZED:
- // Basically this should not happen.
- break;
- case KEY_REPEAT_STATE_KEY_DOWN:
- // Do not call {@link #handleKeyDown} here because it has already been called
- // in {@link #onTouchDown}.
- handleKeyUp();
- mState = KEY_REPEAT_STATE_KEY_REPEAT;
- break;
- case KEY_REPEAT_STATE_KEY_REPEAT:
- handleKeyDown();
- handleKeyUp();
- break;
- }
- }
- }
}
diff --git a/java/src/com/android/inputmethod/latin/BinaryDictionary.java b/java/src/com/android/inputmethod/latin/BinaryDictionary.java
index 46cd3b8b2..b0eae0832 100644
--- a/java/src/com/android/inputmethod/latin/BinaryDictionary.java
+++ b/java/src/com/android/inputmethod/latin/BinaryDictionary.java
@@ -293,8 +293,6 @@ public final class BinaryDictionary extends Dictionary {
settingsValuesForSuggestion.mBlockPotentiallyOffensive);
session.mNativeSuggestOptions.setSpaceAwareGestureEnabled(
settingsValuesForSuggestion.mSpaceAwareGestureEnabled);
- session.mNativeSuggestOptions.setAdditionalFeaturesOptions(
- settingsValuesForSuggestion.mAdditionalFeaturesSettingValues);
session.mNativeSuggestOptions.setWeightForLocale(weightForLocale);
if (inOutWeightOfLangModelVsSpatialModel != null) {
session.mInputOutputWeightOfLangModelVsSpatialModel[0] =
diff --git a/java/src/com/android/inputmethod/latin/DicTraverseSession.java b/java/src/com/android/inputmethod/latin/DicTraverseSession.java
index aefefd305..e7fd99ee8 100644
--- a/java/src/com/android/inputmethod/latin/DicTraverseSession.java
+++ b/java/src/com/android/inputmethod/latin/DicTraverseSession.java
@@ -18,7 +18,6 @@ package com.android.inputmethod.latin;
import com.android.inputmethod.latin.common.Constants;
import com.android.inputmethod.latin.common.NativeSuggestOptions;
-import com.android.inputmethod.latin.settings.AdditionalFeaturesSettingUtils;
import com.android.inputmethod.latin.utils.JniUtils;
import java.util.Locale;
@@ -44,8 +43,7 @@ public final class DicTraverseSession {
public final int[] mOutputAutoCommitFirstWordConfidence = new int[1];
public final float[] mInputOutputWeightOfLangModelVsSpatialModel = new float[1];
- public final NativeSuggestOptions mNativeSuggestOptions = new NativeSuggestOptions(
- AdditionalFeaturesSettingUtils.ADDITIONAL_FEATURES_SETTINGS_SIZE);
+ public final NativeSuggestOptions mNativeSuggestOptions = new NativeSuggestOptions();
private static native long setDicTraverseSessionNative(String locale, long dictSize);
private static native void initDicTraverseSessionNative(long nativeDicTraverseSession,
diff --git a/java/src/com/android/inputmethod/latin/RichInputMethodManager.java b/java/src/com/android/inputmethod/latin/RichInputMethodManager.java
index 811af4bd7..64a7cf347 100644
--- a/java/src/com/android/inputmethod/latin/RichInputMethodManager.java
+++ b/java/src/com/android/inputmethod/latin/RichInputMethodManager.java
@@ -33,7 +33,6 @@ import android.view.inputmethod.InputMethodSubtype;
import com.android.inputmethod.annotations.UsedForTesting;
import com.android.inputmethod.compat.InputMethodManagerCompatWrapper;
-import com.android.inputmethod.latin.settings.AdditionalFeaturesSettingUtils;
import com.android.inputmethod.latin.settings.Settings;
import com.android.inputmethod.latin.utils.AdditionalSubtypeUtils;
import com.android.inputmethod.latin.utils.LanguageOnSpacebarUtils;
@@ -324,22 +323,6 @@ public class RichInputMethodManager {
return INDEX_NOT_FOUND;
}
- public boolean checkIfSubtypeBelongsToThisIme(final InputMethodSubtype subtype) {
- return getSubtypeIndexInIme(subtype, getInputMethodInfoOfThisIme()) != INDEX_NOT_FOUND;
- }
-
- private static int getSubtypeIndexInIme(final InputMethodSubtype subtype,
- final InputMethodInfo imi) {
- final int count = imi.getSubtypeCount();
- for (int index = 0; index < count; index++) {
- final InputMethodSubtype ims = imi.getSubtypeAt(index);
- if (ims.equals(subtype)) {
- return index;
- }
- }
- return INDEX_NOT_FOUND;
- }
-
public void onSubtypeChanged(@Nonnull final InputMethodSubtype newSubtype) {
updateCurrentSubtype(newSubtype);
updateShortcutIme();
@@ -416,7 +399,6 @@ public class RichInputMethodManager {
// subtypes should be counted as well.
if (nonAuxCount > 0 || (shouldIncludeAuxiliarySubtypes && auxCount > 1)) {
++filteredImisCount;
- continue;
}
}
diff --git a/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java b/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java
index 0185a04ef..4842438c8 100644
--- a/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java
+++ b/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java
@@ -2204,8 +2204,7 @@ public final class InputLogic {
mWordComposer.isComposingWord() ? 2 : 1),
proximityInfo,
new SettingsValuesForSuggestion(settingsValues.mBlockPotentiallyOffensive,
- settingsValues.mPhraseGestureEnabled,
- settingsValues.mAdditionalFeaturesSettingValues),
+ settingsValues.mPhraseGestureEnabled),
settingsValues.mAutoCorrectionEnabledPerUserSettings,
inputStyle, sequenceNumber, callback);
}
diff --git a/java/src/com/android/inputmethod/latin/settings/AdvancedSettingsFragment.java b/java/src/com/android/inputmethod/latin/settings/AdvancedSettingsFragment.java
index 3dfc743f8..9366726e2 100644
--- a/java/src/com/android/inputmethod/latin/settings/AdvancedSettingsFragment.java
+++ b/java/src/com/android/inputmethod/latin/settings/AdvancedSettingsFragment.java
@@ -103,8 +103,6 @@ public final class AdvancedSettingsFragment extends SubScreenFragment {
removePreference(Settings.PREF_ENABLE_METRICS_LOGGING);
}
- AdditionalFeaturesSettingUtils.addAdditionalFeaturesPreferences(context, this);
-
setupKeypressVibrationDurationSettings();
setupKeypressSoundVolumeSettings();
setupKeyLongpressTimeoutSettings();
diff --git a/java/src/com/android/inputmethod/latin/settings/MultiLingualSettingsFragment.java b/java/src/com/android/inputmethod/latin/settings/MultiLingualSettingsFragment.java
deleted file mode 100644
index c5930db1e..000000000
--- a/java/src/com/android/inputmethod/latin/settings/MultiLingualSettingsFragment.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (C) 2014 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.settings;
-
-import android.os.Bundle;
-
-import com.android.inputmethod.latin.R;
-
-/**
- * "Multilingual options" settings sub screen.
- *
- * This settings sub screen handles the following input preferences.
- * - Language switch key
- * - Switch to other input methods
- */
-public final class MultiLingualSettingsFragment extends SubScreenFragment {
- @Override
- public void onCreate(final Bundle icicle) {
- super.onCreate(icicle);
- addPreferencesFromResource(R.xml.prefs_screen_multilingual);
- if (!Settings.ENABLE_SHOW_LANGUAGE_SWITCH_KEY_SETTINGS) {
- removePreference(Settings.PREF_SHOW_LANGUAGE_SWITCH_KEY);
- removePreference(Settings.PREF_INCLUDE_OTHER_IMES_IN_LANGUAGE_SWITCH_LIST);
- }
- AdditionalFeaturesSettingUtils.addAdditionalFeaturesPreferences(getActivity(), this);
- }
-}
diff --git a/java/src/com/android/inputmethod/latin/settings/Settings.java b/java/src/com/android/inputmethod/latin/settings/Settings.java
index 77996405b..0ac19f76b 100644
--- a/java/src/com/android/inputmethod/latin/settings/Settings.java
+++ b/java/src/com/android/inputmethod/latin/settings/Settings.java
@@ -44,14 +44,8 @@ import javax.annotation.Nonnull;
public final class Settings implements SharedPreferences.OnSharedPreferenceChangeListener {
private static final String TAG = Settings.class.getSimpleName();
// Settings screens
- public static final String SCREEN_PREFERENCES = "screen_preferences";
public static final String SCREEN_ACCOUNTS = "screen_accounts";
- public static final String SCREEN_APPEARANCE = "screen_appearance";
public static final String SCREEN_THEME = "screen_theme";
- public static final String SCREEN_MULTILINGUAL = "screen_multilingual";
- public static final String SCREEN_GESTURE = "screen_gesture";
- public static final String SCREEN_CORRECTION = "screen_correction";
- public static final String SCREEN_ADVANCED = "screen_advanced";
public static final String SCREEN_DEBUG = "screen_debug";
// In the same order as xml/prefs.xml
public static final String PREF_AUTO_CAP = "auto_cap";
@@ -73,9 +67,6 @@ public final class Settings implements SharedPreferences.OnSharedPreferenceChang
"pref_key_use_double_space_period";
public static final String PREF_BLOCK_POTENTIALLY_OFFENSIVE =
"pref_key_block_potentially_offensive";
- // No multilingual options in Android L and above for now.
- public static final boolean SHOW_MULTILINGUAL_SETTINGS =
- BuildCompatUtils.EFFECTIVE_SDK_INT <= Build.VERSION_CODES.KITKAT;
public static final boolean ENABLE_SHOW_LANGUAGE_SWITCH_KEY_SETTINGS =
BuildCompatUtils.EFFECTIVE_SDK_INT <= Build.VERSION_CODES.KITKAT;
public static final boolean SHOULD_SHOW_LXX_SUGGESTION_UI =
@@ -84,7 +75,6 @@ public final class Settings implements SharedPreferences.OnSharedPreferenceChang
"pref_show_language_switch_key";
public static final String PREF_INCLUDE_OTHER_IMES_IN_LANGUAGE_SWITCH_LIST =
"pref_include_other_imes_in_language_switch_list";
- public static final String PREF_KEYBOARD_THEME = "pref_keyboard_theme";
public static final String PREF_CUSTOM_INPUT_STYLES = "custom_input_styles";
public static final String PREF_ENABLE_SPLIT_KEYBOARD = "pref_split_keyboard";
// TODO: consolidate key preview dismiss delay with the key preview animation parameters.
@@ -103,8 +93,6 @@ public final class Settings implements SharedPreferences.OnSharedPreferenceChang
"pref_gesture_floating_preview_text";
public static final String PREF_PHRASE_GESTURE_ENABLED = "pref_gesture_space_aware";
- public static final String PREF_INPUT_LANGUAGE = "input_language";
- public static final String PREF_SELECTED_LANGUAGES = "selected_languages";
public static final String PREF_KEY_IS_INTERNAL = "pref_key_is_internal";
public static final String PREF_ENABLE_METRICS_LOGGING = "pref_enable_metrics_logging";
@@ -203,14 +191,6 @@ public final class Settings implements SharedPreferences.OnSharedPreferenceChang
return mSettingsValues.mIsInternal;
}
- public boolean isWordSeparator(final int code) {
- return mSettingsValues.isWordSeparator(code);
- }
-
- public boolean getBlockPotentiallyOffensive() {
- return mSettingsValues.mBlockPotentiallyOffensive;
- }
-
public static int readScreenMetrics(final Resources res) {
return res.getInteger(R.integer.config_screen_metrics);
}
diff --git a/java/src/com/android/inputmethod/latin/settings/SettingsFragment.java b/java/src/com/android/inputmethod/latin/settings/SettingsFragment.java
index 6c21accf6..b98c53af4 100644
--- a/java/src/com/android/inputmethod/latin/settings/SettingsFragment.java
+++ b/java/src/com/android/inputmethod/latin/settings/SettingsFragment.java
@@ -48,15 +48,10 @@ public final class SettingsFragment extends InputMethodSettingsFragment {
final PreferenceScreen preferenceScreen = getPreferenceScreen();
preferenceScreen.setTitle(
ApplicationUtils.getActivityTitleResId(getActivity(), SettingsActivity.class));
- if (!Settings.SHOW_MULTILINGUAL_SETTINGS) {
- final Preference multilingualOptions = findPreference(Settings.SCREEN_MULTILINGUAL);
- preferenceScreen.removePreference(multilingualOptions);
- }
if (!ProductionFlags.ENABLE_ACCOUNT_SIGN_IN) {
final Preference accountsPreference = findPreference(Settings.SCREEN_ACCOUNTS);
preferenceScreen.removePreference(accountsPreference);
}
- AdditionalFeaturesSettingUtils.addAdditionalFeaturesPreferences(getActivity(), this);
}
@Override
diff --git a/java/src/com/android/inputmethod/latin/settings/SettingsValues.java b/java/src/com/android/inputmethod/latin/settings/SettingsValues.java
index 0669026d8..a080515dd 100644
--- a/java/src/com/android/inputmethod/latin/settings/SettingsValues.java
+++ b/java/src/com/android/inputmethod/latin/settings/SettingsValues.java
@@ -102,10 +102,6 @@ public class SettingsValues {
private final boolean mSuggestionsEnabledPerUserSettings;
private final AsyncResultHolder<AppWorkaroundsUtils> mAppWorkarounds;
- // Setting values for additional features
- public final int[] mAdditionalFeaturesSettingValues =
- new int[AdditionalFeaturesSettingUtils.ADDITIONAL_FEATURES_SETTINGS_SIZE];
-
// TextDecorator
public final int mTextHighlightColorForAddToDictionaryIndicator;
@@ -187,8 +183,6 @@ public class SettingsValues {
mAutoCorrectionEnabledPerUserSettings = mAutoCorrectEnabled
&& !mInputAttributes.mInputTypeNoAutoCorrect;
mSuggestionsEnabledPerUserSettings = readSuggestionsEnabled(prefs);
- AdditionalFeaturesSettingUtils.readAdditionalFeaturesPreferencesIntoArray(context,
- prefs, mAdditionalFeaturesSettingValues);
mTextHighlightColorForAddToDictionaryIndicator = res.getColor(
R.color.text_decorator_add_to_dictionary_indicator_text_highlight_color);
mIsInternal = Settings.isInternal(prefs);
@@ -437,8 +431,6 @@ public class SettingsValues {
sb.append("\n mAppWorkarounds = ");
final AppWorkaroundsUtils awu = mAppWorkarounds.get(null, 0);
sb.append("" + (null == awu ? "null" : awu.toString()));
- sb.append("\n mAdditionalFeaturesSettingValues = ");
- sb.append("" + Arrays.toString(mAdditionalFeaturesSettingValues));
sb.append("\n mTextHighlightColorForAddToDictionaryIndicator = ");
sb.append("" + mTextHighlightColorForAddToDictionaryIndicator);
sb.append("\n mIsInternal = ");
diff --git a/java/src/com/android/inputmethod/latin/settings/SettingsValuesForSuggestion.java b/java/src/com/android/inputmethod/latin/settings/SettingsValuesForSuggestion.java
index d80af4ba7..56e6fac71 100644
--- a/java/src/com/android/inputmethod/latin/settings/SettingsValuesForSuggestion.java
+++ b/java/src/com/android/inputmethod/latin/settings/SettingsValuesForSuggestion.java
@@ -19,12 +19,10 @@ package com.android.inputmethod.latin.settings;
public class SettingsValuesForSuggestion {
public final boolean mBlockPotentiallyOffensive;
public final boolean mSpaceAwareGestureEnabled;
- public final int[] mAdditionalFeaturesSettingValues;
public SettingsValuesForSuggestion(final boolean blockPotentiallyOffensive,
- final boolean spaceAwareGestureEnabled, final int[] additionalFeaturesSettingValues) {
+ final boolean spaceAwareGestureEnabled) {
mBlockPotentiallyOffensive = blockPotentiallyOffensive;
mSpaceAwareGestureEnabled = spaceAwareGestureEnabled;
- mAdditionalFeaturesSettingValues = additionalFeaturesSettingValues;
}
}
diff --git a/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java b/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java
index bcf7bbfdc..8744020b1 100644
--- a/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java
+++ b/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java
@@ -76,8 +76,7 @@ public final class AndroidSpellCheckerService extends SpellCheckerService
// TODO: make a spell checker option to block offensive words or not
private final SettingsValuesForSuggestion mSettingsValuesForSuggestion =
new SettingsValuesForSuggestion(true /* blockPotentiallyOffensive */,
- true /* spaceAwareGestureEnabled */,
- null /* additionalFeaturesSettingValues */);
+ true /* spaceAwareGestureEnabled */);
public static final String SINGLE_QUOTE = "\u0027";
public static final String APOSTROPHE = "\u2019";
diff --git a/java/src/com/android/inputmethod/latin/utils/DistracterFilterCheckingExactMatchesAndSuggestions.java b/java/src/com/android/inputmethod/latin/utils/DistracterFilterCheckingExactMatchesAndSuggestions.java
index 9c6a94810..56a04a856 100644
--- a/java/src/com/android/inputmethod/latin/utils/DistracterFilterCheckingExactMatchesAndSuggestions.java
+++ b/java/src/com/android/inputmethod/latin/utils/DistracterFilterCheckingExactMatchesAndSuggestions.java
@@ -238,8 +238,7 @@ public class DistracterFilterCheckingExactMatchesAndSuggestions implements Distr
}
final SettingsValuesForSuggestion settingsValuesForSuggestion =
new SettingsValuesForSuggestion(false /* blockPotentiallyOffensive */,
- false /* spaceAwareGestureEnabled */,
- null /* additionalFeaturesSettingValues */);
+ false /* spaceAwareGestureEnabled */);
final int trailingSingleQuotesCount = StringUtils.getTrailingSingleQuotesCount(testedWord);
final String consideredWord = trailingSingleQuotesCount > 0 ?
testedWord.substring(0, testedWord.length() - trailingSingleQuotesCount) :
diff --git a/java/src/com/android/inputmethod/latin/utils/FragmentUtils.java b/java/src/com/android/inputmethod/latin/utils/FragmentUtils.java
index ae2de44c7..147e57b13 100644
--- a/java/src/com/android/inputmethod/latin/utils/FragmentUtils.java
+++ b/java/src/com/android/inputmethod/latin/utils/FragmentUtils.java
@@ -25,7 +25,6 @@ import com.android.inputmethod.latin.settings.CorrectionSettingsFragment;
import com.android.inputmethod.latin.settings.CustomInputStyleSettingsFragment;
import com.android.inputmethod.latin.settings.DebugSettingsFragment;
import com.android.inputmethod.latin.settings.GestureSettingsFragment;
-import com.android.inputmethod.latin.settings.MultiLingualSettingsFragment;
import com.android.inputmethod.latin.settings.PreferencesSettingsFragment;
import com.android.inputmethod.latin.settings.SettingsFragment;
import com.android.inputmethod.latin.settings.ThemeSettingsFragment;
@@ -46,7 +45,6 @@ public class FragmentUtils {
sLatinImeFragments.add(AccountsSettingsFragment.class.getName());
sLatinImeFragments.add(AppearanceSettingsFragment.class.getName());
sLatinImeFragments.add(ThemeSettingsFragment.class.getName());
- sLatinImeFragments.add(MultiLingualSettingsFragment.class.getName());
sLatinImeFragments.add(CustomInputStyleSettingsFragment.class.getName());
sLatinImeFragments.add(GestureSettingsFragment.class.getName());
sLatinImeFragments.add(CorrectionSettingsFragment.class.getName());