mirror of
https://gitlab.futo.org/keyboard/latinime.git
synced 2024-09-28 14:54:30 +01:00
Suppress exceptions that have always been happening.
Change-Id: I5f85a7a0f94ea9ecbe0c4a8caebcf551fa9c9669
This commit is contained in:
parent
6ec0cf12b8
commit
fba1bd0ec4
@ -103,7 +103,7 @@
|
||||
-->
|
||||
<string-array name="auto_correction_threshold_values" translatable="false">
|
||||
<!-- Off, When auto correction setting is Off, this value is not used. -->
|
||||
<item></item>
|
||||
<item>floatMaxValue</item>
|
||||
<!-- Modest : Suggestion whose normalized score is greater than this value
|
||||
will be subject to auto-correction. -->
|
||||
<item>0.185</item>
|
||||
|
@ -45,8 +45,9 @@ import java.util.Locale;
|
||||
*/
|
||||
public final class SettingsValues {
|
||||
private static final String TAG = SettingsValues.class.getSimpleName();
|
||||
// "floatNegativeInfinity" is a special marker string for Float.NEGATIVE_INFINITE
|
||||
// currently used for auto-correction
|
||||
// "floatMaxValue" and "floatNegativeInfinity" are special marker strings for
|
||||
// Float.NEGATIVE_INFINITE and Float.MAX_VALUE. Currently used for auto-correction settings.
|
||||
private static final String FLOAT_MAX_VALUE_MARKER_STRING = "floatMaxValue";
|
||||
private static final String FLOAT_NEGATIVE_INFINITY_MARKER_STRING = "floatNegativeInfinity";
|
||||
|
||||
// From resources:
|
||||
@ -343,24 +344,28 @@ public final class SettingsValues {
|
||||
final String[] autoCorrectionThresholdValues = res.getStringArray(
|
||||
R.array.auto_correction_threshold_values);
|
||||
// When autoCorrectionThreshold is greater than 1.0, it's like auto correction is off.
|
||||
float autoCorrectionThreshold = Float.MAX_VALUE;
|
||||
final float autoCorrectionThreshold;
|
||||
try {
|
||||
final int arrayIndex = Integer.valueOf(currentAutoCorrectionSetting);
|
||||
if (arrayIndex >= 0 && arrayIndex < autoCorrectionThresholdValues.length) {
|
||||
final String val = autoCorrectionThresholdValues[arrayIndex];
|
||||
if (FLOAT_NEGATIVE_INFINITY_MARKER_STRING.equals(val)) {
|
||||
if (FLOAT_MAX_VALUE_MARKER_STRING.equals(val)) {
|
||||
autoCorrectionThreshold = Float.MAX_VALUE;
|
||||
} else if (FLOAT_NEGATIVE_INFINITY_MARKER_STRING.equals(val)) {
|
||||
autoCorrectionThreshold = Float.NEGATIVE_INFINITY;
|
||||
} else {
|
||||
autoCorrectionThreshold = Float.parseFloat(val);
|
||||
}
|
||||
} else {
|
||||
autoCorrectionThreshold = Float.MAX_VALUE;
|
||||
}
|
||||
} catch (NumberFormatException e) {
|
||||
} catch (final NumberFormatException e) {
|
||||
// Whenever the threshold settings are correct, never come here.
|
||||
autoCorrectionThreshold = Float.MAX_VALUE;
|
||||
Log.w(TAG, "Cannot load auto correction threshold setting."
|
||||
+ " currentAutoCorrectionSetting: " + currentAutoCorrectionSetting
|
||||
+ ", autoCorrectionThresholdValues: "
|
||||
+ Arrays.toString(autoCorrectionThresholdValues), e);
|
||||
return Float.MAX_VALUE;
|
||||
}
|
||||
return autoCorrectionThreshold;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user