From 9fdd409fc1525e7f287b1f1a9942cf4982ad01c2 Mon Sep 17 00:00:00 2001 From: Alex Baker Date: Mon, 4 Jan 2021 14:23:08 -0600 Subject: [PATCH] Catch errors for invalid preference values --- .../java/org/tasks/preferences/Preferences.kt | 25 ++++++++----------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/app/src/main/java/org/tasks/preferences/Preferences.kt b/app/src/main/java/org/tasks/preferences/Preferences.kt index 84da9e25c..61f81eb5d 100644 --- a/app/src/main/java/org/tasks/preferences/Preferences.kt +++ b/app/src/main/java/org/tasks/preferences/Preferences.kt @@ -184,10 +184,14 @@ class Preferences @JvmOverloads constructor( setDefaults() } - fun getStringValue(key: String?): String? = prefs.getString(key, null) + fun getStringValue(keyResource: Int): String? = getStringValue(context.getString(keyResource)) - fun getStringValue(keyResource: Int): String? = - prefs.getString(context.getString(keyResource), null) + fun getStringValue(key: String?): String? = try { + prefs.getString(key, null) + } catch (e: Exception) { + Timber.e(e) + null + } val defaultReminders: Int get() = getIntegerFromString( @@ -199,18 +203,11 @@ class Preferences @JvmOverloads constructor( val fontSize: Int get() = getInt(R.string.p_fontSize, 16) - fun getIntegerFromString(keyResource: Int, defaultValue: Int): Int { - return getIntegerFromString(context.getString(keyResource), defaultValue) - } + fun getIntegerFromString(keyResource: Int, defaultValue: Int): Int = + getIntegerFromString(context.getString(keyResource), defaultValue) - fun getIntegerFromString(keyResource: String?, defaultValue: Int): Int { - return try { - prefs.getString(keyResource, null)?.toInt() ?: return defaultValue - } catch (e: Exception) { - Timber.e(e) - defaultValue - } - } + fun getIntegerFromString(keyResource: String?, defaultValue: Int): Int = + getStringValue(keyResource)?.toIntOrNull() ?: defaultValue private fun getUri(key: Int): Uri? { val uri = getStringValue(key)