Skip to content

Commit df873d2

Browse files
committed
AndroidEvent: move add() to LegacyAndroidCalendar
1 parent ead97a8 commit df873d2

File tree

8 files changed

+113
-127
lines changed

8 files changed

+113
-127
lines changed

lib/src/androidTest/kotlin/at/bitfire/ical4android/AndroidEventTest.kt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ class AndroidEventTest {
9090
event.dtStart = DtStart("20150502T120000Z")
9191
event.dtEnd = DtEnd("20150502T130000Z")
9292
event.organizer = Organizer(URI("mailto:organizer@example.com"))
93-
val uri = AndroidEvent(calendar, event, "update-event").add()
93+
val uri = LegacyAndroidCalendar(calendar).add(event)
9494

9595
// update test event in calendar
9696
val testEvent = calendar.getLegacyEvent(ContentUris.parseId(uri))!!
@@ -124,7 +124,7 @@ class AndroidEventTest {
124124
dtStart = DtStart(DateTime())
125125
color = Css3Color.silver
126126
}
127-
val uri = AndroidEvent(calendar, event, "reset-color").add()
127+
val uri = LegacyAndroidCalendar(calendar).add(event)
128128
val id = ContentUris.parseId(uri)
129129

130130
// verify that it has color
@@ -147,7 +147,7 @@ class AndroidEventTest {
147147
event.summary = "Sample event with STATUS"
148148
event.dtStart = DtStart("20150502T120000Z")
149149
event.dtEnd = DtEnd("20150502T130000Z")
150-
val uri = AndroidEvent(calendar, event, "update-status-from-null").add()
150+
val uri = LegacyAndroidCalendar(calendar).add(event)
151151

152152
// update test event in calendar
153153
val testEvent = calendar.getLegacyEvent(ContentUris.parseId(uri))!!
@@ -177,7 +177,7 @@ class AndroidEventTest {
177177
event.dtStart = DtStart("20150502T120000Z")
178178
event.dtEnd = DtEnd("20150502T130000Z")
179179
event.status = Status.VEVENT_CONFIRMED
180-
val uri = AndroidEvent(calendar, event, "update-status-to-null").add()
180+
val uri = LegacyAndroidCalendar(calendar).add(event)
181181

182182
// update test event in calendar
183183
val testEvent = calendar.getLegacyEvent(ContentUris.parseId(uri))!!
@@ -209,7 +209,7 @@ class AndroidEventTest {
209209
event.dtEnd = DtEnd("20150502T130000Z")
210210
for (i in 0 until 20)
211211
event.attendees += Attendee(URI("mailto:att$i@example.com"))
212-
val uri = AndroidEvent(calendar, event, "transaction").add()
212+
val uri = LegacyAndroidCalendar(calendar).add(event)
213213

214214
val testEvent = calendar.getLegacyEvent(ContentUris.parseId(uri))!!
215215
try {

lib/src/androidTest/kotlin/at/bitfire/synctools/mapping/calendar/LegacyAndroidEventBuilderTest.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ import android.provider.CalendarContract.Events
1616
import android.provider.CalendarContract.ExtendedProperties
1717
import android.provider.CalendarContract.Reminders
1818
import androidx.test.platform.app.InstrumentationRegistry.getInstrumentation
19-
import at.bitfire.ical4android.AndroidEvent
2019
import at.bitfire.ical4android.Event
20+
import at.bitfire.ical4android.LegacyAndroidCalendar
2121
import at.bitfire.ical4android.UnknownProperty
2222
import at.bitfire.ical4android.impl.TestCalendar
2323
import at.bitfire.ical4android.util.AndroidTimeUtils
@@ -134,7 +134,7 @@ class LegacyAndroidEventBuilderTest {
134134
eventBuilder()
135135
}
136136
// write event with random file name/sync_id
137-
val uri = AndroidEvent(calendar, event, syncId = UUID.randomUUID().toString()).add()
137+
val uri = LegacyAndroidCalendar(calendar).add(event, syncId = UUID.randomUUID().toString())
138138
client.query(uri, null, null, null, null)!!.use { cursor ->
139139
cursor.moveToNext()
140140
return cursor.toContentValues()

lib/src/androidTest/kotlin/at/bitfire/synctools/storage/calendar/AndroidCalendarProviderTest.kt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ import android.provider.CalendarContract.Calendars
1515
import androidx.core.content.contentValuesOf
1616
import androidx.test.platform.app.InstrumentationRegistry
1717
import androidx.test.rule.GrantPermissionRule
18-
import at.bitfire.ical4android.AndroidEvent
1918
import at.bitfire.ical4android.Event
19+
import at.bitfire.ical4android.LegacyAndroidCalendar
2020
import at.bitfire.ical4android.impl.TestCalendar
2121
import at.bitfire.ical4android.util.MiscUtils.closeCompat
2222
import at.bitfire.synctools.icalendar.Css3Color
@@ -89,12 +89,13 @@ class AndroidCalendarProviderTest {
8989
val cal = TestCalendar.findOrCreate(testAccount, client)
9090
try {
9191
// add event with color
92-
AndroidEvent(cal, Event().apply {
92+
val event = Event().apply {
9393
dtStart = DtStart("20210314T204200Z")
9494
dtEnd = DtEnd("20210314T204230Z")
9595
color = Css3Color.limegreen
9696
summary = "Test event with color"
97-
}, "remove-colors").add()
97+
}
98+
LegacyAndroidCalendar(cal).add(event)
9899

99100
provider.removeColorIndices()
100101
assertEquals(0, countColors())

lib/src/androidTest/kotlin/at/bitfire/synctools/storage/calendar/AndroidCalendarTest.kt

Lines changed: 31 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,13 @@ package at.bitfire.synctools.storage.calendar
99
import android.Manifest
1010
import android.accounts.Account
1111
import android.content.ContentProviderClient
12+
import android.content.ContentUris
1213
import android.os.Build
1314
import android.provider.CalendarContract
1415
import androidx.test.platform.app.InstrumentationRegistry
1516
import androidx.test.rule.GrantPermissionRule
16-
import at.bitfire.ical4android.AndroidEvent
1717
import at.bitfire.ical4android.Event
18+
import at.bitfire.ical4android.LegacyAndroidCalendar
1819
import at.bitfire.ical4android.impl.TestCalendar
1920
import at.bitfire.ical4android.util.MiscUtils.closeCompat
2021
import net.fortuna.ical4j.model.Date
@@ -71,10 +72,9 @@ class AndroidCalendarTest {
7172
dtStart = DtStart("20220120T010203Z")
7273
summary = "Event with 1 instance"
7374
}
74-
val localEvent = AndroidEvent(calendar, event, null, null, null, 0)
75-
localEvent.add()
75+
val uri = LegacyAndroidCalendar(calendar).add(event)
7676

77-
assertEquals(1, calendar.numDirectInstances(localEvent.id!!))
77+
assertEquals(1, calendar.numDirectInstances(ContentUris.parseId(uri)))
7878
}
7979

8080
@Test
@@ -84,10 +84,9 @@ class AndroidCalendarTest {
8484
summary = "Event with 5 instances"
8585
rRules.add(RRule("FREQ=DAILY;COUNT=5"))
8686
}
87-
val localEvent = AndroidEvent(calendar, event, null, null, null, 0)
88-
localEvent.add()
87+
val uri = LegacyAndroidCalendar(calendar).add(event)
8988

90-
assertEquals(5, calendar.numDirectInstances(localEvent.id!!))
89+
assertEquals(5, calendar.numDirectInstances(ContentUris.parseId(uri)))
9190
}
9291

9392
@Test
@@ -97,10 +96,9 @@ class AndroidCalendarTest {
9796
summary = "Event without end"
9897
rRules.add(RRule("FREQ=DAILY"))
9998
}
100-
val localEvent = AndroidEvent(calendar, event, null, null, null, 0)
101-
localEvent.add()
99+
val uri = LegacyAndroidCalendar(calendar).add(event)
102100

103-
assertNull(calendar.numDirectInstances(localEvent.id!!))
101+
assertNull(calendar.numDirectInstances(ContentUris.parseId(uri)))
104102
}
105103

106104
@Test
@@ -110,13 +108,12 @@ class AndroidCalendarTest {
110108
summary = "Event with 53 years"
111109
rRules.add(RRule("FREQ=YEARLY;UNTIL=20740119T010203Z")) // year 2074 is not supported by Android <11 Calendar Storage
112110
}
113-
val localEvent = AndroidEvent(calendar, event, null, null, null, 0)
114-
localEvent.add()
111+
val uri = LegacyAndroidCalendar(calendar).add(event)
115112

116113
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R)
117-
assertEquals(52, calendar.numDirectInstances(localEvent.id!!))
114+
assertEquals(52, calendar.numDirectInstances(ContentUris.parseId(uri)))
118115
else
119-
assertNull(calendar.numDirectInstances(localEvent.id!!))
116+
assertNull(calendar.numDirectInstances(ContentUris.parseId(uri)))
120117
}
121118

122119
@Test
@@ -126,9 +123,8 @@ class AndroidCalendarTest {
126123
summary = "Event with 2 years"
127124
rRules.add(RRule("FREQ=DAILY;UNTIL=20240120T010203Z"))
128125
}
129-
val localEvent = AndroidEvent(calendar, event, null, null, null, 0)
130-
localEvent.add()
131-
val number = calendar.numDirectInstances(localEvent.id!!)
126+
val uri = LegacyAndroidCalendar(calendar).add(event)
127+
val number = calendar.numDirectInstances(ContentUris.parseId(uri))
132128

133129
// Some android versions (i.e. <=Q and S) return 365*2 instances (wrong, 365*2+1 => correct),
134130
// but we are satisfied with either result for now
@@ -143,10 +139,9 @@ class AndroidCalendarTest {
143139
rRules.add(RRule("FREQ=DAILY;COUNT=5"))
144140
exDates.add(ExDate(DateList("20220121T010203Z", Value.DATE_TIME)))
145141
}
146-
val localEvent = AndroidEvent(calendar, event, null, null, null, 0)
147-
localEvent.add()
142+
val uri = LegacyAndroidCalendar(calendar).add(event)
148143

149-
assertEquals(4, calendar.numDirectInstances(localEvent.id!!))
144+
assertEquals(4, calendar.numDirectInstances(ContentUris.parseId(uri)))
150145
}
151146

152147
@Test
@@ -166,10 +161,9 @@ class AndroidCalendarTest {
166161
summary = "Exception on 5th day"
167162
})
168163
}
169-
val localEvent = AndroidEvent(calendar, event, "filename.ics", null, null, 0)
170-
localEvent.add()
164+
val uri = LegacyAndroidCalendar(calendar).add(event, syncId = "filename.ics")
171165

