"Can't toast on a thread that has not called Looper.prepare()" after installing jtxBoard and DAVx5 4.1-alpha3
After installing jtx Board 1.0 together with DAVx5 4.1-alpha3 this error pops up before the first sync sync is performed.
--- BEGIN DEBUG INFO ---
SYNCHRONIZATION INFO
Account: Account {name=stockmann@bitfire.at, type=bitfire.at.davdroid}
Authority: at.techbee.jtx.provider
EXCEPTION
java.lang.NullPointerException: Can't toast on a thread that has not called Looper.prepare()
at android.os.Parcel.createExceptionOrNull(Parcel.java:2379)
at android.os.Parcel.createException(Parcel.java:2357)
at android.os.Parcel.readException(Parcel.java:2340)
at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:190)
at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:142)
at android.content.ContentProviderProxy.insert(ContentProviderNative.java:572)
at android.content.ContentProviderClient.insert(ContentProviderClient.java:358)
at android.content.ContentProviderClient.insert(ContentProviderClient.java:343)
at at.bitfire.ical4android.JtxICalObject.add(JtxICalObject.kt:980)
at at.bitfire.davdroid.syncadapter.Jtx5SyncManager$processICalObject$1$1.invoke(JtxSyncManager.kt:152)
at at.bitfire.davdroid.syncadapter.Jtx5SyncManager$processICalObject$1$1.invoke(JtxSyncManager.kt:149)
at at.bitfire.davdroid.syncadapter.SyncManager.localExceptionContext(SyncManager.kt:827)
at at.bitfire.davdroid.syncadapter.Jtx5SyncManager$processICalObject$1.invoke(JtxSyncManager.kt:149)
at at.bitfire.davdroid.syncadapter.Jtx5SyncManager$processICalObject$1.invoke(JtxSyncManager.kt:139)
at at.bitfire.davdroid.syncadapter.SyncManager.localExceptionContext(SyncManager.kt:827)
at at.bitfire.davdroid.syncadapter.Jtx5SyncManager.processICalObject(JtxSyncManager.kt:139)
at at.bitfire.davdroid.syncadapter.Jtx5SyncManager.access$processICalObject(JtxSyncManager.kt:29)
at at.bitfire.davdroid.syncadapter.Jtx5SyncManager$downloadRemote$1$1$1.invoke(JtxSyncManager.kt:103)
at at.bitfire.davdroid.syncadapter.Jtx5SyncManager$downloadRemote$1$1$1.invoke(JtxSyncManager.kt:90)
at at.bitfire.davdroid.syncadapter.SyncManager.responseExceptionContext(SyncManager.kt:852)
at at.bitfire.davdroid.syncadapter.Jtx5SyncManager$downloadRemote$1$1.invoke(JtxSyncManager.kt:90)
at at.bitfire.davdroid.syncadapter.Jtx5SyncManager$downloadRemote$1$1.invoke(JtxSyncManager.kt:89)
at at.bitfire.dav4jvm.Response$Companion.parse(Response.kt:208)
at at.bitfire.dav4jvm.DavResource.processMultiStatus$parseMultiStatus(DavResource.kt:581)
at at.bitfire.dav4jvm.DavResource.processMultiStatus(DavResource.kt:600)
at at.bitfire.dav4jvm.DavResource.processMultiStatus(DavResource.kt:551)
at at.bitfire.dav4jvm.DavCalendar.multiget(DavCalendar.kt:174)
at at.bitfire.dav4jvm.DavCalendar.multiget$default(DavCalendar.kt:138)
at at.bitfire.davdroid.syncadapter.Jtx5SyncManager$downloadRemote$1.invoke(JtxSyncManager.kt:89)
at at.bitfire.davdroid.syncadapter.Jtx5SyncManager$downloadRemote$1.invoke(JtxSyncManager.kt:88)
at at.bitfire.davdroid.syncadapter.SyncManager.remoteExceptionContext(SyncManager.kt:841)
at at.bitfire.davdroid.syncadapter.SyncManager.remoteExceptionContext(SyncManager.kt:862)
at at.bitfire.davdroid.syncadapter.Jtx5SyncManager.downloadRemote(JtxSyncManager.kt:88)
at at.bitfire.davdroid.syncadapter.SyncManager$syncRemote$1$download$1.invokeSuspend(SyncManager.kt:507)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:274)
at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:85)
at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:59)
at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source:1)
at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:38)
at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source:1)
at at.bitfire.davdroid.syncadapter.SyncManager.syncRemote(SyncManager.kt:495)
at at.bitfire.davdroid.syncadapter.SyncManager$performSync$1.invoke(SyncManager.kt:145)
at at.bitfire.davdroid.syncadapter.SyncManager$performSync$1.invoke(SyncManager.kt:109)
at at.bitfire.davdroid.syncadapter.SyncManager.unwrapExceptions(SyncManager.kt:867)
at at.bitfire.davdroid.syncadapter.SyncManager.performSync(SyncManager.kt:109)
at at.bitfire.davdroid.syncadapter.JtxSyncAdapterService$JtxSyncAdapter.sync(JtxSyncAdapterService.kt:41)
at at.bitfire.davdroid.syncadapter.SyncAdapterService$SyncAdapter.onPerformSync(SyncAdapterService.kt:146)
at android.content.AbstractThreadedSyncAdapter$SyncThread.run(AbstractThreadedSyncAdapter.java:334)
LOCAL RESOURCE
at.bitfire.davdroid.resource.LocalJtxICalObject@e59e22c
REMOTE RESOURCE
https://cloud.bitfire.at/remote.php/dav/calendars/devvv/817e04f5-cab2-4c97-aebd-f96db146be33/1637851784508-fde2afb5-ba2b-40a1-bde4-84856d185986@at.techbee.jtx.ics
SOFTWARE INFORMATION
┌────────────────────────────────┬─────────────────────────────┬────────────┬─────────────────────────────────────┬───────┐
│ Package │ Version │ Code │ Installer │ Notes │
├────────────────────────────────┼─────────────────────────────┼────────────┼─────────────────────────────────────┼───────┤
│ at.bitfire.davdroid │ 4.1-alpha.3-gplay │ 401000002 │ com.google.android.packageinstaller │ │
│ at.techbee.jtx │ 1.00.00-release.gplay │ 100000008 │ com.android.vending │ │
│ org.tasks │ 11.12.3 │ 111203 │ com.google.android.packageinstaller │ │
│ com.android.providers.contacts │ 11.0.0 │ 110000 │ — │ │
│ com.android.providers.calendar │ 11 │ 30 │ — │ │
│ com.google.android.calendar │ 2021.47.2-416078291-release │ 2017045924 │ com.android.vending │ │
└────────────────────────────────┴─────────────────────────────┴────────────┴─────────────────────────────────────┴───────┘
SYSTEM INFORMATION
Android version: 11 (ONEPLUS A6003_22_211125)
Device: OnePlus ONEPLUS A6003 (OnePlus6)