Fix possible crash during JobDatabase upgrade.

This seems to be a SQLite/SQLCipher caching issue.

Fixes #13172
This commit is contained in:
Greyson Parrelli
2023-09-14 16:58:22 -04:00
parent 09ba6d834a
commit 342f249fab

View File

@@ -178,8 +178,23 @@ class JobDatabase(
@Synchronized
fun getAllJobSpecs(): List<JobSpec> {
val columns = arrayOf(
Jobs.ID,
Jobs.JOB_SPEC_ID,
Jobs.FACTORY_KEY,
Jobs.QUEUE_KEY,
Jobs.CREATE_TIME,
Jobs.LAST_RUN_ATTEMPT_TIME,
Jobs.NEXT_BACKOFF_INTERVAL,
Jobs.RUN_ATTEMPT,
Jobs.MAX_ATTEMPTS,
Jobs.LIFESPAN,
Jobs.SERIALIZED_DATA,
Jobs.SERIALIZED_INPUT_DATA,
Jobs.IS_RUNNING
)
return readableDatabase
.query(Jobs.TABLE_NAME, null, null, null, null, null, "${Jobs.CREATE_TIME}, ${Jobs.ID} ASC")
.query(Jobs.TABLE_NAME, columns, null, null, null, null, "${Jobs.CREATE_TIME}, ${Jobs.ID} ASC")
.readToList { cursor ->
jobSpecFromCursor(cursor)
}