Skip to content

Commit 760fc2f

Browse files
committed
Fix migrations
1 parent 4678b84 commit 760fc2f

File tree

6 files changed

+30
-28
lines changed

6 files changed

+30
-28
lines changed

app/src/androidTest/kotlin/at/bitfire/davdroid/settings/migration/AccountSettingsMigration20Test.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -127,16 +127,16 @@ class AccountSettingsMigration20Test {
127127
Calendars.NAME to url,
128128
Calendars.SYNC_EVENTS to 1
129129
)
130-
)!!
130+
)!!.asSyncAdapter(account)
131131
try {
132-
migration.migrateCalendars(account, calDavServiceId = 1)
132+
migration.migrateCalendars(account, 1)
133133

134-
provider.query(uri.asSyncAdapter(account), arrayOf(Calendars._SYNC_ID), null, null, null)!!.use { cursor ->
134+
provider.query(uri, arrayOf(Calendars._SYNC_ID), null, null, null)!!.use { cursor ->
135135
cursor.moveToNext()
136136
assertEquals(collectionId, cursor.getLongOrNull(0))
137137
}
138138
} finally {
139-
provider.delete(uri.asSyncAdapter(account), null, null)
139+
provider.delete(uri, null, null)
140140
}
141141
}
142142
}

app/src/main/kotlin/at/bitfire/davdroid/settings/migration/AccountSettingsMigration10.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ class AccountSettingsMigration10 @Inject constructor(
4646
if (ContextCompat.checkSelfPermission(context, android.Manifest.permission.WRITE_CALENDAR) == PackageManager.PERMISSION_GRANTED)
4747
context.contentResolver.acquireContentProviderClient(CalendarContract.AUTHORITY)?.use { provider ->
4848
provider.update(
49-
CalendarContract.Calendars.CONTENT_URI.asSyncAdapter(account),
49+
Calendars.CONTENT_URI.asSyncAdapter(account),
5050
contentValuesOf(
5151
Calendars.ALLOWED_REMINDERS to arrayOf(
5252
Reminders.METHOD_DEFAULT,

app/src/main/kotlin/at/bitfire/davdroid/settings/migration/AccountSettingsMigration20.kt

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ package at.bitfire.davdroid.settings.migration
77
import android.accounts.Account
88
import android.accounts.AccountManager
99
import android.content.Context
10+
import android.provider.CalendarContract
1011
import androidx.annotation.OpenForTesting
1112
import androidx.core.content.contentValuesOf
1213
import at.bitfire.davdroid.db.Service
@@ -17,6 +18,7 @@ import at.bitfire.davdroid.resource.LocalCalendarStore
1718
import at.bitfire.davdroid.resource.LocalTaskList
1819
import at.bitfire.davdroid.sync.TasksAppManager
1920
import at.bitfire.ical4android.JtxCollection
21+
import at.bitfire.synctools.storage.calendar.AndroidCalendarProvider
2022
import at.techbee.jtx.JtxContract
2123
import dagger.Binds
2224
import dagger.Module
@@ -84,20 +86,18 @@ class AccountSettingsMigration20 @Inject constructor(
8486
} catch (_: SecurityException) {
8587
// no contacts permission
8688
null
87-
}?.use { provider ->
88-
// FIXME
89-
/*for (calendar in calendarStore.getAll(account, provider))
90-
provider.query(calendar.androidCalendar.calendarSyncURI(), arrayOf(Calendars.NAME), null, null, null)?.use { cursor ->
91-
if (cursor.moveToFirst())
92-
cursor.getString(0)?.let { url ->
93-
collectionRepository.getByServiceAndUrl(calDavServiceId, url)?.let { collection ->
94-
calendar.androidCalendar.update(
95-
contentValuesOf(
96-
Calendars._SYNC_ID to collection.id
97-
))
98-
}
99-
}
100-
}*/
89+
}?.use { client ->
90+
val calendarProvider = AndroidCalendarProvider(account, client)
91+
// for each calendar, assign _SYNC_ID := ID if collection (identified by NAME field = URL)
92+
for (calendar in calendarProvider.findCalendars()) {
93+
val url = calendar.name ?: continue
94+
collectionRepository.getByServiceAndUrl(calDavServiceId, url)?.let { collection ->
95+
calendar.update(contentValuesOf(
96+
CalendarContract.Calendars._SYNC_ID to collection.id
97+
))
98+
}
99+
100+
}
101101
}
102102
}
103103

app/src/main/kotlin/at/bitfire/davdroid/settings/migration/AccountSettingsMigration7.kt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import android.content.Context
1010
import android.provider.CalendarContract
1111
import at.bitfire.davdroid.settings.AccountSettings
1212
import at.bitfire.davdroid.sync.account.setAndVerifyUserData
13+
import at.bitfire.synctools.storage.calendar.AndroidCalendarProvider
1314
import dagger.Binds
1415
import dagger.Module
1516
import dagger.hilt.InstallIn
@@ -25,9 +26,9 @@ class AccountSettingsMigration7 @Inject constructor(
2526

2627
override fun migrate(account: Account) {
2728
// add calendar colors
28-
context.contentResolver.acquireContentProviderClient(CalendarContract.AUTHORITY)?.use { provider ->
29-
// FIXME
30-
//AndroidCalendar.insertColors(provider, account)
29+
context.contentResolver.acquireContentProviderClient(CalendarContract.AUTHORITY)?.use { client ->
30+
val provider = AndroidCalendarProvider(account, client)
31+
provider.provideCss3ColorIndices()
3132
}
3233

3334
// update allowed WiFi settings key

app/src/test/kotlin/at/bitfire/davdroid/log/StringHandlerTest.kt

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44

55
package at.bitfire.davdroid.log
66

7-
import org.junit.Assert
7+
import org.junit.Assert.assertEquals
8+
import org.junit.Assert.assertTrue
89
import org.junit.Test
910
import java.util.logging.Formatter
1011
import java.util.logging.Level
@@ -18,8 +19,8 @@ class StringHandlerTest {
1819
handler.publish(LogRecord(Level.INFO, "Line 1"))
1920
handler.publish(LogRecord(Level.FINEST, "Line 2"))
2021
val str = handler.toString()
21-
Assert.assertTrue(str.contains("Line 1\n"))
22-
Assert.assertTrue(str.contains("Line 2\n"))
22+
assertTrue(str.contains("Line 1\n"))
23+
assertTrue(str.contains("Line 2\n"))
2324
}
2425

2526
@Test
@@ -33,8 +34,8 @@ class StringHandlerTest {
3334
handler.publish(LogRecord(Level.FINEST, "Line 2"))
3435

3536
val str = handler.toString()
36-
Assert.assertEquals(10, handler.toString().length)
37-
Assert.assertEquals("Line [...]", str)
37+
assertEquals(10, handler.toString().length)
38+
assertEquals("Line [...]", str)
3839
}
3940

4041
}

gradle/libs.versions.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ androidx-test-junit = "1.2.1"
2020
androidx-work = "2.10.2"
2121
bitfire-cert4android = "b67ba86d31"
2222
bitfire-dav4jvm = "acbfbacbaf"
23-
bitfire-synctools = "db41886753"
23+
bitfire-synctools = "7d75c78e82"
2424
compose-accompanist = "0.37.3"
2525
compose-bom = "2025.06.01"
2626
dnsjava = "3.6.3"

0 commit comments

Comments
 (0)