Loading java/src/com/android/inputmethod/compat/AppWorkaroundsHelper.java 0 → 100644 +29 −0 Original line number Diff line number Diff line /* * 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.compat; import android.content.pm.PackageInfo; public class AppWorkaroundsHelper { private AppWorkaroundsHelper() { // This helper class is not publicly instantiable. } public static boolean evaluateIsBrokenByRecorrection(final PackageInfo info) { return false; } } java/src/com/android/inputmethod/compat/AppWorkaroundsUtils.java +7 −0 Original line number Diff line number Diff line Loading @@ -24,9 +24,16 @@ import android.os.Build.VERSION_CODES; */ public class AppWorkaroundsUtils { private PackageInfo mPackageInfo; // May be null private boolean mIsBrokenByRecorrection = false; public void setPackageInfo(final PackageInfo packageInfo) { mPackageInfo = packageInfo; mIsBrokenByRecorrection = AppWorkaroundsHelper.evaluateIsBrokenByRecorrection( packageInfo); } public boolean isBrokenByRecorrection() { return mIsBrokenByRecorrection; } public boolean isBeforeJellyBean() { Loading java/src/com/android/inputmethod/latin/LatinIME.java +4 −0 Original line number Diff line number Diff line Loading @@ -2450,6 +2450,10 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen * do nothing. */ private void restartSuggestionsOnWordTouchedByCursor() { // HACK: We may want to special-case some apps that exhibit bad behavior in case of // recorrection. This is a temporary, stopgap measure that will be removed later. // TODO: remove this. if (mAppWorkAroundsUtils.isBrokenByRecorrection()) return; // If the cursor is not touching a word, or if there is a selection, return right away. if (mLastSelectionStart != mLastSelectionEnd) return; // If we don't know the cursor location, return. Loading Loading
java/src/com/android/inputmethod/compat/AppWorkaroundsHelper.java 0 → 100644 +29 −0 Original line number Diff line number Diff line /* * 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.compat; import android.content.pm.PackageInfo; public class AppWorkaroundsHelper { private AppWorkaroundsHelper() { // This helper class is not publicly instantiable. } public static boolean evaluateIsBrokenByRecorrection(final PackageInfo info) { return false; } }
java/src/com/android/inputmethod/compat/AppWorkaroundsUtils.java +7 −0 Original line number Diff line number Diff line Loading @@ -24,9 +24,16 @@ import android.os.Build.VERSION_CODES; */ public class AppWorkaroundsUtils { private PackageInfo mPackageInfo; // May be null private boolean mIsBrokenByRecorrection = false; public void setPackageInfo(final PackageInfo packageInfo) { mPackageInfo = packageInfo; mIsBrokenByRecorrection = AppWorkaroundsHelper.evaluateIsBrokenByRecorrection( packageInfo); } public boolean isBrokenByRecorrection() { return mIsBrokenByRecorrection; } public boolean isBeforeJellyBean() { Loading
java/src/com/android/inputmethod/latin/LatinIME.java +4 −0 Original line number Diff line number Diff line Loading @@ -2450,6 +2450,10 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen * do nothing. */ private void restartSuggestionsOnWordTouchedByCursor() { // HACK: We may want to special-case some apps that exhibit bad behavior in case of // recorrection. This is a temporary, stopgap measure that will be removed later. // TODO: remove this. if (mAppWorkAroundsUtils.isBrokenByRecorrection()) return; // If the cursor is not touching a word, or if there is a selection, return right away. if (mLastSelectionStart != mLastSelectionEnd) return; // If we don't know the cursor location, return. Loading