From e557b102e58a6e1a90c122b5c5ed66464f73c958 Mon Sep 17 00:00:00 2001 From: Harris Date: Mon, 19 Jul 2021 16:33:56 +1000 Subject: [PATCH] refactor: move attachmentsDb into lazy init --- .../securesms/database/DatabaseFactory.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/DatabaseFactory.java b/app/src/main/java/org/thoughtcrime/securesms/database/DatabaseFactory.java index 069043615e..a5f9d4f171 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/DatabaseFactory.java +++ b/app/src/main/java/org/thoughtcrime/securesms/database/DatabaseFactory.java @@ -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); } }