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 571b28e6ba..48af240fe5 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/DatabaseFactory.java +++ b/app/src/main/java/org/thoughtcrime/securesms/database/DatabaseFactory.java @@ -165,9 +165,14 @@ public class DatabaseFactory { } public static void upgradeRestored(Context context, SQLiteDatabase database){ - getInstance(context).databaseHelper.onUpgrade(database, database.getVersion(), -1); - getInstance(context).databaseHelper.markCurrent(database); - getInstance(context).mms.trimEntriesForExpiredMessages(); + synchronized (lock) { + getInstance(context).databaseHelper.onUpgrade(database, database.getVersion(), -1); + getInstance(context).databaseHelper.markCurrent(database); + getInstance(context).mms.trimEntriesForExpiredMessages(); + + instance.databaseHelper.close(); + instance = null; + } } private DatabaseFactory(@NonNull Context context) {