Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Unverified Commit 9c970b59 authored by Arnau Mora's avatar Arnau Mora Committed by GitHub
Browse files

72 tasks add tasks app package to prodid (#73)



* Moved `userAgents` declaration to `ICalendar`

Signed-off-by: default avatarArnau Mora <arnyminer.z@gmail.com>

* Moved `PRODID` generation to `ICalendar`

Signed-off-by: default avatarArnau Mora <arnyminer.z@gmail.com>

* Loading `userAgents` from `populateTask` from `taskList.provider`

Signed-off-by: default avatarArnau Mora <arnyminer.z@gmail.com>

* Added companion `prodId(List<String>)`

Signed-off-by: default avatarArnau Mora <arnyminer.z@gmail.com>

* Using new `ICalendar.prodId()`

Signed-off-by: default avatarArnau Mora <arnyminer.z@gmail.com>

* Added jtx package name

Signed-off-by: default avatarArnau Mora <arnyminer.z@gmail.com>

* Updated `testWrite` with the proper `prodId` of the task

Signed-off-by: default avatarArnau Mora <arnyminer.z@gmail.com>

* Use jtx Board package name constant

Signed-off-by: default avatarArnau Mora <arnyminer.z@gmail.com>
Co-authored-by: default avatarRicki Hirner <hirner@bitfire.at>
parent 6d87d43f
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -191,7 +191,7 @@ class TaskTest {
        t.write(os)
        val raw = os.toString(Charsets.UTF_8.name())

        assertTrue(raw.contains("PRODID:${ICalendar.prodId.value}"))
        assertTrue(raw.contains("PRODID:${t.prodId().value}"))
        assertTrue(raw.contains("UID:SAMPLEUID"))
        assertTrue(raw.contains("DTSTAMP:"))
        assertTrue(raw.contains("DTSTART;TZID=Europe/Berlin:20190101T100000"))
+1 −0
Original line number Diff line number Diff line
@@ -140,6 +140,7 @@ abstract class AndroidTask(
        task.sequence = values.getAsInteger(Tasks.SYNC_VERSION)
        task.summary = values.getAsString(Tasks.TITLE)
        task.location = values.getAsString(Tasks.LOCATION)
        task.userAgents += taskList.provider.name.packageName

        values.getAsString(Tasks.GEO)?.let { geo ->
            val (lng, lat) = geo.split(',')
+1 −8
Original line number Diff line number Diff line
@@ -24,9 +24,6 @@ import java.util.*

class Event: ICalendar() {

    /** list of CUAs which have edited the event since last sync */
    var userAgents = LinkedList<String>()

    // uid and sequence are inherited from iCalendar
    var recurrenceId: RecurrenceId? = null

@@ -209,11 +206,7 @@ class Event: ICalendar() {

        val ical = Calendar()
        ical.properties += Version.VERSION_2_0
        ical.properties +=
                if (userAgents.isEmpty())
                    prodId
                else
                    ProdId(prodId.value + " (" + userAgents.joinToString(",") + ")")
        ical.properties += prodId()

        val dtStart = dtStart ?: throw InvalidCalendarException("Won't generate event without start time")

+10 −0
Original line number Diff line number Diff line
@@ -29,6 +29,9 @@ open class ICalendar {
    var uid: String? = null
    var sequence: Int? = null

    /** list of CUAs which have edited the event since last sync */
    var userAgents = LinkedList<String>()

    companion object {

        // static ical4j initialization
@@ -54,6 +57,11 @@ open class ICalendar {
         */
        var prodId = ProdId("+//IDN bitfire.at//ical4android")

        fun prodId(userAgents: List<String>): ProdId =
            if (userAgents.isEmpty())
                prodId
            else
                ProdId(prodId.value + " (" + userAgents.joinToString(",") + ")")

        // parser

@@ -358,6 +366,8 @@ open class ICalendar {
        uid = UUID.randomUUID().toString()
    }

    fun prodId(): ProdId = prodId(userAgents)

    override fun toString() = MiscUtils.reflectionToString(this)

}
 No newline at end of file
+1 −1
Original line number Diff line number Diff line
@@ -548,7 +548,7 @@ open class JtxICalObject(

        val ical = Calendar()
        ical.properties += Version.VERSION_2_0
        ical.properties += ICalendar.prodId
        ical.properties += ICalendar.prodId(listOf(TaskProvider.ProviderName.JtxBoard.packageName))

        val calComponent = when (component) {
            JtxContract.JtxICalObject.Component.VTODO.name -> VToDo(true /* generates DTSTAMP */)
Loading