Loading src/androidTest/java/at/bitfire/ical4android/JtxICalObjectTest.kt +7 −5 Original line number Diff line number Diff line Loading @@ -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" Loading Loading @@ -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 Loading @@ -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 { Loading @@ -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) } } Loading Loading @@ -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)) Loading src/main/java/at/bitfire/ical4android/JtxCollection.kt +3 −3 Original line number Diff line number Diff line Loading @@ -68,9 +68,9 @@ open class JtxCollection<out T: JtxICalObject>(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 } Loading src/main/java/at/bitfire/ical4android/JtxICalObject.kt +3 −4 Original line number Diff line number Diff line Loading @@ -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 } Loading Loading @@ -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 } Loading @@ -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) } Loading Loading
src/androidTest/java/at/bitfire/ical4android/JtxICalObjectTest.kt +7 −5 Original line number Diff line number Diff line Loading @@ -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" Loading Loading @@ -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 Loading @@ -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 { Loading @@ -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) } } Loading Loading @@ -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)) Loading
src/main/java/at/bitfire/ical4android/JtxCollection.kt +3 −3 Original line number Diff line number Diff line Loading @@ -68,9 +68,9 @@ open class JtxCollection<out T: JtxICalObject>(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 } Loading
src/main/java/at/bitfire/ical4android/JtxICalObject.kt +3 −4 Original line number Diff line number Diff line Loading @@ -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 } Loading Loading @@ -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 } Loading @@ -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) } Loading