From 18e62f7b7efa69c6f4a3b0d7395b595ca9ef550d Mon Sep 17 00:00:00 2001 From: Patrick Lang <72232737+patrickunterwegs@users.noreply.github.com> Date: Fri, 16 Sep 2022 01:20:27 +0200 Subject: Replaced all "getAsBoolean(...)" by "getAsString(...) == "1" (#61) --- .../java/at/bitfire/ical4android/JtxICalObjectTest.kt | 12 +++++++----- src/main/java/at/bitfire/ical4android/JtxCollection.kt | 6 +++--- src/main/java/at/bitfire/ical4android/JtxICalObject.kt | 7 +++---- 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/src/androidTest/java/at/bitfire/ical4android/JtxICalObjectTest.kt b/src/androidTest/java/at/bitfire/ical4android/JtxICalObjectTest.kt index e0cb10a..2632e2a 100644 --- a/src/androidTest/java/at/bitfire/ical4android/JtxICalObjectTest.kt +++ b/src/androidTest/java/at/bitfire/ical4android/JtxICalObjectTest.kt @@ -109,7 +109,7 @@ class JtxICalObjectTest { this.dtstamp = System.currentTimeMillis() this.sequence = 1 this.color = -2298423 - this.dirty = false + this.dirty = true this.deleted = false this.fileName = "test.ics" this.eTag = "0" @@ -165,7 +165,6 @@ class JtxICalObjectTest { @Test fun check_SCHEDULETAG() = insertRetrieveAssertString(JtxICalObject.SCHEDULETAG, sample?.scheduleTag, Component.VJOURNAL.name) @Test fun check_FLAGS() = insertRetrieveAssertInt(JtxICalObject.FLAGS, sample?.flags, Component.VJOURNAL.name) - private fun insertRetrieveAssertString(field: String, fieldContent: String?, component: String) { assertNotNull(fieldContent) // fieldContent should not be null, check if the testcase was built correctly @@ -184,8 +183,9 @@ class JtxICalObjectTest { } } - private fun insertRetrieveAssertBoolean(field: String, fieldContent: Boolean?, component: String) { + private fun insertRetrieveAssertBoolean(field: String, fieldContent: Boolean?, component: String) { + // ATTENTION: getAsBoolean() should not be used as it would interpret "0" and "1" both as false for API-levels < 26 assertNotNull(fieldContent) // fieldContent should not be null, check if the testcase was built correctly val cv = ContentValues().apply { @@ -198,7 +198,9 @@ class JtxICalObjectTest { val itemCV = ContentValues() it.moveToFirst() DatabaseUtils.cursorRowToContentValues(it, itemCV) - assertEquals(fieldContent, itemCV.getAsBoolean(field)) + val retrievedFieldContent = itemCV.getAsString(field) + val retrievedFieldBoolean = retrievedFieldContent == "1" + assertEquals(fieldContent, retrievedFieldBoolean) } } @@ -381,7 +383,7 @@ class JtxICalObjectTest { assertEquals(attendee.member, retrievedAttendeeCV.getAsString(JtxContract.JtxAttendee.MEMBER)) assertEquals(attendee.partstat, retrievedAttendeeCV.getAsString(JtxContract.JtxAttendee.PARTSTAT)) assertEquals(attendee.role, retrievedAttendeeCV.getAsString(JtxContract.JtxAttendee.ROLE)) - assertEquals(attendee.rsvp, retrievedAttendeeCV.getAsBoolean(JtxContract.JtxAttendee.RSVP)) + assertEquals(attendee.rsvp, retrievedAttendeeCV.getAsString(JtxContract.JtxAttendee.RSVP) == "1") assertEquals(attendee.delegatedfrom, retrievedAttendeeCV.getAsString(JtxContract.JtxAttendee.DELEGATEDFROM)) assertEquals(attendee.delegatedto, retrievedAttendeeCV.getAsString(JtxContract.JtxAttendee.DELEGATEDTO)) assertEquals(attendee.sentby, retrievedAttendeeCV.getAsString(JtxContract.JtxAttendee.SENTBY)) diff --git a/src/main/java/at/bitfire/ical4android/JtxCollection.kt b/src/main/java/at/bitfire/ical4android/JtxCollection.kt index dc920be..60b3339 100644 --- a/src/main/java/at/bitfire/ical4android/JtxCollection.kt +++ b/src/main/java/at/bitfire/ical4android/JtxCollection.kt @@ -68,9 +68,9 @@ open class JtxCollection(val account: Account, displayname = values.getAsString(JtxContract.JtxCollection.DISPLAYNAME) syncstate = values.getAsString(JtxContract.JtxCollection.SYNC_VERSION) - supportsVEVENT = values.getAsBoolean(JtxContract.JtxCollection.SUPPORTSVEVENT) - supportsVTODO = values.getAsBoolean(JtxContract.JtxCollection.SUPPORTSVTODO) - supportsVJOURNAL = values.getAsBoolean(JtxContract.JtxCollection.SUPPORTSVJOURNAL) + supportsVEVENT = values.getAsString(JtxContract.JtxCollection.SUPPORTSVEVENT) == "1" + supportsVTODO = values.getAsString(JtxContract.JtxCollection.SUPPORTSVTODO) == "1" + supportsVJOURNAL = values.getAsString(JtxContract.JtxCollection.SUPPORTSVJOURNAL) == "1" this.context = context } diff --git a/src/main/java/at/bitfire/ical4android/JtxICalObject.kt b/src/main/java/at/bitfire/ical4android/JtxICalObject.kt index fd17ed9..43442d0 100644 --- a/src/main/java/at/bitfire/ical4android/JtxICalObject.kt +++ b/src/main/java/at/bitfire/ical4android/JtxICalObject.kt @@ -1428,8 +1428,8 @@ duration?.let(props::add) values.getAsString(JtxContract.JtxICalObject.RECURID)?.let { recurid -> this.recurid = recurid } this.collectionId = collection.id - values.getAsBoolean(JtxContract.JtxICalObject.DIRTY)?.let { dirty -> this.dirty = dirty } - values.getAsBoolean(JtxContract.JtxICalObject.DELETED)?.let { deleted -> this.deleted = deleted } + values.getAsString(JtxContract.JtxICalObject.DIRTY)?.let { dirty -> this.dirty = dirty == "1" } + values.getAsString(JtxContract.JtxICalObject.DELETED)?.let { deleted -> this.deleted = deleted == "1" } values.getAsString(JtxContract.JtxICalObject.FILENAME)?.let { fileName -> this.fileName = fileName } values.getAsString(JtxContract.JtxICalObject.ETAG)?.let { eTag -> this.eTag = eTag } @@ -1498,7 +1498,7 @@ duration?.let(props::add) attendeeValues.getAsString(JtxContract.JtxAttendee.MEMBER)?.let { member -> this.member = member } attendeeValues.getAsString(JtxContract.JtxAttendee.ROLE)?.let { role -> this.role = role } attendeeValues.getAsString(JtxContract.JtxAttendee.PARTSTAT)?.let { partstat -> this.partstat = partstat } - attendeeValues.getAsBoolean(JtxContract.JtxAttendee.RSVP)?.let { rsvp -> this.rsvp = rsvp } + attendeeValues.getAsString(JtxContract.JtxAttendee.RSVP)?.let { rsvp -> this.rsvp = rsvp == "1" } attendeeValues.getAsString(JtxContract.JtxAttendee.DELEGATEDTO)?.let { delto -> this.delegatedto = delto } attendeeValues.getAsString(JtxContract.JtxAttendee.DELEGATEDFROM)?.let { delfrom -> this.delegatedfrom = delfrom } attendeeValues.getAsString(JtxContract.JtxAttendee.SENTBY)?.let { sentby -> this.sentby = sentby } @@ -1506,7 +1506,6 @@ duration?.let(props::add) attendeeValues.getAsString(JtxContract.JtxAttendee.DIR)?.let { dir -> this.dir = dir } attendeeValues.getAsString(JtxContract.JtxAttendee.LANGUAGE)?.let { lang -> this.language = lang } attendeeValues.getAsString(JtxContract.JtxAttendee.OTHER)?.let { other -> this.other = other } - } attendees.add(attendee) } -- cgit v1.2.3