diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/SignalDatabase.kt b/app/src/main/java/org/thoughtcrime/securesms/database/SignalDatabase.kt index 6b05499dc..6f4f597d7 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/SignalDatabase.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/database/SignalDatabase.kt @@ -237,6 +237,9 @@ 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") + + instance!!.rawWritableDatabase.close() + triggerDatabaseAccess() } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/recipients/LiveRecipientCache.java b/app/src/main/java/org/thoughtcrime/securesms/recipients/LiveRecipientCache.java index 266934052..b7e8f05d4 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/recipients/LiveRecipientCache.java +++ b/app/src/main/java/org/thoughtcrime/securesms/recipients/LiveRecipientCache.java @@ -45,7 +45,6 @@ public final class LiveRecipientCache { private final Map recipients; private final LiveRecipient unknown; private final Executor resolveExecutor; - private final SQLiteDatabase db; private final AtomicReference localRecipientId; private final AtomicBoolean warmedUp; @@ -58,8 +57,7 @@ public final class LiveRecipientCache { this.warmedUp = new AtomicBoolean(false); this.localRecipientId = new AtomicReference<>(null); this.unknown = new LiveRecipient(context, Recipient.UNKNOWN); - this.db = SignalDatabase.getRawDatabase(); - this.resolveExecutor = ThreadUtil.trace(new FilteredExecutor(SignalExecutors.BOUNDED, () -> !db.inTransaction())); + this.resolveExecutor = ThreadUtil.trace(new FilteredExecutor(SignalExecutors.BOUNDED, () -> !SignalDatabase.inTransaction())); } @AnyThread