Added relinker, fixed warning

This commit is contained in:
M66B 2019-07-17 12:21:17 +02:00
parent 450ccde55e
commit 3a96e3d13e
3 changed files with 113 additions and 95 deletions

View File

@ -184,6 +184,7 @@ FairEmail uses:
* [Bugsnag exception reporter for Android](https://github.com/bugsnag/bugsnag-android). Copyright (c) 2012 Bugsnag. [MIT License](https://github.com/bugsnag/bugsnag-android/blob/master/LICENSE.txt).
* [biweekly](https://github.com/mangstadt/biweekly). Copyright (c) 2013-2018, Michael Angstadt. [BSD 2-Clause](https://github.com/mangstadt/biweekly/blob/master/LICENSE).
* [PhotoView](https://github.com/chrisbanes/PhotoView). Copyright 2018 Chris Banes. [Apache License](https://github.com/chrisbanes/PhotoView/blob/master/LICENSE).
* [ReLinker](https://github.com/KeepSafe/ReLinker). Copyright 2015 - 2016 KeepSafe Software, Inc. [Apache License](https://github.com/KeepSafe/ReLinker/blob/master/LICENSE).
Error reporting is sponsored by:

View File

@ -152,6 +152,7 @@ dependencies {
def bugsnag_version = "4.15.0"
def biweekly_version = "0.6.3"
def photoview_version = "2.3.0"
def relinker_version = "1.3.1"
// https://developer.android.com/jetpack/androidx/releases/
@ -240,6 +241,9 @@ dependencies {
// https://github.com/chrisbanes/PhotoView
implementation "com.github.chrisbanes:PhotoView:$photoview_version"
// https://github.com/KeepSafe/ReLinker
implementation "com.getkeepsafe.relinker:relinker:$relinker_version"
// git clone https://android.googlesource.com/platform/frameworks/opt/colorpicker
implementation project(path: ':colorpicker')
}

View File

@ -16,6 +16,8 @@ import androidx.room.TypeConverters;
import androidx.room.migration.Migration;
import androidx.sqlite.db.SupportSQLiteDatabase;
import com.getkeepsafe.relinker.ReLinker;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
@ -125,7 +127,18 @@ public abstract class DB extends RoomDatabase {
return sInstance;
}
private static RoomDatabase.Builder getBuilder(Context context) {
private static RoomDatabase.Builder<DB> getBuilder(Context context) {
try {
ReLinker.log(new ReLinker.Logger() {
@Override
public void log(String message) {
Log.i("Relinker: " + message);
}
}).loadLibrary(context, "sqlite3x");
} catch (Throwable ex) {
Log.e(ex);
}
return Room
.databaseBuilder(context, DB.class, DB_NAME)
.openHelperFactory(new RequerySQLiteOpenHelperFactory())
@ -138,14 +151,14 @@ public abstract class DB extends RoomDatabase {
return builder
.addCallback(new Callback() {
@Override
public void onOpen(SupportSQLiteDatabase db) {
public void onOpen(@NonNull SupportSQLiteDatabase db) {
Log.i("Database version=" + db.getVersion());
super.onOpen(db);
}
})
.addMigrations(new Migration(1, 2) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `folder` RENAME COLUMN `after` TO `sync_days`");
db.execSQL("ALTER TABLE `folder` ADD COLUMN `keep_days` INTEGER NOT NULL DEFAULT 30");
@ -154,7 +167,7 @@ public abstract class DB extends RoomDatabase {
})
.addMigrations(new Migration(2, 3) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `identity` ADD COLUMN `signature` TEXT");
db.execSQL("UPDATE `identity` SET signature =" +
@ -163,7 +176,7 @@ public abstract class DB extends RoomDatabase {
})
.addMigrations(new Migration(3, 4) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `message` ADD COLUMN `forwarding` INTEGER" +
" REFERENCES `message`(`id`) ON UPDATE NO ACTION ON DELETE SET NULL");
@ -172,7 +185,7 @@ public abstract class DB extends RoomDatabase {
})
.addMigrations(new Migration(4, 5) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `account` ADD COLUMN `last_connected` INTEGER");
db.execSQL("ALTER TABLE `message` ADD COLUMN `last_attempt` INTEGER");
@ -180,14 +193,14 @@ public abstract class DB extends RoomDatabase {
})
.addMigrations(new Migration(5, 6) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `account` ADD COLUMN `notify` INTEGER NOT NULL DEFAULT 0");
}
})
.addMigrations(new Migration(6, 7) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `message` ADD COLUMN `answered` INTEGER NOT NULL DEFAULT 0");
db.execSQL("ALTER TABLE `message` ADD COLUMN `ui_answered` INTEGER NOT NULL DEFAULT 0");
@ -195,21 +208,21 @@ public abstract class DB extends RoomDatabase {
})
.addMigrations(new Migration(7, 8) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `message` ADD COLUMN `keywords` TEXT");
}
})
.addMigrations(new Migration(8, 9) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `folder` ADD COLUMN `keywords` TEXT");
}
})
.addMigrations(new Migration(9, 10) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `message` ADD COLUMN `ui_browsed` INTEGER NOT NULL DEFAULT 0");
db.execSQL("CREATE INDEX `index_message_ui_browsed` ON `message` (`ui_browsed`)");
@ -217,14 +230,14 @@ public abstract class DB extends RoomDatabase {
})
.addMigrations(new Migration(10, 11) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `operation` ADD COLUMN `error` TEXT");
}
})
.addMigrations(new Migration(11, 12) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("DROP INDEX `index_operation_folder`");
db.execSQL("DROP INDEX `index_operation_message`");
@ -245,35 +258,35 @@ public abstract class DB extends RoomDatabase {
})
.addMigrations(new Migration(12, 13) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("CREATE INDEX `index_message_ui_flagged` ON `message` (`ui_flagged`)");
}
})
.addMigrations(new Migration(13, 14) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `folder` ADD COLUMN `level` INTEGER NOT NULL DEFAULT 0");
}
})
.addMigrations(new Migration(14, 15) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `folder` ADD COLUMN `sync_state` TEXT");
}
})
.addMigrations(new Migration(15, 16) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `folder` ADD COLUMN `poll` INTEGER NOT NULL DEFAULT 0");
}
})
.addMigrations(new Migration(16, 17) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("DELETE FROM `message` WHERE ui_found");
db.execSQL("DROP INDEX `index_message_folder_uid_ui_found`");
@ -284,7 +297,7 @@ public abstract class DB extends RoomDatabase {
})
.addMigrations(new Migration(17, 18) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `account` ADD COLUMN `tbd` INTEGER");
db.execSQL("ALTER TABLE `identity` ADD COLUMN `tbd` INTEGER");
@ -293,7 +306,7 @@ public abstract class DB extends RoomDatabase {
})
.addMigrations(new Migration(18, 19) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `identity` ADD COLUMN `delivery_receipt` INTEGER NOT NULL DEFAULT 0");
db.execSQL("ALTER TABLE `identity` ADD COLUMN `read_receipt` INTEGER NOT NULL DEFAULT 0");
@ -301,7 +314,7 @@ public abstract class DB extends RoomDatabase {
})
.addMigrations(new Migration(19, 20) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `folder` ADD COLUMN `notify` INTEGER NOT NULL DEFAULT 0");
db.execSQL("UPDATE `folder` SET notify = unified");
@ -309,7 +322,7 @@ public abstract class DB extends RoomDatabase {
})
.addMigrations(new Migration(20, 21) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `identity` ADD COLUMN `display` TEXT");
db.execSQL("ALTER TABLE `identity` ADD COLUMN `bcc` TEXT");
@ -317,7 +330,7 @@ public abstract class DB extends RoomDatabase {
})
.addMigrations(new Migration(21, 22) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `folder` ADD COLUMN `initialize` INTEGER NOT NULL DEFAULT 1");
db.execSQL("UPDATE `folder` SET sync_days = 1");
@ -325,28 +338,28 @@ public abstract class DB extends RoomDatabase {
})
.addMigrations(new Migration(22, 23) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `folder` ADD COLUMN `download` INTEGER NOT NULL DEFAULT 1");
}
})
.addMigrations(new Migration(23, 24) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `folder` ADD COLUMN `tbc` INTEGER");
}
})
.addMigrations(new Migration(24, 25) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `account` ADD COLUMN `prefix` TEXT");
}
})
.addMigrations(new Migration(25, 26) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
int browse = (prefs.getBoolean("browse", true) ? 1 : 0);
@ -355,7 +368,7 @@ public abstract class DB extends RoomDatabase {
})
.addMigrations(new Migration(26, 27) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `message` ADD COLUMN `sender` TEXT");
db.execSQL("CREATE INDEX `index_message_sender` ON `message` (`sender`)");
@ -363,7 +376,7 @@ public abstract class DB extends RoomDatabase {
})
.addMigrations(new Migration(27, 28) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
try (Cursor cursor = db.query("SELECT `id`, `from` FROM message")) {
@ -385,14 +398,14 @@ public abstract class DB extends RoomDatabase {
})
.addMigrations(new Migration(28, 29) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `folder` ADD COLUMN `last_sync` INTEGER");
}
})
.addMigrations(new Migration(29, 30) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `attachment` ADD COLUMN `encryption` INTEGER");
db.execSQL("UPDATE attachment SET encryption = " + EntityAttachment.PGP_MESSAGE + " where name = 'encrypted.asc'");
@ -400,14 +413,14 @@ public abstract class DB extends RoomDatabase {
})
.addMigrations(new Migration(30, 31) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `attachment` ADD COLUMN `disposition` TEXT");
}
})
.addMigrations(new Migration(31, 32) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `message` ADD COLUMN `ui_snoozed` INTEGER");
db.execSQL("CREATE INDEX `index_message_ui_snoozed` ON `message` (`ui_snoozed`)");
@ -415,7 +428,7 @@ public abstract class DB extends RoomDatabase {
})
.addMigrations(new Migration(32, 33) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `account` ADD COLUMN `realm` TEXT");
db.execSQL("ALTER TABLE `identity` ADD COLUMN `realm` TEXT");
@ -423,28 +436,28 @@ public abstract class DB extends RoomDatabase {
})
.addMigrations(new Migration(33, 34) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `message` ADD COLUMN `raw` INTEGER");
}
})
.addMigrations(new Migration(34, 35) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `attachment` ADD COLUMN `error` TEXT");
}
})
.addMigrations(new Migration(35, 36) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `message` ADD COLUMN `warning` TEXT");
}
})
.addMigrations(new Migration(36, 37) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("CREATE TABLE `rule`" +
" (`id` INTEGER PRIMARY KEY AUTOINCREMENT," +
@ -461,14 +474,14 @@ public abstract class DB extends RoomDatabase {
})
.addMigrations(new Migration(37, 38) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `rule` ADD COLUMN `stop` INTEGER NOT NULL DEFAULT 0");
}
})
.addMigrations(new Migration(38, 39) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `account` ADD COLUMN `swipe_left` INTEGER");
db.execSQL("ALTER TABLE `account` ADD COLUMN `swipe_right` INTEGER");
@ -476,35 +489,35 @@ public abstract class DB extends RoomDatabase {
})
.addMigrations(new Migration(39, 40) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `identity` ADD COLUMN `last_connected` INTEGER");
}
})
.addMigrations(new Migration(40, 41) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `message` ADD COLUMN `flags` TEXT");
}
})
.addMigrations(new Migration(41, 42) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `identity` ADD COLUMN `plain_only` INTEGER NOT NULL DEFAULT 0");
}
})
.addMigrations(new Migration(42, 43) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `account` ADD COLUMN `pop` INTEGER NOT NULL DEFAULT 0");
}
})
.addMigrations(new Migration(43, 44) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("CREATE TABLE IF NOT EXISTS `contact`" +
" (`id` INTEGER PRIMARY KEY AUTOINCREMENT" +
@ -517,42 +530,42 @@ public abstract class DB extends RoomDatabase {
})
.addMigrations(new Migration(44, 45) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `account` ADD COLUMN `ondemand` INTEGER NOT NULL DEFAULT 0");
}
})
.addMigrations(new Migration(45, 46) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `identity` ADD COLUMN `encrypt` INTEGER NOT NULL DEFAULT 0");
}
})
.addMigrations(new Migration(46, 47) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `identity` ADD COLUMN `use_ip` INTEGER NOT NULL DEFAULT 0");
}
})
.addMigrations(new Migration(47, 48) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("UPDATE `identity` SET use_ip = 1");
}
})
.addMigrations(new Migration(48, 49) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("CREATE INDEX `index_operation_name` ON `operation` (`name`)");
}
})
.addMigrations(new Migration(49, 50) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("DROP INDEX `index_message_replying`");
db.execSQL("DROP INDEX `index_message_forwarding`");
@ -561,28 +574,28 @@ public abstract class DB extends RoomDatabase {
})
.addMigrations(new Migration(50, 51) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("DELETE FROM operation WHERE name = 'wait'");
}
})
.addMigrations(new Migration(51, 52) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `folder` ADD COLUMN `total` INTEGER");
}
})
.addMigrations(new Migration(52, 53) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `operation` ADD COLUMN `account` INTEGER");
}
})
.addMigrations(new Migration(53, 54) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
File folder = new File(context.getFilesDir(), "attachments");
File[] attachments = folder.listFiles();
@ -613,7 +626,7 @@ public abstract class DB extends RoomDatabase {
})
.addMigrations(new Migration(54, 55) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `contact` ADD COLUMN `avatar` TEXT");
db.execSQL("ALTER TABLE `contact` ADD COLUMN `times_contacted` INTEGER NOT NULL DEFAULT 1");
@ -622,14 +635,14 @@ public abstract class DB extends RoomDatabase {
})
.addMigrations(new Migration(55, 56) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `contact` ADD COLUMN `favorite` INTEGER NOT NULL DEFAULT 0");
}
})
.addMigrations(new Migration(56, 57) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("CREATE INDEX `index_contact_times_contacted` ON `contact` (`times_contacted`)");
db.execSQL("CREATE INDEX `index_contact_last_contacted` ON `contact` (`last_contacted`)");
@ -638,7 +651,7 @@ public abstract class DB extends RoomDatabase {
})
.addMigrations(new Migration(57, 58) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("DROP TABLE `contact`");
db.execSQL("CREATE TABLE IF NOT EXISTS `contact`" +
@ -662,35 +675,35 @@ public abstract class DB extends RoomDatabase {
})
.addMigrations(new Migration(58, 59) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("CREATE INDEX `index_contact_avatar` ON `contact` (`avatar`)");
}
})
.addMigrations(new Migration(59, 60) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `folder` ADD COLUMN `parent` INTEGER");
}
})
.addMigrations(new Migration(60, 61) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `folder` ADD COLUMN `collapsed` INTEGER NOT NULL DEFAULT 0");
}
})
.addMigrations(new Migration(61, 62) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `account` ADD COLUMN `warning` TEXT");
}
})
.addMigrations(new Migration(62, 63) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("DROP INDEX index_message_msgid_folder");
db.execSQL("CREATE INDEX `index_message_msgid` ON `message` (`msgid`)");
@ -698,7 +711,7 @@ public abstract class DB extends RoomDatabase {
})
.addMigrations(new Migration(63, 64) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `message` ADD COLUMN `dkim` INTEGER");
db.execSQL("ALTER TABLE `message` ADD COLUMN `spf` INTEGER");
@ -707,28 +720,28 @@ public abstract class DB extends RoomDatabase {
})
.addMigrations(new Migration(64, 65) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `identity` ADD COLUMN `sender_extra` INTEGER NOT NULL DEFAULT 0");
}
})
.addMigrations(new Migration(65, 66) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `message` ADD COLUMN `receipt_request` INTEGER");
}
})
.addMigrations(new Migration(66, 67) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `message` ADD COLUMN `revision` INTEGER");
}
})
.addMigrations(new Migration(67, 68) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `message` ADD COLUMN `revisions` INTEGER");
db.execSQL("UPDATE message SET revisions = revision");
@ -736,84 +749,84 @@ public abstract class DB extends RoomDatabase {
})
.addMigrations(new Migration(68, 69) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `message` ADD COLUMN `receipt_to` TEXT");
}
})
.addMigrations(new Migration(69, 70) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("UPDATE message SET uid = NULL WHERE uid < 0");
}
})
.addMigrations(new Migration(70, 71) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `answer` ADD COLUMN `hide` INTEGER NOT NULL DEFAULT 0");
}
})
.addMigrations(new Migration(71, 72) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `message` ADD COLUMN `list_post` TEXT");
}
})
.addMigrations(new Migration(72, 73) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `account` ADD COLUMN `order` INTEGER");
}
})
.addMigrations(new Migration(73, 74) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `folder` ADD COLUMN `subscribed` INTEGER");
}
})
.addMigrations(new Migration(74, 75) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `folder` ADD COLUMN `navigation` INTEGER NOT NULL DEFAULT 0");
}
})
.addMigrations(new Migration(75, 76) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `folder` ADD COLUMN `order` INTEGER");
}
})
.addMigrations(new Migration(76, 77) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `folder` ADD COLUMN `read_only` INTEGER NOT NULL DEFAULT 0");
}
})
.addMigrations(new Migration(77, 78) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `folder` ADD COLUMN `auto_delete` INTEGER NOT NULL DEFAULT 0");
}
})
.addMigrations(new Migration(78, 79) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `message` ADD COLUMN `plain_only` INTEGER");
}
})
.addMigrations(new Migration(79, 80) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("DROP INDEX index_attachment_message_cid");
db.execSQL("CREATE INDEX `index_attachment_message_cid` ON `attachment` (`message`, `cid`)");
@ -821,14 +834,14 @@ public abstract class DB extends RoomDatabase {
})
.addMigrations(new Migration(80, 81) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `operation` ADD COLUMN `state` TEXT");
}
})
.addMigrations(new Migration(81, 82) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("CREATE INDEX `index_operation_account` ON `operation` (`account`)");
db.execSQL("CREATE INDEX `index_operation_state` ON `operation` (`state`)");
@ -836,84 +849,84 @@ public abstract class DB extends RoomDatabase {
})
.addMigrations(new Migration(82, 83) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `message` ADD COLUMN `color` INTEGER");
}
})
.addMigrations(new Migration(83, 84) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("UPDATE attachment SET disposition = lower(disposition) WHERE NOT disposition IS NULL");
}
})
.addMigrations(new Migration(84, 85) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("UPDATE attachment SET size = NULL WHERE size = 0");
}
})
.addMigrations(new Migration(85, 86) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("CREATE VIEW `folderview` AS SELECT id, account, name, type, display, unified FROM folder");
}
})
.addMigrations(new Migration(86, 87) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("DROP VIEW `folderview`");
}
})
.addMigrations(new Migration(87, 88) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `account` ADD COLUMN `partial_fetch` INTEGER NOT NULL DEFAULT 1");
}
})
.addMigrations(new Migration(88, 89) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `account` ADD COLUMN `separator` INTEGER");
}
})
.addMigrations(new Migration(89, 90) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `message` ADD COLUMN `notifying` INTEGER NOT NULL DEFAULT 0");
}
})
.addMigrations(new Migration(90, 91) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `folder` ADD COLUMN `selectable` INTEGER NOT NULL DEFAULT 1");
}
})
.addMigrations(new Migration(91, 92) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("UPDATE `account` SET poll_interval = 24");
}
})
.addMigrations(new Migration(92, 93) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `message` ADD COLUMN `mx` INTEGER");
}
})
.addMigrations(new Migration(93, 94) {
@Override
public void migrate(SupportSQLiteDatabase db) {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("ALTER TABLE `message` ADD COLUMN `encrypt` INTEGER");
}