172-
assertEquals(5 - 2, calendar.numDirectInstances(localEvent.id!!))
166+
assertEquals(5 - 2, calendar.numDirectInstances(ContentUris.parseId(uri)))
173167
}
174168

175169

@@ -179,10 +173,9 @@ class AndroidCalendarTest {
179173
dtStart = DtStart("20220120T010203Z")
180174
summary = "Event with 1 instance"
181175
}
182-
val localEvent = AndroidEvent(calendar, event, null, null, null, 0)
183-
localEvent.add()
176+
val uri = LegacyAndroidCalendar(calendar).add(event)
184177

185-
assertEquals(1, calendar.numInstances(localEvent.id!!))
178+
assertEquals(1, calendar.numInstances(ContentUris.parseId(uri)))
186179
}
187180

188181
@Test
@@ -192,10 +185,9 @@ class AndroidCalendarTest {
192185
summary = "Event with 5 instances"
193186
rRules.add(RRule("FREQ=DAILY;COUNT=5"))
194187
}
195-
val localEvent = AndroidEvent(calendar, event, null, null, null, 0)
196-
localEvent.add()
188+
val uri = LegacyAndroidCalendar(calendar).add(event)
197189

198-
assertEquals(5, calendar.numInstances(localEvent.id!!))
190+
assertEquals(5, calendar.numInstances(ContentUris.parseId(uri)))
199191
}
200192

