The error below was happening on my crappy slow phone, I suspect because
the database upgrade check was locking the database, while this was
scheduled and started running on a different thread. Given it is a very
low priority task (it notifies F-Droid if apps were installed by a method
other than F-Droid) it is now delayed by 10 seconds.
E FATAL EXCEPTION: AsyncTask #1
E java.lang.RuntimeException: An error occured while executing doInBackground()
E at android.os.AsyncTask$3.done(AsyncTask.java:200)
E at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:274)
E at java.util.concurrent.FutureTask.setException(FutureTask.java:125)
E at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:308)
E at java.util.concurrent.FutureTask.run(FutureTask.java:138)
E at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
E at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)
E at java.lang.Thread.run(Thread.java:1019)
E Caused by: android.database.sqlite.SQLiteException: database is locked: BEGIN EXCLUSIVE;
E at android.database.sqlite.SQLiteDatabase.native_execSQL(Native Method)
E at android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:1763)
E at android.database.sqlite.SQLiteDatabase.beginTransactionWithListener(SQLiteDatabase.java:527)
E at android.database.sqlite.SQLiteDatabase.beginTransaction(SQLiteDatabase.java:481)
E at org.fdroid.fdroid.data.FDroidProvider.applyBatch(FDroidProvider.java:58)
E at android.content.ContentProvider$Transport.applyBatch(ContentProvider.java:217)
E at android.content.ContentProviderClient.applyBatch(ContentProviderClient.java:95)
E at android.content.ContentResolver.applyBatch(ContentResolver.java:639)
E at org.fdroid.fdroid.data.InstalledAppCacheUpdater.updateCache(InstalledAppCacheUpdater.java:98)
E at org.fdroid.fdroid.data.InstalledAppCacheUpdater.update(InstalledAppCacheUpdater.java:64)
E at org.fdroid.fdroid.data.InstalledAppCacheUpdater$Worker.doInBackground(InstalledAppCacheUpdater.java:163)
E at org.fdroid.fdroid.data.InstalledAppCacheUpdater$Worker.doInBackground(InstalledAppCacheUpdater.java:159)
E at android.os.AsyncTask$2.call(AsyncTask.java:185)
E at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306)
E ... 4 more