Simplification

This commit is contained in:
M66B 2019-05-18 08:49:20 +02:00
parent 386f9cca17
commit 58b2d97339
13 changed files with 73 additions and 71 deletions

View File

@ -1213,7 +1213,7 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB
if (message == null)
return;
EntityOperation.queue(context, db, message, EntityOperation.FLAG, true, color);
EntityOperation.queue(context, message, EntityOperation.FLAG, true, color);
}
});
return null;

View File

@ -249,7 +249,7 @@ public class AdapterAttachment extends RecyclerView.Adapter<AdapterAttachment.Vi
db.attachment().setProgress(id, 0);
EntityOperation.queue(context, db, message, EntityOperation.ATTACHMENT, id);
EntityOperation.queue(context, message, EntityOperation.ATTACHMENT, id);
db.setTransactionSuccessful();
} finally {

View File

@ -604,7 +604,7 @@ public class AdapterFolder extends RecyclerView.Adapter<AdapterFolder.ViewHolder
List<Long> ids = db.message().getMessageByFolder(folder);
for (Long id : ids) {
EntityMessage message = db.message().getMessage(id);
EntityOperation.queue(context, db, message, EntityOperation.DELETE);
EntityOperation.queue(context, message, EntityOperation.DELETE);
}
db.setTransactionSuccessful();

View File

@ -159,7 +159,7 @@ public class AdapterImage extends RecyclerView.Adapter<AdapterImage.ViewHolder>
db.attachment().setProgress(id, 0);
EntityMessage msg = db.message().getMessage(message);
EntityOperation.queue(context, db, msg, EntityOperation.ATTACHMENT, id);
EntityOperation.queue(context, msg, EntityOperation.ATTACHMENT, id);
db.setTransactionSuccessful();
} finally {

View File

@ -1160,7 +1160,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
List<EntityMessage> messages = db.message().getMessageByThread(
message.account, message.thread, threading && thread ? null : id, null);
for (EntityMessage threaded : messages)
EntityOperation.queue(context, db, threaded, EntityOperation.FLAG, flagged);
EntityOperation.queue(context, threaded, EntityOperation.FLAG, flagged);
db.setTransactionSuccessful();
} finally {
@ -1382,7 +1382,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
for (EntityAttachment attachment : db.attachment().getAttachments(message.id))
if (attachment.progress == null && !attachment.available) {
db.attachment().setProgress(attachment.id, 0);
EntityOperation.queue(context, db, msg, EntityOperation.ATTACHMENT, attachment.id);
EntityOperation.queue(context, msg, EntityOperation.ATTACHMENT, attachment.id);
}
db.setTransactionSuccessful();
@ -1736,7 +1736,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
List<EntityAttachment> attachments = db.attachment().getAttachments(message.id);
for (EntityAttachment attachment : attachments)
if (!attachment.available && !TextUtils.isEmpty(attachment.cid))
EntityOperation.queue(context, db, message, EntityOperation.ATTACHMENT, attachment.id);
EntityOperation.queue(context, message, EntityOperation.ATTACHMENT, attachment.id);
db.setTransactionSuccessful();
} finally {
@ -2131,7 +2131,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
if (message == null)
return null;
EntityOperation.queue(context, db, message, EntityOperation.SEEN, false);
EntityOperation.queue(context, message, EntityOperation.SEEN, false);
db.setTransactionSuccessful();
} finally {
@ -2217,7 +2217,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
if (message == null)
return null;
EntityOperation.queue(context, db, message, EntityOperation.COPY, target);
EntityOperation.queue(context, message, EntityOperation.COPY, target);
db.setTransactionSuccessful();
} finally {
@ -2292,7 +2292,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
return null;
EntityFolder junk = db.folder().getFolderByType(message.account, EntityFolder.JUNK);
EntityOperation.queue(context, db, message, EntityOperation.MOVE, junk.id);
EntityOperation.queue(context, message, EntityOperation.MOVE, junk.id);
db.setTransactionSuccessful();
} finally {
@ -2436,7 +2436,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
for (int i = 0; i < selected.length; i++)
if (dirty[i])
EntityOperation.queue(context, db, message, EntityOperation.KEYWORD, keywords[i], selected[i]);
EntityOperation.queue(context, message, EntityOperation.KEYWORD, keywords[i], selected[i]);
db.setTransactionSuccessful();
} finally {
@ -2474,9 +2474,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
EntityMessage message = (EntityMessage) args.getSerializable("message");
String keyword = args.getString("keyword");
DB db = DB.getInstance(context);
EntityOperation.queue(context, db, message, EntityOperation.KEYWORD, keyword, true);
EntityOperation.queue(context, message, EntityOperation.KEYWORD, keyword, true);
return null;
}
@ -2615,7 +2613,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
if (message == null)
return null;
EntityOperation.queue(context, db, message, EntityOperation.HEADERS);
EntityOperation.queue(context, message, EntityOperation.HEADERS);
db.setTransactionSuccessful();
} finally {
@ -2651,7 +2649,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
if (message == null)
return null;
EntityOperation.queue(context, db, message, EntityOperation.RAW);
EntityOperation.queue(context, message, EntityOperation.RAW);
db.message().setMessageRaw(message.id, false);
@ -2803,7 +2801,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
NotificationManager nm = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
nm.cancel("send", message.identity.intValue());
} else
EntityOperation.queue(context, db, message, EntityOperation.DELETE);
EntityOperation.queue(context, message, EntityOperation.DELETE);
db.setTransactionSuccessful();
} finally {
@ -2864,7 +2862,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
for (EntityAttachment attachment : attachments)
db.attachment().setMessage(attachment.id, message.id);
EntityOperation.queue(context, db, message, EntityOperation.ADD);
EntityOperation.queue(context, message, EntityOperation.ADD);
// Delete from outbox
db.message().deleteMessage(id);

View File

@ -554,12 +554,12 @@ class Core {
// Mark source read
if (autoread) {
Log.i(folder.name + " queuing SEEN id=" + message.id);
EntityOperation.queue(context, db, message, EntityOperation.SEEN, true);
EntityOperation.queue(context, message, EntityOperation.SEEN, true);
}
// Delete source
Log.i(folder.name + " queuing DELETE id=" + message.id);
EntityOperation.queue(context, db, message, EntityOperation.DELETE);
EntityOperation.queue(context, message, EntityOperation.DELETE);
db.setTransactionSuccessful();
} finally {
@ -960,7 +960,7 @@ class Core {
for (Long tbd : tbds) {
EntityMessage message = db.message().getMessage(tbd);
if (message != null)
EntityOperation.queue(context, db, message, EntityOperation.DELETE);
EntityOperation.queue(context, message, EntityOperation.DELETE);
}
} else {
int old = db.message().deleteMessagesBefore(folder.id, keep_time, false);
@ -1140,7 +1140,7 @@ class Core {
Log.i(folder.name + " adding orphan id=" + orphan.id + " sent=" + new Date(orphan.sent));
orphan.folder = folder.id;
db.message().updateMessage(orphan);
EntityOperation.queue(context, db, orphan, EntityOperation.ADD);
EntityOperation.queue(context, orphan, EntityOperation.ADD);
}
}

View File

@ -88,7 +88,9 @@ public class EntityOperation {
static final String SYNC = "sync";
static final String SUBSCRIBE = "subscribe";
static void queue(Context context, DB db, EntityMessage message, String name, Object... values) {
static void queue(Context context, EntityMessage message, String name, Object... values) {
DB db = DB.getInstance(context);
JSONArray jargs = new JSONArray();
for (Object value : values)
jargs.put(value);

View File

@ -203,25 +203,25 @@ public class EntityRule {
switch (type) {
case TYPE_SEEN:
onActionSeen(context, db, message, true);
onActionSeen(context, message, true);
break;
case TYPE_UNSEEN:
onActionSeen(context, db, message, false);
onActionSeen(context, message, false);
break;
case TYPE_FLAG:
onActionFlag(context, db, message, jaction);
onActionFlag(context, message, jaction);
break;
case TYPE_MOVE:
onActionMove(context, db, message, jaction);
onActionMove(context, message, jaction);
break;
case TYPE_COPY:
onActionCopy(context, db, message, jaction);
onActionCopy(context, message, jaction);
break;
case TYPE_ANSWER:
onActionAnswer(context, db, message, jaction);
onActionAnswer(context, message, jaction);
break;
case TYPE_AUTOMATION:
onActionAutomation(context, db, message, jaction);
onActionAutomation(context, message, jaction);
break;
}
} catch (JSONException ex) {
@ -229,26 +229,28 @@ public class EntityRule {
}
}
private void onActionSeen(Context context, DB db, EntityMessage message, boolean seen) {
EntityOperation.queue(context, db, message, EntityOperation.SEEN, seen);
private void onActionSeen(Context context, EntityMessage message, boolean seen) {
EntityOperation.queue(context, message, EntityOperation.SEEN, seen);
message.seen = seen;
}
private void onActionMove(Context context, DB db, EntityMessage message, JSONObject jargs) throws JSONException {
private void onActionMove(Context context, EntityMessage message, JSONObject jargs) throws JSONException {
long target = jargs.getLong("target");
EntityOperation.queue(context, db, message, EntityOperation.MOVE, target, false);
EntityOperation.queue(context, message, EntityOperation.MOVE, target, false);
}
private void onActionCopy(Context context, DB db, EntityMessage message, JSONObject jargs) throws JSONException {
private void onActionCopy(Context context, EntityMessage message, JSONObject jargs) throws JSONException {
long target = jargs.getLong("target");
EntityOperation.queue(context, db, message, EntityOperation.COPY, target, false);
EntityOperation.queue(context, message, EntityOperation.COPY, target, false);
}
private void onActionAnswer(Context context, DB db, EntityMessage message, JSONObject jargs) throws JSONException, IOException {
private void onActionAnswer(Context context, EntityMessage message, JSONObject jargs) throws JSONException, IOException {
long iid = jargs.getLong("identity");
long aid = jargs.getLong("answer");
boolean cc = (jargs.has("cc") && jargs.getBoolean("cc"));
DB db = DB.getInstance(context);
EntityIdentity identity = db.identity().getIdentity(iid);
if (identity == null)
throw new IllegalArgumentException("Rule identity not found");
@ -286,10 +288,10 @@ public class EntityRule {
Core.updateMessageSize(context, reply.id);
EntityOperation.queue(context, db, reply, EntityOperation.SEND);
EntityOperation.queue(context, reply, EntityOperation.SEND);
}
private void onActionAutomation(Context context, DB db, EntityMessage message, JSONObject jargs) throws JSONException {
private void onActionAutomation(Context context, EntityMessage message, JSONObject jargs) throws JSONException {
String sender = (message.from == null || message.from.length == 0
? null : ((InternetAddress) message.from[0]).getAddress());
@ -306,10 +308,10 @@ public class EntityRule {
}
}
private void onActionFlag(Context context, DB db, EntityMessage message, JSONObject jargs) throws JSONException {
private void onActionFlag(Context context, EntityMessage message, JSONObject jargs) throws JSONException {
Integer color = (jargs.has("color") && !jargs.isNull("color")
? jargs.getInt("color") : null);
EntityOperation.queue(context, db, message, EntityOperation.FLAG, true, color);
EntityOperation.queue(context, message, EntityOperation.FLAG, true, color);
}
@Override

View File

@ -2109,7 +2109,7 @@ public class FragmentCompose extends FragmentBase {
if (answer > 0)
body = EntityAnswer.getAnswerText(db, answer, draft.to) + body;
EntityOperation.queue(context, db, ref, EntityOperation.SEEN, true);
EntityOperation.queue(context, ref, EntityOperation.SEEN, true);
}
// Select identity matching from address
@ -2210,18 +2210,18 @@ public class FragmentCompose extends FragmentBase {
}
}
EntityOperation.queue(context, db, draft, EntityOperation.ADD);
EntityOperation.queue(context, draft, EntityOperation.ADD);
} else {
if (!draft.content) {
if (draft.uid == null)
throw new IllegalStateException("Draft without uid");
EntityOperation.queue(context, db, draft, EntityOperation.BODY);
EntityOperation.queue(context, draft, EntityOperation.BODY);
}
List<EntityAttachment> attachments = db.attachment().getAttachments(draft.id);
for (EntityAttachment attachment : attachments)
if (!attachment.available)
EntityOperation.queue(context, db, draft, EntityOperation.ATTACHMENT, attachment.id);
EntityOperation.queue(context, draft, EntityOperation.ATTACHMENT, attachment.id);
}
db.setTransactionSuccessful();
@ -2453,7 +2453,7 @@ public class FragmentCompose extends FragmentBase {
draft.content = false;
draft.ui_hide = true;
draft.id = db.message().insertMessage(draft);
EntityOperation.queue(context, db, draft, EntityOperation.DELETE); // by msgid
EntityOperation.queue(context, draft, EntityOperation.DELETE); // by msgid
// Restore original with new account, no uid and new msgid
draft.id = id;
@ -2464,7 +2464,7 @@ public class FragmentCompose extends FragmentBase {
draft.content = true;
draft.ui_hide = false;
db.message().updateMessage(draft);
EntityOperation.queue(context, db, draft, EntityOperation.ADD);
EntityOperation.queue(context, draft, EntityOperation.ADD);
}
List<EntityAttachment> attachments = db.attachment().getAttachments(draft.id);
@ -2620,9 +2620,9 @@ public class FragmentCompose extends FragmentBase {
if (action == R.id.action_delete) {
EntityFolder trash = db.folder().getFolderByType(draft.account, EntityFolder.TRASH);
if (empty || trash == null)
EntityOperation.queue(context, db, draft, EntityOperation.DELETE);
EntityOperation.queue(context, draft, EntityOperation.DELETE);
else
EntityOperation.queue(context, db, draft, EntityOperation.MOVE, trash.id);
EntityOperation.queue(context, draft, EntityOperation.MOVE, trash.id);
if (!empty) {
Handler handler = new Handler(context.getMainLooper());
@ -2637,7 +2637,7 @@ public class FragmentCompose extends FragmentBase {
action == R.id.action_redo ||
action == R.id.menu_encrypt) {
if (BuildConfig.DEBUG || dirty)
EntityOperation.queue(context, db, draft, EntityOperation.ADD);
EntityOperation.queue(context, draft, EntityOperation.ADD);
Handler handler = new Handler(context.getMainLooper());
handler.post(new Runnable() {
@ -2660,7 +2660,7 @@ public class FragmentCompose extends FragmentBase {
throw new IllegalArgumentException(context.getString(R.string.title_attachments_missing));
// Delete draft (cannot move to outbox)
EntityOperation.queue(context, db, draft, EntityOperation.DELETE);
EntityOperation.queue(context, draft, EntityOperation.DELETE);
File refDraftFile = draft.getRefFile(context);
@ -2690,7 +2690,7 @@ public class FragmentCompose extends FragmentBase {
// Send message
if (draft.ui_snoozed == null)
EntityOperation.queue(context, db, draft, EntityOperation.SEND);
EntityOperation.queue(context, draft, EntityOperation.SEND);
final String feedback;
if (draft.ui_snoozed == null)

View File

@ -1263,7 +1263,7 @@ public class FragmentMessages extends FragmentBase {
for (EntityMessage threaded : messages) {
db.message().setMessageSnoozed(threaded.id, wakeup);
EntityMessage.snooze(context, threaded.id, wakeup);
EntityOperation.queue(context, db, threaded, EntityOperation.SEEN, true);
EntityOperation.queue(context, threaded, EntityOperation.SEEN, true);
}
db.setTransactionSuccessful();
@ -1504,7 +1504,7 @@ public class FragmentMessages extends FragmentBase {
List<EntityMessage> messages = db.message().getMessageByThread(
message.account, message.thread, threading ? null : id, message.folder);
for (EntityMessage threaded : messages)
EntityOperation.queue(context, db, threaded, EntityOperation.SEEN, seen);
EntityOperation.queue(context, threaded, EntityOperation.SEEN, seen);
}
}
@ -1555,7 +1555,7 @@ public class FragmentMessages extends FragmentBase {
for (EntityMessage threaded : messages) {
db.message().setMessageSnoozed(threaded.id, wakeup);
EntityMessage.snooze(context, threaded.id, wakeup);
EntityOperation.queue(context, db, threaded, EntityOperation.SEEN, true);
EntityOperation.queue(context, threaded, EntityOperation.SEEN, true);
}
}
}
@ -1612,7 +1612,7 @@ public class FragmentMessages extends FragmentBase {
List<EntityMessage> messages = db.message().getMessageByThread(
message.account, message.thread, threading ? null : id, message.folder);
for (EntityMessage threaded : messages)
EntityOperation.queue(context, db, threaded, EntityOperation.FLAG, flagged, color);
EntityOperation.queue(context, threaded, EntityOperation.FLAG, flagged, color);
}
}
@ -1707,7 +1707,7 @@ public class FragmentMessages extends FragmentBase {
for (long id : ids) {
EntityMessage message = db.message().getMessage(id);
if (message != null)
EntityOperation.queue(context, db, message, EntityOperation.DELETE);
EntityOperation.queue(context, message, EntityOperation.DELETE);
}
db.setTransactionSuccessful();
@ -2884,9 +2884,9 @@ public class FragmentMessages extends FragmentBase {
if (message.uid != null) {
if (!message.content)
EntityOperation.queue(context, db, message, EntityOperation.BODY);
EntityOperation.queue(context, message, EntityOperation.BODY);
if (!message.ui_seen)
EntityOperation.queue(context, db, message, EntityOperation.SEEN, true);
EntityOperation.queue(context, message, EntityOperation.SEEN, true);
}
db.setTransactionSuccessful();
@ -3044,7 +3044,7 @@ public class FragmentMessages extends FragmentBase {
EntityMessage message = db.message().getMessage(target.id);
if (message != null) {
Log.i("Move id=" + target.id + " target=" + target.folder.name);
EntityOperation.queue(context, db, message, EntityOperation.MOVE, target.folder.id);
EntityOperation.queue(context, message, EntityOperation.MOVE, target.folder.id);
}
}
@ -3124,7 +3124,7 @@ public class FragmentMessages extends FragmentBase {
EntityMessage message = db.message().getMessage(target.id);
if (message != null && message.ui_hide) {
Log.i("Move id=" + id + " target=" + target.folder.name);
EntityOperation.queue(context, db, message, EntityOperation.MOVE, target.folder.id);
EntityOperation.queue(context, message, EntityOperation.MOVE, target.folder.id);
}
}

View File

@ -205,7 +205,7 @@ public class Log {
Core.updateMessageSize(context, draft.id);
EntityOperation.queue(context, db, draft, EntityOperation.ADD);
EntityOperation.queue(context, draft, EntityOperation.ADD);
db.setTransactionSuccessful();
} finally {

View File

@ -365,7 +365,7 @@ public class ServiceSend extends LifecycleService {
if (ident.store_sent && sent != null) {
db.message().setMessageFolder(message.id, sent.id);
message.folder = sent.id;
EntityOperation.queue(this, db, message, EntityOperation.ADD);
EntityOperation.queue(this, message, EntityOperation.ADD);
} else {
if (!BuildConfig.DEBUG && !debug)
db.message().setMessageUiHide(message.id, true);
@ -374,7 +374,7 @@ public class ServiceSend extends LifecycleService {
if (message.inreplyto != null) {
List<EntityMessage> replieds = db.message().getMessageByMsgId(message.account, message.inreplyto);
for (EntityMessage replied : replieds)
EntityOperation.queue(this, db, replied, EntityOperation.ANSWERED, true);
EntityOperation.queue(this, replied, EntityOperation.ANSWERED, true);
}
db.setTransactionSuccessful();

View File

@ -118,7 +118,7 @@ public class ServiceUI extends IntentService {
if (message != null) {
EntityFolder trash = db.folder().getFolderByType(message.account, EntityFolder.TRASH);
if (trash != null)
EntityOperation.queue(this, db, message, EntityOperation.MOVE, trash.id);
EntityOperation.queue(this, message, EntityOperation.MOVE, trash.id);
}
db.setTransactionSuccessful();
@ -138,7 +138,7 @@ public class ServiceUI extends IntentService {
if (archive == null)
archive = db.folder().getFolderByType(message.account, EntityFolder.TRASH);
if (archive != null)
EntityOperation.queue(this, db, message, EntityOperation.MOVE, archive.id);
EntityOperation.queue(this, message, EntityOperation.MOVE, archive.id);
}
db.setTransactionSuccessful();
@ -160,8 +160,8 @@ public class ServiceUI extends IntentService {
List<EntityMessage> messages = db.message().getMessageByThread(
message.account, message.thread, threading ? null : id, null);
for (EntityMessage threaded : messages) {
EntityOperation.queue(this, db, threaded, EntityOperation.FLAG, true);
EntityOperation.queue(this, db, threaded, EntityOperation.SEEN, true);
EntityOperation.queue(this, threaded, EntityOperation.FLAG, true);
EntityOperation.queue(this, threaded, EntityOperation.SEEN, true);
}
}
@ -178,7 +178,7 @@ public class ServiceUI extends IntentService {
EntityMessage message = db.message().getMessage(id);
if (message != null)
EntityOperation.queue(this, db, message, EntityOperation.SEEN, true);
EntityOperation.queue(this, message, EntityOperation.SEEN, true);
db.setTransactionSuccessful();
} finally {
@ -214,10 +214,10 @@ public class ServiceUI extends IntentService {
if (EntityFolder.OUTBOX.equals(folder.type)) {
Log.i("Delayed send id=" + message.id);
EntityOperation.queue(
this, db, message, EntityOperation.SEND);
this, message, EntityOperation.SEND);
} else if (folder.notify) {
EntityOperation.queue(
this, db, message, EntityOperation.SEEN, false);
this, message, EntityOperation.SEEN, false);
db.message().setMessageUiIgnored(message.id, false);
}
}