201193
@Test
@@ -205,10 +197,9 @@ class AndroidCalendarTest {
205197
summary = "Event with infinite instances"
206198
rRules.add(RRule("FREQ=YEARLY"))
207199
}
208-
val localEvent = AndroidEvent(calendar, event, null, null, null, 0)
209-
localEvent.add()
200+
val uri = LegacyAndroidCalendar(calendar).add(event)
210201

211-
assertNull(calendar.numInstances(localEvent.id!!))
202+
assertNull(calendar.numInstances(ContentUris.parseId(uri)))
212203
}
213204

214205
@Test
@@ -218,13 +209,12 @@ class AndroidCalendarTest {
218209
summary = "Event over 22 years"
219210
rRules.add(RRule("FREQ=YEARLY;UNTIL=20740119T010203Z")) // year 2074 not supported by Android <11 Calendar Storage
220211
}
221-
val localEvent = AndroidEvent(calendar, event, null, null, null, 0)
222-
localEvent.add()
212+
val uri = LegacyAndroidCalendar(calendar).add(event)
223213

224214
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R)
225-
assertEquals(52, calendar.numInstances(localEvent.id!!))
215+
assertEquals(52, calendar.numInstances(ContentUris.parseId(uri)))
226216
else
227-
assertNull(calendar.numInstances(localEvent.id!!))
217+
assertNull(calendar.numInstances(ContentUris.parseId(uri)))
228218
}
229219

230220
@Test
@@ -234,15 +224,14 @@ class AndroidCalendarTest {
234224
summary = "Event over two years"
235225
rRules.add(RRule("FREQ=DAILY;UNTIL=20240120T010203Z"))
236226
}
237-
val localEvent = AndroidEvent(calendar, event, null, null, null, 0)
238-
localEvent.add()
227+
val uri = LegacyAndroidCalendar(calendar).add(event)
239228

240229
assertEquals(
241230
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.P)
242231
365 * 2 // Android <9: does not include UNTIL (incorrect!)
243232
else
244233
365 * 2 + 1, // Android ≥9: includes UNTIL (correct)
245-
calendar.numInstances(localEvent.id!!)
234+
calendar.numInstances(ContentUris.parseId(uri))
246235
)
247236
}
248237

@@ -263,12 +252,11 @@ class AndroidCalendarTest {
263252
summary = "Exception on 5th day"
264253
})
265254
}
266-
val localEvent = AndroidEvent(calendar, event, "filename.ics", null, null, 0)
267-
localEvent.add()
255+
val uri = LegacyAndroidCalendar(calendar).add(event, syncId = "filename.ics")
268256

269-
calendar.getEvent(localEvent.id!!)!!
257+
calendar.getEvent(ContentUris.parseId(uri))!!
270258

271-
assertEquals(6, calendar.numInstances(localEvent.id!!))
259+
assertEquals(6, calendar.numInstances(ContentUris.parseId(uri)))
272260
}
273261

274262
}

0 commit comments

Comments
 (0)