Loading java/src/com/android/inputmethod/keyboard/ProximityInfo.java +2 −1 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package com.android.inputmethod.keyboard; import android.graphics.Rect; import android.text.TextUtils; import android.util.FloatMath; import com.android.inputmethod.keyboard.Keyboard.Params.TouchPositionCorrection; import com.android.inputmethod.latin.JniUtils; Loading Loading @@ -147,7 +148,7 @@ public class ProximityInfo { final float radius = touchPositionCorrection.mRadii[row]; sweetSpotCenterXs[i] = hitBoxCenterX + x * hitBoxWidth; sweetSpotCenterYs[i] = hitBoxCenterY + y * hitBoxHeight; sweetSpotRadii[i] = radius * (float) Math.sqrt( sweetSpotRadii[i] = radius * FloatMath.sqrt( hitBoxWidth * hitBoxWidth + hitBoxHeight * hitBoxHeight); } } Loading java/src/com/android/inputmethod/latin/AutoCorrection.java +3 −3 Original line number Diff line number Diff line Loading @@ -35,7 +35,7 @@ public class AutoCorrection { public static CharSequence computeAutoCorrectionWord( HashMap<String, Dictionary> dictionaries, WordComposer wordComposer, ArrayList<SuggestedWordInfo> suggestions, CharSequence consideredWord, double autoCorrectionThreshold, CharSequence consideredWord, float autoCorrectionThreshold, CharSequence whitelistedWord) { if (hasAutoCorrectionForWhitelistedWord(whitelistedWord)) { return whitelistedWord; Loading Loading @@ -100,14 +100,14 @@ public class AutoCorrection { private static boolean hasAutoCorrectionForBinaryDictionary(WordComposer wordComposer, ArrayList<SuggestedWordInfo> suggestions, CharSequence consideredWord, double autoCorrectionThreshold) { CharSequence consideredWord, float autoCorrectionThreshold) { if (wordComposer.size() > 1 && suggestions.size() > 0) { final SuggestedWordInfo autoCorrectionSuggestion = suggestions.get(0); //final int autoCorrectionSuggestionScore = sortedScores[0]; final int autoCorrectionSuggestionScore = autoCorrectionSuggestion.mScore; // TODO: when the normalized score of the first suggestion is nearly equals to // the normalized score of the second suggestion, behave less aggressive. final double normalizedScore = BinaryDictionary.calcNormalizedScore( final float normalizedScore = BinaryDictionary.calcNormalizedScore( consideredWord.toString(), autoCorrectionSuggestion.mWord.toString(), autoCorrectionSuggestionScore); if (DBG) { Loading java/src/com/android/inputmethod/latin/BinaryDictionary.java +2 −2 Original line number Diff line number Diff line Loading @@ -92,7 +92,7 @@ public class BinaryDictionary extends Dictionary { private native int getBigramsNative(long dict, int[] prevWord, int prevWordLength, int[] inputCodes, int inputCodesLength, char[] outputChars, int[] scores, int maxWordLength, int maxBigrams); private static native double calcNormalizedScoreNative( private static native float calcNormalizedScoreNative( char[] before, int beforeLength, char[] after, int afterLength, int score); private static native int editDistanceNative( char[] before, int beforeLength, char[] after, int afterLength); Loading Loading @@ -189,7 +189,7 @@ public class BinaryDictionary extends Dictionary { prevWordCodePointArray, mUseFullEditDistance, outputChars, scores); } public static double calcNormalizedScore(String before, String after, int score) { public static float calcNormalizedScore(String before, String after, int score) { return calcNormalizedScoreNative(before.toCharArray(), before.length(), after.toCharArray(), after.length(), score); } Loading java/src/com/android/inputmethod/latin/SettingsValues.java +5 −5 Original line number Diff line number Diff line Loading @@ -77,7 +77,7 @@ public class SettingsValues { public final float mFxVolume; public final int mKeyPreviewPopupDismissDelay; public final boolean mAutoCorrectEnabled; public final double mAutoCorrectionThreshold; public final float mAutoCorrectionThreshold; private final boolean mVoiceKeyEnabled; private final boolean mVoiceKeyOnMain; Loading Loading @@ -255,21 +255,21 @@ public class SettingsValues { R.bool.config_default_next_word_prediction)); } private static double getAutoCorrectionThreshold(final Resources resources, private static float getAutoCorrectionThreshold(final Resources resources, final String currentAutoCorrectionSetting) { final String[] autoCorrectionThresholdValues = resources.getStringArray( R.array.auto_correction_threshold_values); // When autoCorrectionThreshold is greater than 1.0, it's like auto correction is off. double autoCorrectionThreshold = Double.MAX_VALUE; float autoCorrectionThreshold = Float.MAX_VALUE; try { final int arrayIndex = Integer.valueOf(currentAutoCorrectionSetting); if (arrayIndex >= 0 && arrayIndex < autoCorrectionThresholdValues.length) { autoCorrectionThreshold = Double.parseDouble( autoCorrectionThreshold = Float.parseFloat( autoCorrectionThresholdValues[arrayIndex]); } } catch (NumberFormatException e) { // Whenever the threshold settings are correct, never come here. autoCorrectionThreshold = Double.MAX_VALUE; autoCorrectionThreshold = Float.MAX_VALUE; Log.w(TAG, "Cannot load auto correction threshold setting." + " currentAutoCorrectionSetting: " + currentAutoCorrectionSetting + ", autoCorrectionThresholdValues: " Loading java/src/com/android/inputmethod/latin/Suggest.java +3 −3 Original line number Diff line number Diff line Loading @@ -77,7 +77,7 @@ public class Suggest implements Dictionary.WordCallback { private static final int PREF_MAX_BIGRAMS = 60; private double mAutoCorrectionThreshold; private float mAutoCorrectionThreshold; private ArrayList<SuggestedWordInfo> mSuggestions = new ArrayList<SuggestedWordInfo>(); private ArrayList<SuggestedWordInfo> mBigramSuggestions = new ArrayList<SuggestedWordInfo>(); Loading Loading @@ -185,7 +185,7 @@ public class Suggest implements Dictionary.WordCallback { userHistoryDictionary); } public void setAutoCorrectionThreshold(double threshold) { public void setAutoCorrectionThreshold(float threshold) { mAutoCorrectionThreshold = threshold; } Loading Loading @@ -416,7 +416,7 @@ public class Suggest implements Dictionary.WordCallback { // than i because we added the typed word to mSuggestions without touching mScores. for (int i = 0; i < suggestionsSize - 1; ++i) { final SuggestedWordInfo cur = suggestions.get(i + 1); final double normalizedScore = BinaryDictionary.calcNormalizedScore( final float normalizedScore = BinaryDictionary.calcNormalizedScore( typedWord, cur.toString(), cur.mScore); final String scoreInfoString; if (normalizedScore > 0) { Loading Loading
java/src/com/android/inputmethod/keyboard/ProximityInfo.java +2 −1 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package com.android.inputmethod.keyboard; import android.graphics.Rect; import android.text.TextUtils; import android.util.FloatMath; import com.android.inputmethod.keyboard.Keyboard.Params.TouchPositionCorrection; import com.android.inputmethod.latin.JniUtils; Loading Loading @@ -147,7 +148,7 @@ public class ProximityInfo { final float radius = touchPositionCorrection.mRadii[row]; sweetSpotCenterXs[i] = hitBoxCenterX + x * hitBoxWidth; sweetSpotCenterYs[i] = hitBoxCenterY + y * hitBoxHeight; sweetSpotRadii[i] = radius * (float) Math.sqrt( sweetSpotRadii[i] = radius * FloatMath.sqrt( hitBoxWidth * hitBoxWidth + hitBoxHeight * hitBoxHeight); } } Loading
java/src/com/android/inputmethod/latin/AutoCorrection.java +3 −3 Original line number Diff line number Diff line Loading @@ -35,7 +35,7 @@ public class AutoCorrection { public static CharSequence computeAutoCorrectionWord( HashMap<String, Dictionary> dictionaries, WordComposer wordComposer, ArrayList<SuggestedWordInfo> suggestions, CharSequence consideredWord, double autoCorrectionThreshold, CharSequence consideredWord, float autoCorrectionThreshold, CharSequence whitelistedWord) { if (hasAutoCorrectionForWhitelistedWord(whitelistedWord)) { return whitelistedWord; Loading Loading @@ -100,14 +100,14 @@ public class AutoCorrection { private static boolean hasAutoCorrectionForBinaryDictionary(WordComposer wordComposer, ArrayList<SuggestedWordInfo> suggestions, CharSequence consideredWord, double autoCorrectionThreshold) { CharSequence consideredWord, float autoCorrectionThreshold) { if (wordComposer.size() > 1 && suggestions.size() > 0) { final SuggestedWordInfo autoCorrectionSuggestion = suggestions.get(0); //final int autoCorrectionSuggestionScore = sortedScores[0]; final int autoCorrectionSuggestionScore = autoCorrectionSuggestion.mScore; // TODO: when the normalized score of the first suggestion is nearly equals to // the normalized score of the second suggestion, behave less aggressive. final double normalizedScore = BinaryDictionary.calcNormalizedScore( final float normalizedScore = BinaryDictionary.calcNormalizedScore( consideredWord.toString(), autoCorrectionSuggestion.mWord.toString(), autoCorrectionSuggestionScore); if (DBG) { Loading
java/src/com/android/inputmethod/latin/BinaryDictionary.java +2 −2 Original line number Diff line number Diff line Loading @@ -92,7 +92,7 @@ public class BinaryDictionary extends Dictionary { private native int getBigramsNative(long dict, int[] prevWord, int prevWordLength, int[] inputCodes, int inputCodesLength, char[] outputChars, int[] scores, int maxWordLength, int maxBigrams); private static native double calcNormalizedScoreNative( private static native float calcNormalizedScoreNative( char[] before, int beforeLength, char[] after, int afterLength, int score); private static native int editDistanceNative( char[] before, int beforeLength, char[] after, int afterLength); Loading Loading @@ -189,7 +189,7 @@ public class BinaryDictionary extends Dictionary { prevWordCodePointArray, mUseFullEditDistance, outputChars, scores); } public static double calcNormalizedScore(String before, String after, int score) { public static float calcNormalizedScore(String before, String after, int score) { return calcNormalizedScoreNative(before.toCharArray(), before.length(), after.toCharArray(), after.length(), score); } Loading
java/src/com/android/inputmethod/latin/SettingsValues.java +5 −5 Original line number Diff line number Diff line Loading @@ -77,7 +77,7 @@ public class SettingsValues { public final float mFxVolume; public final int mKeyPreviewPopupDismissDelay; public final boolean mAutoCorrectEnabled; public final double mAutoCorrectionThreshold; public final float mAutoCorrectionThreshold; private final boolean mVoiceKeyEnabled; private final boolean mVoiceKeyOnMain; Loading Loading @@ -255,21 +255,21 @@ public class SettingsValues { R.bool.config_default_next_word_prediction)); } private static double getAutoCorrectionThreshold(final Resources resources, private static float getAutoCorrectionThreshold(final Resources resources, final String currentAutoCorrectionSetting) { final String[] autoCorrectionThresholdValues = resources.getStringArray( R.array.auto_correction_threshold_values); // When autoCorrectionThreshold is greater than 1.0, it's like auto correction is off. double autoCorrectionThreshold = Double.MAX_VALUE; float autoCorrectionThreshold = Float.MAX_VALUE; try { final int arrayIndex = Integer.valueOf(currentAutoCorrectionSetting); if (arrayIndex >= 0 && arrayIndex < autoCorrectionThresholdValues.length) { autoCorrectionThreshold = Double.parseDouble( autoCorrectionThreshold = Float.parseFloat( autoCorrectionThresholdValues[arrayIndex]); } } catch (NumberFormatException e) { // Whenever the threshold settings are correct, never come here. autoCorrectionThreshold = Double.MAX_VALUE; autoCorrectionThreshold = Float.MAX_VALUE; Log.w(TAG, "Cannot load auto correction threshold setting." + " currentAutoCorrectionSetting: " + currentAutoCorrectionSetting + ", autoCorrectionThresholdValues: " Loading
java/src/com/android/inputmethod/latin/Suggest.java +3 −3 Original line number Diff line number Diff line Loading @@ -77,7 +77,7 @@ public class Suggest implements Dictionary.WordCallback { private static final int PREF_MAX_BIGRAMS = 60; private double mAutoCorrectionThreshold; private float mAutoCorrectionThreshold; private ArrayList<SuggestedWordInfo> mSuggestions = new ArrayList<SuggestedWordInfo>(); private ArrayList<SuggestedWordInfo> mBigramSuggestions = new ArrayList<SuggestedWordInfo>(); Loading Loading @@ -185,7 +185,7 @@ public class Suggest implements Dictionary.WordCallback { userHistoryDictionary); } public void setAutoCorrectionThreshold(double threshold) { public void setAutoCorrectionThreshold(float threshold) { mAutoCorrectionThreshold = threshold; } Loading Loading @@ -416,7 +416,7 @@ public class Suggest implements Dictionary.WordCallback { // than i because we added the typed word to mSuggestions without touching mScores. for (int i = 0; i < suggestionsSize - 1; ++i) { final SuggestedWordInfo cur = suggestions.get(i + 1); final double normalizedScore = BinaryDictionary.calcNormalizedScore( final float normalizedScore = BinaryDictionary.calcNormalizedScore( typedWord, cur.toString(), cur.mScore); final String scoreInfoString; if (normalizedScore > 0) { Loading