Added auto delete for junk folder

pull/194/merge
M66B 2 years ago
parent 89361fffa6
commit 083a7fa49c

File diff suppressed because it is too large Load Diff

@ -3194,7 +3194,8 @@ class Core {
for (Long tbd : tbds) { for (Long tbd : tbds) {
EntityMessage message = db.message().getMessage(tbd); EntityMessage message = db.message().getMessage(tbd);
if (message != null && trash != null) if (message != null && trash != null)
if (EntityFolder.TRASH.equals(folder.type)) if (EntityFolder.TRASH.equals(folder.type) ||
EntityFolder.JUNK.equals(folder.type))
EntityOperation.queue(context, message, EntityOperation.DELETE); EntityOperation.queue(context, message, EntityOperation.DELETE);
else else
EntityOperation.queue(context, message, EntityOperation.MOVE, trash.id); EntityOperation.queue(context, message, EntityOperation.MOVE, trash.id);

@ -71,7 +71,7 @@ import io.requery.android.database.sqlite.SQLiteDatabase;
// https://developer.android.com/topic/libraries/architecture/room.html // https://developer.android.com/topic/libraries/architecture/room.html
@Database( @Database(
version = 224, version = 225,
entities = { entities = {
EntityIdentity.class, EntityIdentity.class,
EntityAccount.class, EntityAccount.class,
@ -2266,6 +2266,14 @@ public abstract class DB extends RoomDatabase {
logMigration(startVersion, endVersion); logMigration(startVersion, endVersion);
db.execSQL("ALTER TABLE `attachment` ADD COLUMN `media_uri` TEXT"); db.execSQL("ALTER TABLE `attachment` ADD COLUMN `media_uri` TEXT");
} }
}).addMigrations(new Migration(224, 225) {
@Override
public void migrate(@NonNull SupportSQLiteDatabase db) {
logMigration(startVersion, endVersion);
db.execSQL("UPDATE folder" +
" SET auto_delete = 0" +
" WHERE type ='" + EntityFolder.JUNK + "'");
}
}).addMigrations(new Migration(998, 999) { }).addMigrations(new Migration(998, 999) {
@Override @Override
public void migrate(@NonNull SupportSQLiteDatabase db) { public void migrate(@NonNull SupportSQLiteDatabase db) {

@ -346,7 +346,9 @@ public class FragmentFolder extends FragmentBase {
tvAutoClassifyPro.setVisibility(canAutoClassify && !pro ? View.VISIBLE : View.GONE); tvAutoClassifyPro.setVisibility(canAutoClassify && !pro ? View.VISIBLE : View.GONE);
etKeepDays.setEnabled(!cbKeepAll.isChecked()); etKeepDays.setEnabled(!cbKeepAll.isChecked());
cbAutoDelete.setEnabled(!cbKeepAll.isChecked()); cbAutoDelete.setEnabled(!cbKeepAll.isChecked());
cbAutoDelete.setText(folder != null && EntityFolder.TRASH.equals(folder.type) cbAutoDelete.setText(folder != null &&
(EntityFolder.TRASH.equals(folder.type) ||
EntityFolder.JUNK.equals(folder.type))
? R.string.title_auto_delete : R.string.title_auto_trash); ? R.string.title_auto_delete : R.string.title_auto_trash);
grpAutoDelete.setVisibility(canAutoDelete ? View.VISIBLE : View.GONE); grpAutoDelete.setVisibility(canAutoDelete ? View.VISIBLE : View.GONE);
tvAutoDeleteArchiveHint.setVisibility(canAutoDelete && isArchive ? View.VISIBLE : View.GONE); tvAutoDeleteArchiveHint.setVisibility(canAutoDelete && isArchive ? View.VISIBLE : View.GONE);

Loading…
Cancel
Save