Search in sources :

Example 21 with OldPendingCommand

use of com.fsck.k9.mailstore.migrations.MigrationTo60.OldPendingCommand in project k-9 by k9mail.

the class MigrationTo60 method migrateCommandSetFlagBulk.

private static PendingCommand migrateCommandSetFlagBulk(OldPendingCommand command) {
    String folder = command.arguments[0];
    boolean newState = Boolean.parseBoolean(command.arguments[1]);
    Flag flag = Flag.valueOf(command.arguments[2]);
    List<String> uids = new ArrayList<>(command.arguments.length - 3);
    uids.addAll(Arrays.asList(command.arguments).subList(3, command.arguments.length));
    return PendingSetFlag.create(folder, newState, flag, uids);
}
Also used : ArrayList(java.util.ArrayList) PendingSetFlag(com.fsck.k9.controller.MessagingControllerCommands.PendingSetFlag) Flag(com.fsck.k9.mail.Flag)

Example 22 with OldPendingCommand

use of com.fsck.k9.mailstore.migrations.MigrationTo60.OldPendingCommand in project k-9 by k9mail.

the class MigrationTo60 method migratePendingCommands.

public static void migratePendingCommands(SQLiteDatabase db) {
    List<PendingCommand> pendingCommands = new ArrayList<>();
    if (columnExists(db, "pending_commands", "arguments")) {
        for (OldPendingCommand oldPendingCommand : getPendingCommands(db)) {
            PendingCommand newPendingCommand = migratePendingCommand(oldPendingCommand);
            pendingCommands.add(newPendingCommand);
        }
        db.execSQL("DROP TABLE IF EXISTS pending_commands");
        db.execSQL("CREATE TABLE pending_commands (" + "id INTEGER PRIMARY KEY, " + "command TEXT, " + "data TEXT" + ")");
        PendingCommandSerializer pendingCommandSerializer = PendingCommandSerializer.getInstance();
        for (PendingCommand pendingCommand : pendingCommands) {
            ContentValues cv = new ContentValues();
            cv.put("command", pendingCommand.getCommandName());
            cv.put("data", pendingCommandSerializer.serialize(pendingCommand));
            db.insert("pending_commands", "command", cv);
        }
    }
}
Also used : ContentValues(android.content.ContentValues) ArrayList(java.util.ArrayList) PendingCommandSerializer(com.fsck.k9.controller.PendingCommandSerializer) PendingCommand(com.fsck.k9.controller.MessagingControllerCommands.PendingCommand)

Example 23 with OldPendingCommand

use of com.fsck.k9.mailstore.migrations.MigrationTo60.OldPendingCommand in project k-9 by k9mail.

the class MigrationTo60 method migrateCommandSetFlag.

private static PendingCommand migrateCommandSetFlag(OldPendingCommand command) {
    String folder = command.arguments[0];
    String uid = command.arguments[1];
    boolean newState = Boolean.parseBoolean(command.arguments[2]);
    Flag flag = Flag.valueOf(command.arguments[3]);
    return PendingSetFlag.create(folder, newState, flag, singletonList(uid));
}
Also used : PendingSetFlag(com.fsck.k9.controller.MessagingControllerCommands.PendingSetFlag) Flag(com.fsck.k9.mail.Flag)

Aggregations

OldPendingCommand (com.fsck.k9.mailstore.migrations.MigrationTo60.OldPendingCommand)20 Test (org.junit.Test)10 PendingMoveOrCopy (com.fsck.k9.controller.MessagingControllerCommands.PendingMoveOrCopy)4 PendingSetFlag (com.fsck.k9.controller.MessagingControllerCommands.PendingSetFlag)4 PendingCommand (com.fsck.k9.controller.MessagingControllerCommands.PendingCommand)2 Flag (com.fsck.k9.mail.Flag)2 ArrayList (java.util.ArrayList)2 ContentValues (android.content.ContentValues)1 PendingAppend (com.fsck.k9.controller.MessagingControllerCommands.PendingAppend)1 PendingEmptyTrash (com.fsck.k9.controller.MessagingControllerCommands.PendingEmptyTrash)1 PendingExpunge (com.fsck.k9.controller.MessagingControllerCommands.PendingExpunge)1 PendingMarkAllAsRead (com.fsck.k9.controller.MessagingControllerCommands.PendingMarkAllAsRead)1 PendingCommandSerializer (com.fsck.k9.controller.PendingCommandSerializer)1