diff --git a/lib/src/androidTest/kotlin/at/bitfire/ical4android/AndroidCalendarTest.kt b/lib/src/androidTest/kotlin/at/bitfire/ical4android/AndroidCalendarTest.kt index e3180c01..bff644be 100644 --- a/lib/src/androidTest/kotlin/at/bitfire/ical4android/AndroidCalendarTest.kt +++ b/lib/src/androidTest/kotlin/at/bitfire/ical4android/AndroidCalendarTest.kt @@ -79,7 +79,7 @@ class AndroidCalendarTest { assertNotNull(uri) // query calendar - val calendar = AndroidCalendar.findByID(testAccount, provider, TestCalendar.Factory, ContentUris.parseId(uri)) + val calendar = AndroidCalendar.findByID(testAccount, provider, ContentUris.parseId(uri)) assertNotNull(calendar) // delete calendar diff --git a/lib/src/androidTest/kotlin/at/bitfire/ical4android/AndroidEventTest.kt b/lib/src/androidTest/kotlin/at/bitfire/ical4android/AndroidEventTest.kt index cd393a90..e7e00e05 100644 --- a/lib/src/androidTest/kotlin/at/bitfire/ical4android/AndroidEventTest.kt +++ b/lib/src/androidTest/kotlin/at/bitfire/ical4android/AndroidEventTest.kt @@ -101,7 +101,7 @@ class AndroidEventTest { private val tzDefault = DateUtils.ical4jTimeZone(tzIdDefault) private lateinit var calendarUri: Uri - private lateinit var calendar: TestCalendar + private lateinit var calendar: AndroidCalendar @Before fun prepare() { @@ -1439,7 +1439,7 @@ class AndroidEventTest { private fun populateAndroidEvent( automaticDates: Boolean, - destinationCalendar: TestCalendar = calendar, + destinationCalendar: AndroidCalendar = calendar, asSyncAdapter: Boolean = false, insertCallback: (id: Long) -> Unit = {}, extendedProperties: Map = emptyMap(), @@ -1481,7 +1481,7 @@ class AndroidEventTest { private fun populateEvent( automaticDates: Boolean, - destinationCalendar: TestCalendar = calendar, + destinationCalendar: AndroidCalendar = calendar, asSyncAdapter: Boolean = false, insertCallback: (id: Long) -> Unit = {}, extendedProperties: Map = emptyMap(), @@ -1943,7 +1943,7 @@ class AndroidEventTest { } - private fun populateReminder(destinationCalendar: TestCalendar = calendar, builder: ContentValues.() -> Unit): VAlarm? { + private fun populateReminder(destinationCalendar: AndroidCalendar = calendar, builder: ContentValues.() -> Unit): VAlarm? { populateEvent(true, destinationCalendar = destinationCalendar, insertCallback = { id -> val reminderValues = ContentValues() reminderValues.put(Reminders.EVENT_ID, id) diff --git a/lib/src/androidTest/kotlin/at/bitfire/ical4android/impl/TestCalendar.kt b/lib/src/androidTest/kotlin/at/bitfire/ical4android/impl/TestCalendar.kt index 6cb6864d..23e7cb77 100644 --- a/lib/src/androidTest/kotlin/at/bitfire/ical4android/impl/TestCalendar.kt +++ b/lib/src/androidTest/kotlin/at/bitfire/ical4android/impl/TestCalendar.kt @@ -12,34 +12,21 @@ import android.content.ContentUris import android.content.ContentValues import android.provider.CalendarContract import at.bitfire.ical4android.AndroidCalendar -import at.bitfire.ical4android.AndroidCalendarFactory -class TestCalendar( - account: Account, - providerClient: ContentProviderClient, - id: Long -) : AndroidCalendar(account, providerClient, id) { +object TestCalendar { - companion object { - fun findOrCreate(account: Account, provider: ContentProviderClient): TestCalendar { - val calendars = AndroidCalendar.find(account, provider, Factory, null, null) - return if (calendars.isEmpty()) { - val values = ContentValues(3) - values.put(CalendarContract.Calendars.NAME, "TestCalendar") - values.put(CalendarContract.Calendars.CALENDAR_DISPLAY_NAME, "ical4android Test Calendar") - values.put(CalendarContract.Calendars.ALLOWED_REMINDERS, CalendarContract.Reminders.METHOD_DEFAULT) - val uri = AndroidCalendar.create(account, provider, values) + fun findOrCreate(account: Account, provider: ContentProviderClient): AndroidCalendar { + val calendars = AndroidCalendar.find(account, provider, null, null) + return if (calendars.isEmpty()) { + val values = ContentValues(3) + values.put(CalendarContract.Calendars.NAME, "TestCalendar") + values.put(CalendarContract.Calendars.CALENDAR_DISPLAY_NAME, "ical4android Test Calendar") + values.put(CalendarContract.Calendars.ALLOWED_REMINDERS, CalendarContract.Reminders.METHOD_DEFAULT) + val uri = AndroidCalendar.create(account, provider, values) - TestCalendar(account, provider, ContentUris.parseId(uri)) - } else - calendars.first() - } + AndroidCalendar(account, provider, ContentUris.parseId(uri)) + } else + calendars.first() } - - object Factory: AndroidCalendarFactory { - override fun newInstance(account: Account, provider: ContentProviderClient, id: Long) = - TestCalendar(account, provider, id) - } - -} +} \ No newline at end of file diff --git a/lib/src/main/kotlin/at/bitfire/ical4android/AndroidCalendar.kt b/lib/src/main/kotlin/at/bitfire/ical4android/AndroidCalendar.kt index 77753a08..c421637f 100644 --- a/lib/src/main/kotlin/at/bitfire/ical4android/AndroidCalendar.kt +++ b/lib/src/main/kotlin/at/bitfire/ical4android/AndroidCalendar.kt @@ -31,7 +31,7 @@ import java.util.logging.Logger * Communicates with the Android Contacts Provider which uses an SQLite * database to store the events. */ -open class AndroidCalendar( +class AndroidCalendar( val account: Account, val provider: ContentProviderClient, @@ -215,19 +215,18 @@ open class AndroidCalendar( provider.delete(Colors.CONTENT_URI.asSyncAdapter(account), null, null) } - fun findByID( + fun findByID( account: Account, provider: ContentProviderClient, - factory: AndroidCalendarFactory, id: Long - ): T { + ): AndroidCalendar { val iterCalendars = CalendarEntity.newEntityIterator( provider.query(ContentUris.withAppendedId(CalendarEntity.CONTENT_URI, id).asSyncAdapter(account), null, null, null, null) ) try { if (iterCalendars.hasNext()) { val values = iterCalendars.next().entityValues - val calendar = factory.newInstance(account, provider, id) + val calendar = AndroidCalendar(account, provider, id) calendar.populate(values) return calendar } @@ -237,21 +236,20 @@ open class AndroidCalendar( throw FileNotFoundException() } - fun find( + fun find( account: Account, provider: ContentProviderClient, - factory: AndroidCalendarFactory, where: String?, whereArgs: Array? - ): List { + ): List { val iterCalendars = CalendarEntity.newEntityIterator( provider.query(CalendarEntity.CONTENT_URI.asSyncAdapter(account), null, where, whereArgs, null) ) try { - val calendars = LinkedList() + val calendars = LinkedList() while (iterCalendars.hasNext()) { val values = iterCalendars.next().entityValues - val calendar = factory.newInstance(account, provider, values.getAsLong(Calendars._ID)) + val calendar = AndroidCalendar(account, provider, values.getAsLong(Calendars._ID)) calendar.populate(values) calendars += calendar } @@ -263,11 +261,4 @@ open class AndroidCalendar( } - - // default factory (will be removed as soon as AndroidCalendar is not open anymore) - object Factory : AndroidCalendarFactory { - override fun newInstance(account: Account, provider: ContentProviderClient, id: Long) = - AndroidCalendar(account, provider, id) - } - } \ No newline at end of file diff --git a/lib/src/main/kotlin/at/bitfire/ical4android/AndroidCalendarFactory.kt b/lib/src/main/kotlin/at/bitfire/ical4android/AndroidCalendarFactory.kt deleted file mode 100644 index a043421e..00000000 --- a/lib/src/main/kotlin/at/bitfire/ical4android/AndroidCalendarFactory.kt +++ /dev/null @@ -1,16 +0,0 @@ -/* - * This file is part of bitfireAT/synctools which is released under GPLv3. - * Copyright © All Contributors. See the LICENSE and AUTHOR files in the root directory for details. - * SPDX-License-Identifier: GPL-3.0-or-later - */ - -package at.bitfire.ical4android - -import android.accounts.Account -import android.content.ContentProviderClient - -interface AndroidCalendarFactory { - - fun newInstance(account: Account, provider: ContentProviderClient, id: Long): T - -} diff --git a/lib/src/main/kotlin/at/bitfire/ical4android/AndroidEvent.kt b/lib/src/main/kotlin/at/bitfire/ical4android/AndroidEvent.kt index e8257cd5..00608a25 100644 --- a/lib/src/main/kotlin/at/bitfire/ical4android/AndroidEvent.kt +++ b/lib/src/main/kotlin/at/bitfire/ical4android/AndroidEvent.kt @@ -173,7 +173,6 @@ class AndroidEvent( // calculate some scheduling properties val groupScheduled = e.subValues.any { it.uri == Attendees.CONTENT_URI } - val isOrganizer = (e.entityValues.getAsInteger(Events.IS_ORGANIZER) ?: 0) != 0 populateEvent(e.entityValues.removeBlankStrings(), groupScheduled) diff --git a/lib/src/main/kotlin/at/bitfire/synctools/test/InitCalendarProviderRule.kt b/lib/src/main/kotlin/at/bitfire/synctools/test/InitCalendarProviderRule.kt index 206a078c..f93ca2dd 100644 --- a/lib/src/main/kotlin/at/bitfire/synctools/test/InitCalendarProviderRule.kt +++ b/lib/src/main/kotlin/at/bitfire/synctools/test/InitCalendarProviderRule.kt @@ -110,7 +110,6 @@ class InitCalendarProviderRule private constructor() : ExternalResource() { AndroidCalendar.Companion.findByID( account, provider, - AndroidCalendar.Factory, ContentUris.parseId(uri) ) } catch (e: Exception) {