@@ -9,12 +9,13 @@ package at.bitfire.synctools.storage.calendar
99import android.Manifest
1010import android.accounts.Account
1111import android.content.ContentProviderClient
12+ import android.content.ContentUris
1213import android.os.Build
1314import android.provider.CalendarContract
1415import androidx.test.platform.app.InstrumentationRegistry
1516import androidx.test.rule.GrantPermissionRule
16- import at.bitfire.ical4android.AndroidEvent
1717import at.bitfire.ical4android.Event
18+ import at.bitfire.ical4android.LegacyAndroidCalendar
1819import at.bitfire.ical4android.impl.TestCalendar
1920import at.bitfire.ical4android.util.MiscUtils.closeCompat
2021import 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