Compare commits

...

2 Commits

Author SHA1 Message Date
Greyson Parrelli
67d79da3e3 Bump version to 6.20.6 2023-05-18 11:08:12 -04:00
Greyson Parrelli
0f4fbc7e5b Disable foreign key constraints during backup restore upgrades. 2023-05-18 11:08:07 -04:00
2 changed files with 15 additions and 10 deletions

View File

@@ -47,14 +47,14 @@ ktlint {
}
def canonicalVersionCode = 1262
def canonicalVersionName = "6.20.5"
def canonicalVersionName = "6.20.6"
def postFixSize = 100
def abiPostFix = ['universal' : 0,
'armeabi-v7a' : 1,
'arm64-v8a' : 2,
'x86' : 3,
'x86_64' : 4]
def abiPostFix = ['universal' : 5,
'armeabi-v7a' : 6,
'arm64-v8a' : 7,
'x86' : 8,
'x86_64' : 9]
def keystores = [ 'debug' : loadKeystoreProperties('keystore.debug.properties') ]

View File

@@ -6,7 +6,6 @@ import androidx.annotation.VisibleForTesting
import net.zetetic.database.sqlcipher.SQLiteOpenHelper
import org.signal.core.util.SqlUtil
import org.signal.core.util.logging.Log
import org.signal.core.util.withinTransaction
import org.thoughtcrime.securesms.crypto.AttachmentSecret
import org.thoughtcrime.securesms.crypto.DatabaseSecret
import org.thoughtcrime.securesms.crypto.MasterSecret
@@ -278,9 +277,11 @@ open class SignalDatabase(private val context: Application, databaseSecret: Data
@JvmStatic
fun runPostBackupRestoreTasks(database: net.zetetic.database.sqlcipher.SQLiteDatabase) {
synchronized(SignalDatabase::class.java) {
database.withinTransaction { db ->
instance!!.onUpgrade(db, db.getVersion(), -1)
instance!!.markCurrent(db)
database.setForeignKeyConstraintsEnabled(false)
database.beginTransaction()
try {
instance!!.onUpgrade(database, database.getVersion(), -1)
instance!!.markCurrent(database)
instance!!.messageTable.deleteAbandonedMessages()
instance!!.messageTable.trimEntriesForExpiredMessages()
instance!!.reactionTable.deleteAbandonedReactions()
@@ -290,6 +291,10 @@ open class SignalDatabase(private val context: Application, databaseSecret: Data
instance!!.rawWritableDatabase.execSQL("DROP TABLE IF EXISTS job_spec")
instance!!.rawWritableDatabase.execSQL("DROP TABLE IF EXISTS constraint_spec")
instance!!.rawWritableDatabase.execSQL("DROP TABLE IF EXISTS dependency_spec")
database.setTransactionSuccessful()
} finally {
database.endTransaction()
database.setForeignKeyConstraintsEnabled(true)
}
instance!!.rawWritableDatabase.close()