diff --git a/bramble-core/src/main/java/org/briarproject/bramble/db/H2Database.java b/bramble-core/src/main/java/org/briarproject/bramble/db/H2Database.java index ce4433005..7fad1c3fd 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/db/H2Database.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/db/H2Database.java @@ -85,12 +85,17 @@ class H2Database extends JdbcDatabase { public void close() throws DbException { // H2 will close the database when the last connection closes Connection c = null; + Statement s = null; try { c = createConnection(); - super.closeAllConnections(); + closeAllConnections(); setDirty(c, false); + s = c.createStatement(); + s.execute("SHUTDOWN COMPACT"); + s.close(); c.close(); } catch (SQLException e) { + tryToClose(s, LOG, WARNING); tryToClose(c, LOG, WARNING); throw new DbException(e); } diff --git a/bramble-core/src/main/java/org/briarproject/bramble/db/HyperSqlDatabase.java b/bramble-core/src/main/java/org/briarproject/bramble/db/HyperSqlDatabase.java index bdc985ed0..64dd03e04 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/db/HyperSqlDatabase.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/db/HyperSqlDatabase.java @@ -79,11 +79,11 @@ class HyperSqlDatabase extends JdbcDatabase { Connection c = null; Statement s = null; try { - super.closeAllConnections(); + closeAllConnections(); c = createConnection(); setDirty(c, false); s = c.createStatement(); - s.executeQuery("SHUTDOWN"); + s.executeQuery("SHUTDOWN COMPACT"); s.close(); c.close(); } catch (SQLException e) { @@ -106,7 +106,7 @@ class HyperSqlDatabase extends JdbcDatabase { Connection c = null; Statement s = null; try { - super.closeAllConnections(); + closeAllConnections(); c = createConnection(); s = c.createStatement(); s.executeQuery("SHUTDOWN COMPACT"); diff --git a/bramble-core/src/main/java/org/briarproject/bramble/db/JdbcDatabase.java b/bramble-core/src/main/java/org/briarproject/bramble/db/JdbcDatabase.java index 923d15b15..5ff63dda3 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/db/JdbcDatabase.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/db/JdbcDatabase.java @@ -405,7 +405,9 @@ abstract class JdbcDatabase implements Database { if (reopen) { Settings s = getSettings(txn, DB_SETTINGS_NAMESPACE); wasDirtyOnInitialisation = isDirty(s); - compact = migrateSchema(txn, s, listener) || isCompactionDue(s); + boolean migrated = migrateSchema(txn, s, listener); + compact = wasDirtyOnInitialisation || migrated + || isCompactionDue(s); } else { wasDirtyOnInitialisation = false; createTables(txn); diff --git a/briar-android/src/main/res/layout/fragment_sign_out.xml b/briar-android/src/main/res/layout/fragment_sign_out.xml index c701bf28c..b5665a5e2 100644 --- a/briar-android/src/main/res/layout/fragment_sign_out.xml +++ b/briar-android/src/main/res/layout/fragment_sign_out.xml @@ -17,7 +17,7 @@ app:layout_constraintVertical_bias="0.5" app:layout_constraintVertical_chainStyle="packed" app:srcCompat="@drawable/startup_lock" - app:tint="@color/briar_primary" + app:tint="@color/briar_accent" tools:ignore="ContentDescription" />