Prepare to implement distracter filter
It was implemented according to the Plan B in the design doc: http://go/ime-misspelling-filter This CL is to create a DistracterFilter instance and pass it to PersonalizationDictionarySessionRegistrar. This patch should be checked in together with Id633b4fd45693 Bug: 13142176 Change-Id: Ia4957e64218c9619fcf9bb91795a187617c72a2e
This commit is contained in:
parent
4ad798fc0f
commit
281dd99346
4 changed files with 67 additions and 5 deletions
|
@ -536,7 +536,6 @@ public class DictionaryFacilitatorForSuggest {
|
|||
return maxFreq;
|
||||
}
|
||||
|
||||
|
||||
public void clearUserHistoryDictionary() {
|
||||
final UserHistoryDictionary userHistoryDict = mDictionaries.mUserHistoryDictionary;
|
||||
if (userHistoryDict == null) {
|
||||
|
|
|
@ -84,6 +84,7 @@ import com.android.inputmethod.latin.utils.ApplicationUtils;
|
|||
import com.android.inputmethod.latin.utils.CapsModeUtils;
|
||||
import com.android.inputmethod.latin.utils.CoordinateUtils;
|
||||
import com.android.inputmethod.latin.utils.DialogUtils;
|
||||
import com.android.inputmethod.latin.utils.DistracterFilter;
|
||||
import com.android.inputmethod.latin.utils.ImportantNoticeUtils;
|
||||
import com.android.inputmethod.latin.utils.IntentUtils;
|
||||
import com.android.inputmethod.latin.utils.JniUtils;
|
||||
|
@ -540,6 +541,14 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
|
|||
refreshPersonalizationDictionarySession();
|
||||
}
|
||||
|
||||
private DistracterFilter createDistracterFilter() {
|
||||
final MainKeyboardView mainKeyboardView = mKeyboardSwitcher.getMainKeyboardView();
|
||||
final Keyboard keyboard = mainKeyboardView.getKeyboard();
|
||||
final DistracterFilter distracterFilter = new DistracterFilter(mInputLogic.mSuggest,
|
||||
keyboard);
|
||||
return distracterFilter;
|
||||
}
|
||||
|
||||
private void refreshPersonalizationDictionarySession() {
|
||||
final DictionaryFacilitatorForSuggest dictionaryFacilitator =
|
||||
mInputLogic.mSuggest.mDictionaryFacilitator;
|
||||
|
@ -564,7 +573,9 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
|
|||
PersonalizationHelper.removeAllPersonalizationDictionaries(this);
|
||||
PersonalizationDictionarySessionRegistrar.resetAll(this);
|
||||
} else {
|
||||
PersonalizationDictionarySessionRegistrar.init(this, dictionaryFacilitator);
|
||||
final DistracterFilter distracterFilter = createDistracterFilter();
|
||||
PersonalizationDictionarySessionRegistrar.init(
|
||||
this, dictionaryFacilitator, distracterFilter);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -662,8 +673,9 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
|
|||
mInputLogic.mConnection.finishComposingText();
|
||||
mInputLogic.mConnection.endBatchEdit();
|
||||
}
|
||||
final DistracterFilter distracterFilter = createDistracterFilter();
|
||||
PersonalizationDictionarySessionRegistrar.onConfigurationChanged(this, conf,
|
||||
mInputLogic.mSuggest.mDictionaryFacilitator);
|
||||
mInputLogic.mSuggest.mDictionaryFacilitator, distracterFilter);
|
||||
super.onConfigurationChanged(conf);
|
||||
}
|
||||
|
||||
|
|
|
@ -20,14 +20,17 @@ import android.content.Context;
|
|||
import android.content.res.Configuration;
|
||||
|
||||
import com.android.inputmethod.latin.DictionaryFacilitatorForSuggest;
|
||||
import com.android.inputmethod.latin.utils.DistracterFilter;
|
||||
|
||||
public class PersonalizationDictionarySessionRegistrar {
|
||||
public static void init(final Context context,
|
||||
final DictionaryFacilitatorForSuggest dictionaryFacilitator) {
|
||||
final DictionaryFacilitatorForSuggest dictionaryFacilitator,
|
||||
final DistracterFilter distracterFilter) {
|
||||
}
|
||||
|
||||
public static void onConfigurationChanged(final Context context, final Configuration conf,
|
||||
final DictionaryFacilitatorForSuggest dictionaryFacilitator) {
|
||||
final DictionaryFacilitatorForSuggest dictionaryFacilitator,
|
||||
final DistracterFilter distracterFilter) {
|
||||
}
|
||||
|
||||
public static void onUpdateData(final Context context, final String type) {
|
||||
|
|
|
@ -0,0 +1,48 @@
|
|||
/*
|
||||
* 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.utils;
|
||||
|
||||
import com.android.inputmethod.keyboard.Keyboard;
|
||||
import com.android.inputmethod.latin.Suggest;
|
||||
|
||||
/**
|
||||
* This class is used to prevent distracters/misspellings being added to personalization
|
||||
* or user history dictionaries
|
||||
*/
|
||||
public class DistracterFilter {
|
||||
private final Suggest mSuggest;
|
||||
private final Keyboard mKeyboard;
|
||||
|
||||
/**
|
||||
* Create a DistracterFilter instance.
|
||||
*
|
||||
* @param suggest an instance of Suggest which will be used to obtain a list of suggestions
|
||||
* for a potential distracter/misspelling
|
||||
* @param keyboard the keyboard that is currently being used. This information is needed
|
||||
* when calling mSuggest.getSuggestedWords(...) to obtain a list of suggestions.
|
||||
*/
|
||||
public DistracterFilter(final Suggest suggest, final Keyboard keyboard) {
|
||||
mSuggest = suggest;
|
||||
mKeyboard = keyboard;
|
||||
}
|
||||
|
||||
public boolean isDistractorToWordsInDictionaries(final String prevWord,
|
||||
final String targetWord) {
|
||||
// TODO: to be implemented
|
||||
return false;
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue