Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/bitfireAT/ical4android.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRicki Hirner <hirner@bitfire.at>2022-09-18 14:45:25 +0300
committerGitHub <noreply@github.com>2022-09-18 14:45:25 +0300
commit819f46883e583bf8a54756bb53017d1d47b73fa7 (patch)
treea2989c776d9dc424dcd7b3325169df49127ac82f
parent73a3c70c3b4e62348efd882aad8798812db6ad37 (diff)
Fix color parsing for empty strings (see #62) (#63)
* Fix color parsing for empty strings * Use generic exception, add test Co-authored-by: Moritz Jordan <jomority@openotter.com>
-rw-r--r--src/androidTest/java/at/bitfire/ical4android/Css3ColorTest.kt3
-rw-r--r--src/main/java/at/bitfire/ical4android/Css3Color.kt4
2 files changed, 6 insertions, 1 deletions
diff --git a/src/androidTest/java/at/bitfire/ical4android/Css3ColorTest.kt b/src/androidTest/java/at/bitfire/ical4android/Css3ColorTest.kt
index b89dad8..04080b4 100644
--- a/src/androidTest/java/at/bitfire/ical4android/Css3ColorTest.kt
+++ b/src/androidTest/java/at/bitfire/ical4android/Css3ColorTest.kt
@@ -21,6 +21,9 @@ class Css3ColorTest {
// ARGB value
assertEquals(0xffffff00.toInt(), Css3Color.colorFromString("#ffffff00"))
+ // empty value
+ assertNull(Css3Color.colorFromString(""))
+
// invalid value
assertNull(Css3Color.colorFromString("DoesNotExist"))
}
diff --git a/src/main/java/at/bitfire/ical4android/Css3Color.kt b/src/main/java/at/bitfire/ical4android/Css3Color.kt
index f6190a0..8a5443f 100644
--- a/src/main/java/at/bitfire/ical4android/Css3Color.kt
+++ b/src/main/java/at/bitfire/ical4android/Css3Color.kt
@@ -176,7 +176,8 @@ enum class Css3Color(val argb: Int) {
fromString(color)?.argb ?:
try {
Color.parseColor(color)
- } catch(e: IllegalArgumentException) {
+ } catch(e: Exception) {
+ Ical4Android.log.warning("Invalid color value: $color")
null
}
@@ -190,6 +191,7 @@ enum class Css3Color(val argb: Int) {
try {
valueOf(name.lowercase())
} catch (e: IllegalArgumentException) {
+ Ical4Android.log.warning("Invalid color name: $name")
null
}