Peter Serwylo 6568f9fcbc Fixed crash on slow device due to database being locked.
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
2015-04-16 07:24:58 +10:00
..
2015-04-15 17:56:40 +02:00
2015-04-12 23:57:54 +02:00