refactor: move attachmentsDb into lazy init

This commit is contained in:
Harris 2021-07-19 16:33:56 +10:00
parent afb186c5f6
commit e557b102e5
1 changed files with 8 additions and 3 deletions

View File

@ -109,7 +109,14 @@ public class DatabaseFactory {
}
public static AttachmentDatabase getAttachmentDatabase(Context context) {
return getInstance(context).attachments;
DatabaseFactory factory = getInstance(context);
synchronized (lock) {
if (factory.attachments == null) {
AttachmentSecret attachmentSecret = AttachmentSecretProvider.getInstance(context).getOrCreateAttachmentSecret();
factory.attachments = new AttachmentDatabase(context, factory.databaseHelper, attachmentSecret);
}
return factory.attachments;
}
}
public static MediaDatabase getMediaDatabase(Context context) {
@ -299,10 +306,8 @@ public class DatabaseFactory {
SQLiteDatabase.loadLibs(context);
DatabaseSecret databaseSecret = new DatabaseSecretProvider(context).getOrCreateDatabaseSecret();
AttachmentSecret attachmentSecret = AttachmentSecretProvider.getInstance(context).getOrCreateAttachmentSecret();
this.databaseHelper = new SQLCipherOpenHelper(context, databaseSecret);
this.attachments = new AttachmentDatabase(context, databaseHelper, attachmentSecret);
}
}