From bd9887a57485c602e66a8f0eaebe40313ffa89cd Mon Sep 17 00:00:00 2001 From: "Tadashi G. Takaoka" Date: Mon, 10 Feb 2014 12:54:45 +0900 Subject: Fix possible NPE while finding device override value from resource Bug: 12949735 Change-Id: Iffda08db413b3b3d338ab9bf625bb0968c2e48dd --- .../com/android/inputmethod/latin/settings/Settings.java | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'java/src/com/android/inputmethod/latin/settings/Settings.java') diff --git a/java/src/com/android/inputmethod/latin/settings/Settings.java b/java/src/com/android/inputmethod/latin/settings/Settings.java index f0f7de7d4..45c5b733f 100644 --- a/java/src/com/android/inputmethod/latin/settings/Settings.java +++ b/java/src/com/android/inputmethod/latin/settings/Settings.java @@ -310,9 +310,13 @@ public final class Settings implements SharedPreferences.OnSharedPreferenceChang : readDefaultKeypressSoundVolume(res); } + // Default keypress sound volume for unknown devices. + // The negative value means system default. + private static final String DEFAULT_KEYPRESS_SOUND_VOLUME = Float.toString(-1.0f); + public static float readDefaultKeypressSoundVolume(final Resources res) { - return Float.parseFloat( - ResourceUtils.getDeviceOverrideValue(res, R.array.keypress_volumes)); + return Float.parseFloat(ResourceUtils.getDeviceOverrideValue(res, + R.array.keypress_volumes, DEFAULT_KEYPRESS_SOUND_VOLUME)); } public static int readKeyLongpressTimeout(final SharedPreferences prefs, @@ -335,9 +339,13 @@ public final class Settings implements SharedPreferences.OnSharedPreferenceChang : readDefaultKeypressVibrationDuration(res); } + // Default keypress vibration duration for unknown devices. + // The negative value means system default. + private static final String DEFAULT_KEYPRESS_VIBRATION_DURATION = Integer.toString(-1); + public static int readDefaultKeypressVibrationDuration(final Resources res) { - return Integer.parseInt( - ResourceUtils.getDeviceOverrideValue(res, R.array.keypress_vibration_durations)); + return Integer.parseInt(ResourceUtils.getDeviceOverrideValue(res, + R.array.keypress_vibration_durations, DEFAULT_KEYPRESS_VIBRATION_DURATION)); } public static boolean readUsabilityStudyMode(final SharedPreferences prefs) { -- cgit v1.2.3-83-g751a