Ensure main database is updated before opening secondary ones.

This commit is contained in:
Greyson Parrelli 2022-08-12 15:29:33 -04:00
parent 2220ceb9d9
commit e0e3f7dfec
5 changed files with 5 additions and 0 deletions

View file

@ -94,6 +94,7 @@ public class JobDatabase extends SQLiteOpenHelper implements SignalDatabaseOpenH
synchronized (JobDatabase.class) {
if (instance == null) {
SqlCipherLibraryLoader.load();
SignalDatabase.triggerDatabaseAccess(); // Ensures that our main database is up-to-date before this one is accessed
instance = new JobDatabase(context, DatabaseSecretProvider.getOrCreateDatabaseSecret(context));
instance.setWriteAheadLoggingEnabled(true);
}

View file

@ -54,6 +54,7 @@ public class KeyValueDatabase extends SQLiteOpenHelper implements SignalDatabase
synchronized (KeyValueDatabase.class) {
if (instance == null) {
SqlCipherLibraryLoader.load();
SignalDatabase.triggerDatabaseAccess(); // Ensures that our main database is up-to-date before this one is accessed
instance = new KeyValueDatabase(context, DatabaseSecretProvider.getOrCreateDatabaseSecret(context));
instance.setWriteAheadLoggingEnabled(true);
}

View file

@ -82,6 +82,7 @@ class LocalMetricsDatabase private constructor(
synchronized(LocalMetricsDatabase::class.java) {
if (instance == null) {
SqlCipherLibraryLoader.load()
SignalDatabase.triggerDatabaseAccess() // Ensures that our main database is up-to-date before this one is accessed
instance = LocalMetricsDatabase(context, DatabaseSecretProvider.getOrCreateDatabaseSecret(context))
instance!!.setWriteAheadLoggingEnabled(true)
}

View file

@ -86,6 +86,7 @@ class LogDatabase private constructor(
synchronized(LogDatabase::class.java) {
if (instance == null) {
SqlCipherLibraryLoader.load()
SignalDatabase.triggerDatabaseAccess() // Ensures that our main database is up-to-date before this one is accessed
instance = LogDatabase(context, DatabaseSecretProvider.getOrCreateDatabaseSecret(context))
instance!!.setWriteAheadLoggingEnabled(true)
}

View file

@ -57,6 +57,7 @@ public class MegaphoneDatabase extends SQLiteOpenHelper implements SignalDatabas
synchronized (MegaphoneDatabase.class) {
if (instance == null) {
SqlCipherLibraryLoader.load();
SignalDatabase.triggerDatabaseAccess(); // Ensures that our main database is up-to-date before this one is accessed
instance = new MegaphoneDatabase(context, DatabaseSecretProvider.getOrCreateDatabaseSecret(context));
instance.setWriteAheadLoggingEnabled(true);
}