Merge "Add shared preference for re-correction" into gingerbread
commit
0723056043
|
@ -28,4 +28,5 @@
|
||||||
<bool name="config_swipeDisambiguation">true</bool>
|
<bool name="config_swipeDisambiguation">true</bool>
|
||||||
<!-- Whether or not Popup on key press is enabled by default -->
|
<!-- Whether or not Popup on key press is enabled by default -->
|
||||||
<bool name="default_popup_preview">true</bool>
|
<bool name="default_popup_preview">true</bool>
|
||||||
|
<bool name="default_recorrection_enabled">true</bool>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -339,6 +339,10 @@
|
||||||
<string name="prefs_enable_log">Enable user feedback</string>
|
<string name="prefs_enable_log">Enable user feedback</string>
|
||||||
<!-- Description for enabling to send user statistics to Google. -->
|
<!-- Description for enabling to send user statistics to Google. -->
|
||||||
<string name="prefs_description_log">Help improve this input method editor by automatically sending usage statistics and crash reports to Google.</string>
|
<string name="prefs_description_log">Help improve this input method editor by automatically sending usage statistics and crash reports to Google.</string>
|
||||||
|
<!-- Preferences item for enabling to re-correct suggestions . -->
|
||||||
|
<string name="prefs_enable_recorrection">Tap to re-correction</string>
|
||||||
|
<!-- The summary for the preferences item for enabling to re-correct suggestions . -->
|
||||||
|
<string name="prefs_enable_recorrection_summary">You can re-correct words by tapping words you have typed</string>
|
||||||
|
|
||||||
<!-- Description for keyboard theme switcher -->
|
<!-- Description for keyboard theme switcher -->
|
||||||
<string name="keyboard_layout">Keyboard Theme</string>
|
<string name="keyboard_layout">Keyboard Theme</string>
|
||||||
|
|
|
@ -37,6 +37,13 @@
|
||||||
android:defaultValue="@bool/default_popup_preview"
|
android:defaultValue="@bool/default_popup_preview"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
<CheckBoxPreference
|
||||||
|
android:key="recorrection_enabled"
|
||||||
|
android:title="@string/prefs_enable_recorrection"
|
||||||
|
android:persistent="true"
|
||||||
|
android:defaultValue="@bool/default_recorrection_enabled"
|
||||||
|
/>
|
||||||
|
|
||||||
<CheckBoxPreference
|
<CheckBoxPreference
|
||||||
android:key="auto_cap"
|
android:key="auto_cap"
|
||||||
android:title="@string/auto_cap"
|
android:title="@string/auto_cap"
|
||||||
|
|
|
@ -127,6 +127,7 @@ public class LatinIME extends InputMethodService
|
||||||
|
|
||||||
public static final String PREF_SELECTED_LANGUAGES = "selected_languages";
|
public static final String PREF_SELECTED_LANGUAGES = "selected_languages";
|
||||||
public static final String PREF_INPUT_LANGUAGE = "input_language";
|
public static final String PREF_INPUT_LANGUAGE = "input_language";
|
||||||
|
private static final String PREF_RECORRECTION_ENABLED = "recorrection_enabled";
|
||||||
|
|
||||||
private static final int MSG_UPDATE_SUGGESTIONS = 0;
|
private static final int MSG_UPDATE_SUGGESTIONS = 0;
|
||||||
private static final int MSG_START_TUTORIAL = 1;
|
private static final int MSG_START_TUTORIAL = 1;
|
||||||
|
@ -193,6 +194,7 @@ public class LatinIME extends InputMethodService
|
||||||
private boolean mAutoSpace;
|
private boolean mAutoSpace;
|
||||||
private boolean mJustAddedAutoSpace;
|
private boolean mJustAddedAutoSpace;
|
||||||
private boolean mAutoCorrectEnabled;
|
private boolean mAutoCorrectEnabled;
|
||||||
|
private boolean mReCorrectionEnabled;
|
||||||
// Bigram Suggestion is disabled in this version.
|
// Bigram Suggestion is disabled in this version.
|
||||||
private final boolean mBigramSuggestionEnabled = false;
|
private final boolean mBigramSuggestionEnabled = false;
|
||||||
private boolean mAutoCorrectOn;
|
private boolean mAutoCorrectOn;
|
||||||
|
@ -361,6 +363,8 @@ public class LatinIME extends InputMethodService
|
||||||
if (inputLanguage == null) {
|
if (inputLanguage == null) {
|
||||||
inputLanguage = conf.locale.toString();
|
inputLanguage = conf.locale.toString();
|
||||||
}
|
}
|
||||||
|
mReCorrectionEnabled = prefs.getBoolean(PREF_RECORRECTION_ENABLED,
|
||||||
|
getResources().getBoolean(R.bool.default_recorrection_enabled));
|
||||||
|
|
||||||
LatinIMEUtil.GCUtils.getInstance().reset();
|
LatinIMEUtil.GCUtils.getInstance().reset();
|
||||||
boolean tryGC = true;
|
boolean tryGC = true;
|
||||||
|
@ -769,21 +773,22 @@ public class LatinIME extends InputMethodService
|
||||||
mLastSelectionStart = newSelStart;
|
mLastSelectionStart = newSelStart;
|
||||||
mLastSelectionEnd = newSelEnd;
|
mLastSelectionEnd = newSelEnd;
|
||||||
|
|
||||||
|
if (mReCorrectionEnabled) {
|
||||||
// Don't look for corrections if the keyboard is not visible
|
// Don't look for corrections if the keyboard is not visible
|
||||||
if (mKeyboardSwitcher != null && mKeyboardSwitcher.getInputView() != null
|
if (mKeyboardSwitcher != null && mKeyboardSwitcher.getInputView() != null
|
||||||
&& mKeyboardSwitcher.getInputView().isShown()) {
|
&& mKeyboardSwitcher.getInputView().isShown()) {
|
||||||
// Check if we should go in or out of correction mode.
|
// Check if we should go in or out of correction mode.
|
||||||
if (isPredictionOn()
|
if (isPredictionOn()
|
||||||
&& mJustRevertedSeparator == null
|
&& mJustRevertedSeparator == null
|
||||||
&& (candidatesStart == candidatesEnd || newSelStart != oldSelStart
|
&& (candidatesStart == candidatesEnd || newSelStart != oldSelStart
|
||||||
|| TextEntryState.isCorrecting())
|
|| TextEntryState.isCorrecting())
|
||||||
&& (newSelStart < newSelEnd - 1 || (!mPredicting))
|
&& (newSelStart < newSelEnd - 1 || (!mPredicting))
|
||||||
&& !mVoiceInputHighlighted) {
|
&& !mVoiceInputHighlighted) {
|
||||||
if (isCursorTouchingWord() || mLastSelectionStart < mLastSelectionEnd) {
|
if (isCursorTouchingWord() || mLastSelectionStart < mLastSelectionEnd) {
|
||||||
postUpdateOldSuggestions();
|
postUpdateOldSuggestions();
|
||||||
} else {
|
} else {
|
||||||
abortCorrection(false);
|
abortCorrection(false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2181,6 +2186,9 @@ public class LatinIME extends InputMethodService
|
||||||
if (PREF_SELECTED_LANGUAGES.equals(key)) {
|
if (PREF_SELECTED_LANGUAGES.equals(key)) {
|
||||||
mLanguageSwitcher.loadLocales(sharedPreferences);
|
mLanguageSwitcher.loadLocales(sharedPreferences);
|
||||||
mRefreshKeyboardRequired = true;
|
mRefreshKeyboardRequired = true;
|
||||||
|
} else if (PREF_RECORRECTION_ENABLED.equals(key)) {
|
||||||
|
mReCorrectionEnabled = sharedPreferences.getBoolean(PREF_RECORRECTION_ENABLED,
|
||||||
|
getResources().getBoolean(R.bool.default_recorrection_enabled));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue