From ed5751b3b45d9f6dddb38fc7bb813ad20e545a13 Mon Sep 17 00:00:00 2001 From: M66B Date: Tue, 21 Jan 2020 08:42:11 +0100 Subject: [PATCH] Make sure there is enough storage space for VACUUM --- app/src/main/java/eu/faircode/email/WorkerCleanup.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/WorkerCleanup.java b/app/src/main/java/eu/faircode/email/WorkerCleanup.java index a7a11132c3..e9a09b7d1e 100644 --- a/app/src/main/java/eu/faircode/email/WorkerCleanup.java +++ b/app/src/main/java/eu/faircode/email/WorkerCleanup.java @@ -224,8 +224,13 @@ public class WorkerCleanup extends Worker { if (manual) { // https://www.sqlite.org/lang_vacuum.html - Log.i("Running VACUUM"); - db.getOpenHelper().getWritableDatabase().execSQL("VACUUM;"); + long size = context.getDatabasePath(db.getOpenHelper().getDatabaseName()).length(); + long space = Helper.getAvailableStorageSpace(); + if (size * 2 < space) { + Log.i("Running VACUUM"); + db.getOpenHelper().getWritableDatabase().execSQL("VACUUM;"); + } else + Log.w("Insufficient space for VACUUM"); } } catch (Throwable ex) {