Add a method to work around apps broken by recorrection
Bug: 8944307 Change-Id: I8986622554f30aaf4f595099c4ab5652b75c972cmain
parent
7058b02a9c
commit
89fe1f5088
|
@ -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 {
|
||||
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() {
|
||||
|
|
|
@ -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…
Reference in New Issue