mirror of
https://github.com/M66B/FairEmail.git
synced 2025-03-03 02:05:36 +00:00
parent
5873f65974
commit
6075609226
5 changed files with 2 additions and 1988 deletions
File diff suppressed because it is too large
Load diff
|
@ -1513,14 +1513,6 @@ class Core {
|
|||
for (EntityRule rule : rules)
|
||||
if (rule.matches(context, message, imessage)) {
|
||||
rule.execute(context, db, message);
|
||||
|
||||
EntityRuleLog rlog = new EntityRuleLog();
|
||||
rlog.rule = rule.id;
|
||||
rlog.message = message.id;
|
||||
rlog.time = new Date().getTime();
|
||||
rlog.id = db.rulelog().insertRuleLog(rlog);
|
||||
Log.i("Inserted rule log=" + rlog.id);
|
||||
|
||||
if (rule.stop)
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -51,7 +51,7 @@ import io.requery.android.database.sqlite.RequerySQLiteOpenHelperFactory;
|
|||
// https://developer.android.com/topic/libraries/architecture/room.html
|
||||
|
||||
@Database(
|
||||
version = 84,
|
||||
version = 83,
|
||||
entities = {
|
||||
EntityIdentity.class,
|
||||
EntityAccount.class,
|
||||
|
@ -62,8 +62,7 @@ import io.requery.android.database.sqlite.RequerySQLiteOpenHelperFactory;
|
|||
EntityContact.class,
|
||||
EntityAnswer.class,
|
||||
EntityRule.class,
|
||||
EntityLog.class,
|
||||
EntityRuleLog.class
|
||||
EntityLog.class
|
||||
}
|
||||
)
|
||||
|
||||
|
@ -89,8 +88,6 @@ public abstract class DB extends RoomDatabase {
|
|||
|
||||
public abstract DaoLog log();
|
||||
|
||||
public abstract DaoRuleLog rulelog();
|
||||
|
||||
private static DB sInstance;
|
||||
private static ExecutorService executor = Executors.newSingleThreadExecutor(Helper.backgroundThreadFactory);
|
||||
|
||||
|
@ -821,22 +818,6 @@ public abstract class DB extends RoomDatabase {
|
|||
db.execSQL("ALTER TABLE `message` ADD COLUMN `color` INTEGER");
|
||||
}
|
||||
})
|
||||
.addMigrations(new Migration(83, 84) {
|
||||
@Override
|
||||
public void migrate(SupportSQLiteDatabase db) {
|
||||
Log.i("DB migration from version " + startVersion + " to " + endVersion);
|
||||
db.execSQL("CREATE TABLE IF NOT EXISTS `rule_log`" +
|
||||
" (`id` INTEGER PRIMARY KEY AUTOINCREMENT" +
|
||||
", `rule` INTEGER NOT NULL" +
|
||||
", `message` INTEGER NOT NULL" +
|
||||
", `time` INTEGER NOT NULL" +
|
||||
", FOREIGN KEY(`rule`) REFERENCES `rule`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE" +
|
||||
", FOREIGN KEY(`message`) REFERENCES `message`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )");
|
||||
db.execSQL("CREATE INDEX `index_rulelog_rule` ON `rule_log` (`rule`)");
|
||||
db.execSQL("CREATE INDEX `index_rulelog_message` ON `rule_log` (`message`)");
|
||||
db.execSQL("CREATE INDEX `index_rulelog_time` ON `rule_log` (`time`)");
|
||||
}
|
||||
})
|
||||
.build();
|
||||
}
|
||||
|
||||
|
|
|
@ -1,30 +0,0 @@
|
|||
package eu.faircode.email;
|
||||
|
||||
/*
|
||||
This file is part of FairEmail.
|
||||
|
||||
FairEmail is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
FairEmail is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with FairEmail. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Copyright 2018-2019 by Marcel Bokhorst (M66B)
|
||||
*/
|
||||
|
||||
import androidx.room.Dao;
|
||||
import androidx.room.Insert;
|
||||
|
||||
@Dao
|
||||
public interface DaoRuleLog {
|
||||
|
||||
@Insert
|
||||
long insertRuleLog(EntityRuleLog log);
|
||||
}
|
|
@ -1,62 +0,0 @@
|
|||
package eu.faircode.email;
|
||||
|
||||
/*
|
||||
This file is part of FairEmail.
|
||||
|
||||
FairEmail is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
FairEmail is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with FairEmail. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Copyright 2018-2019 by Marcel Bokhorst (M66B)
|
||||
*/
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.room.Entity;
|
||||
import androidx.room.ForeignKey;
|
||||
import androidx.room.Index;
|
||||
import androidx.room.PrimaryKey;
|
||||
|
||||
import static androidx.room.ForeignKey.CASCADE;
|
||||
|
||||
@Entity(
|
||||
tableName = EntityRuleLog.TABLE_NAME,
|
||||
foreignKeys = {
|
||||
@ForeignKey(childColumns = "rule", entity = EntityRule.class, parentColumns = "id", onDelete = CASCADE),
|
||||
@ForeignKey(childColumns = "message", entity = EntityMessage.class, parentColumns = "id", onDelete = CASCADE),
|
||||
},
|
||||
indices = {
|
||||
@Index(value = {"rule"}),
|
||||
@Index(value = {"message"}),
|
||||
@Index(value = {"time"})
|
||||
}
|
||||
)
|
||||
public class EntityRuleLog {
|
||||
static final String TABLE_NAME = "rule_log";
|
||||
|
||||
@PrimaryKey(autoGenerate = true)
|
||||
public Long id;
|
||||
@NonNull
|
||||
public Long rule;
|
||||
@NonNull
|
||||
public Long message;
|
||||
@NonNull
|
||||
public Long time;
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (obj instanceof EntityRuleLog) {
|
||||
EntityRuleLog other = (EntityRuleLog) obj;
|
||||
return this.id.equals(other.id);
|
||||
} else
|
||||
return false;
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue