am 05ea7c5d: am 167ba345: am 89fe1f50: Add a method to work around apps broken by recorrection
* commit '05ea7c5d0233d2ba703de1123e99f81938badf66': Add a method to work around apps broken by recorrectionmain
commit
56dba59ada
|
@ -0,0 +1,29 @@
|
||||||
|
/*
|
||||||
|
* 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;
|
||||||
|
}
|
||||||
|
}
|
|
@ -24,9 +24,16 @@ import android.os.Build.VERSION_CODES;
|
||||||
*/
|
*/
|
||||||
public class AppWorkaroundsUtils {
|
public class AppWorkaroundsUtils {
|
||||||
private PackageInfo mPackageInfo; // May be null
|
private PackageInfo mPackageInfo; // May be null
|
||||||
|
private boolean mIsBrokenByRecorrection = false;
|
||||||
|
|
||||||
public void setPackageInfo(final PackageInfo packageInfo) {
|
public void setPackageInfo(final PackageInfo packageInfo) {
|
||||||
mPackageInfo = packageInfo;
|
mPackageInfo = packageInfo;
|
||||||
|
mIsBrokenByRecorrection = AppWorkaroundsHelper.evaluateIsBrokenByRecorrection(
|
||||||
|
packageInfo);
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isBrokenByRecorrection() {
|
||||||
|
return mIsBrokenByRecorrection;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isBeforeJellyBean() {
|
public boolean isBeforeJellyBean() {
|
||||||
|
|
|
@ -2450,6 +2450,10 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
|
||||||
* do nothing.
|
* do nothing.
|
||||||
*/
|
*/
|
||||||
private void restartSuggestionsOnWordTouchedByCursor() {
|
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 the cursor is not touching a word, or if there is a selection, return right away.
|
||||||
if (mLastSelectionStart != mLastSelectionEnd) return;
|
if (mLastSelectionStart != mLastSelectionEnd) return;
|
||||||
// If we don't know the cursor location, return.
|
// If we don't know the cursor location, return.
|
||||||
|
|
Loading…
Reference in New Issue