@@ -10,7 +10,6 @@ import android.Manifest
1010import android.accounts.Account
1111import android.content.ContentProviderClient
1212import android.content.Entity
13- import android.os.Build
1413import android.provider.CalendarContract
1514import android.provider.CalendarContract.Calendars
1615import android.provider.CalendarContract.Events
@@ -53,8 +52,7 @@ class InitCalendarProviderRule private constructor() : ExternalResource() {
5352 override fun before () {
5453 if (! isInitialized) {
5554 logger.info(" Initializing calendar provider" )
56- if (Build .VERSION .SDK_INT < 31 )
57- logger.warning(" Calendar provider initialization may or may not work. See InitCalendarProviderRule" )
55+ logger.warning(" Calendar provider initialization may or may not work. See InitCalendarProviderRule" )
5856
5957 val context = InstrumentationRegistry .getInstrumentation().targetContext
6058 val client = context.contentResolver.acquireContentProviderClient(CalendarContract .AUTHORITY )
@@ -84,18 +82,25 @@ class InitCalendarProviderRule private constructor() : ExternalResource() {
8482 val normalLocalEventId = calendar.addEvent(Entity (contentValuesOf(
8583 Events .CALENDAR_ID to calendar.id,
8684 Events .DTSTART to 1752075270000 ,
85+ Events .DURATION to " PT1H" ,
8786 Events .TITLE to " Event with 1 instance"
8887 )))
8988 calendar.numInstances(normalLocalEventId)
9089
9190 // recurring event init
9291 val recurringEventId = calendar.addEvent(Entity (contentValuesOf(
9392 Events .CALENDAR_ID to calendar.id,
94- Events .DTSTART to 1752075410000 ,
93+ Events .DTSTART to 1752075410000 , // Wed Jul 09 2025 15:36:50 GMT
94+ Events .DURATION to " PT1H" ,
9595 Events .TITLE to " Event over 22 years" ,
9696 Events .RRULE to " FREQ=YEARLY;UNTIL=20740119T010203Z"
9797 )))
98- calendar.numInstances(recurringEventId)
98+ calendar.numInstances(recurringEventId) // 49
99+
100+ calendar.client.update(CalendarContract .CalendarCache .URI , contentValuesOf(
101+ CalendarContract .CalendarCache .KEY to CalendarContract .CalendarCache .KEY_TIMEZONE_TYPE ,
102+ CalendarContract .CalendarCache .VALUE to CalendarContract .CalendarCache .TIMEZONE_TYPE_AUTO ,
103+ )," ${CalendarContract .CalendarCache .KEY } =?" , arrayOf(CalendarContract .CalendarCache .KEY_TIMEZONE_TYPE ))
99104 } finally {
100105 calendar.delete()
101106 }
0 commit comments