From f1edb4969b596adc1ccaa7ad637b39e913f0ca16 Mon Sep 17 00:00:00 2001 From: M66B Date: Sat, 24 May 2025 09:04:22 +0200 Subject: [PATCH] Added data versions --- app/src/main/java/eu/faircode/email/DB.java | 25 ++++++++++++++------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/DB.java b/app/src/main/java/eu/faircode/email/DB.java index 3e8bb0fa26..3ac60e3899 100644 --- a/app/src/main/java/eu/faircode/email/DB.java +++ b/app/src/main/java/eu/faircode/email/DB.java @@ -617,7 +617,7 @@ public abstract class DB extends RoomDatabase { dropTriggers(db); createTriggers(db); - dataUpdates(db); + dataUpdates(db, context); ContentValues cv = new ContentValues(); cv.put("host", "imap.mnet-online.de"); @@ -741,14 +741,23 @@ public abstract class DB extends RoomDatabase { " END"); } - private static void dataUpdates(SupportSQLiteDatabase db) { + private static void dataUpdates(SupportSQLiteDatabase db, Context context) { try { - db.execSQL("UPDATE identity" + - " SET use_ip = 0" + - " WHERE use_ip = 1 AND " + - "(host = 'mail.optonline.net'" + - " OR host = 'mail.optimum.net'" + - " OR host = 'smtp.suddenlink.net')"); + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); + int dataVersion = prefs.getInt("data_version", 0); + int newVersion = 1; + if (dataVersion < 1) { + db.execSQL("UPDATE identity" + + " SET use_ip = 0" + + " WHERE use_ip = 1 AND " + + "(host = 'mail.optonline.net'" + + " OR host = 'mail.optimum.net'" + + " OR host = 'smtp.suddenlink.net')"); + } + if (dataVersion < newVersion) { + Log.i("Updating from data version " + dataVersion + " to " + newVersion); + prefs.edit().putInt("data_version", newVersion).apply(); + } } catch (Throwable ex) { Log.e(ex); }