Check null before passing to Integer.parseInt
Just after user data is cleared, user preference associated with
PREF_KEYBOARD_LAYOUT is always empty. In such case, we might
want to return the default value immediately, rather than
calling Integer.parseInt(null) and catching NumberFormatException
unnecessarily.
BUG: 13472379
Change-Id: I8dca9a22780d057013c032bd1f56e730dcada3ce
diff --git a/java/src/com/android/inputmethod/latin/settings/Settings.java b/java/src/com/android/inputmethod/latin/settings/Settings.java
index 964bf22..1ba92ad 100644
--- a/java/src/com/android/inputmethod/latin/settings/Settings.java
+++ b/java/src/com/android/inputmethod/latin/settings/Settings.java
@@ -273,6 +273,9 @@
public static int readKeyboardThemeIndex(final SharedPreferences prefs, final Resources res) {
final int defaultThemeIndex = readDefaultKeyboardThemeIndex(res);
final String themeIndexString = prefs.getString(PREF_KEYBOARD_LAYOUT, null);
+ if (themeIndexString == null) {
+ return defaultThemeIndex;
+ }
try {
return Integer.parseInt(themeIndexString);
} catch (final NumberFormatException e) {