mirror of https://github.com/M66B/FairEmail.git
Added checks
This commit is contained in:
parent
908d992fa9
commit
dcec1e634d
|
@ -675,15 +675,20 @@ class Core {
|
||||||
private static void onKeyword(Context context, JSONArray jargs, EntityFolder folder, EntityMessage message, IMAPFolder ifolder) throws MessagingException, JSONException {
|
private static void onKeyword(Context context, JSONArray jargs, EntityFolder folder, EntityMessage message, IMAPFolder ifolder) throws MessagingException, JSONException {
|
||||||
// Set/reset user flag
|
// Set/reset user flag
|
||||||
DB db = DB.getInstance(context);
|
DB db = DB.getInstance(context);
|
||||||
|
// https://tools.ietf.org/html/rfc3501#section-2.3.2
|
||||||
|
String keyword = jargs.getString(0);
|
||||||
|
boolean set = jargs.getBoolean(1);
|
||||||
|
|
||||||
|
if (TextUtils.isEmpty(keyword))
|
||||||
|
throw new IllegalArgumentException("keyword/empty");
|
||||||
|
|
||||||
if (!ifolder.getPermanentFlags().contains(Flags.Flag.USER)) {
|
if (!ifolder.getPermanentFlags().contains(Flags.Flag.USER)) {
|
||||||
db.message().setMessageKeywords(message.id, DB.Converters.fromStringArray(null));
|
db.message().setMessageKeywords(message.id, DB.Converters.fromStringArray(null));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// https://tools.ietf.org/html/rfc3501#section-2.3.2
|
if (message.uid == null)
|
||||||
String keyword = jargs.getString(0);
|
throw new IllegalArgumentException("keyword/uid");
|
||||||
boolean set = jargs.getBoolean(1);
|
|
||||||
|
|
||||||
Message imessage = ifolder.getMessageByUID(message.uid);
|
Message imessage = ifolder.getMessageByUID(message.uid);
|
||||||
if (imessage == null)
|
if (imessage == null)
|
||||||
|
@ -699,9 +704,18 @@ class Core {
|
||||||
String label = jargs.getString(0);
|
String label = jargs.getString(0);
|
||||||
boolean set = jargs.getBoolean(1);
|
boolean set = jargs.getBoolean(1);
|
||||||
|
|
||||||
|
if (TextUtils.isEmpty(label))
|
||||||
|
throw new IllegalArgumentException("label/empty");
|
||||||
|
|
||||||
|
if (message.uid == null)
|
||||||
|
throw new IllegalArgumentException("label/uid");
|
||||||
|
|
||||||
DB db = DB.getInstance(context);
|
DB db = DB.getInstance(context);
|
||||||
|
|
||||||
if (!set && label.equals(folder.name)) {
|
if (!set && label.equals(folder.name)) {
|
||||||
|
if (TextUtils.isEmpty(message.msgid))
|
||||||
|
throw new IllegalArgumentException("label/msgid");
|
||||||
|
|
||||||
// Prevent deleting message
|
// Prevent deleting message
|
||||||
EntityFolder archive = db.folder().getFolderByType(message.account, EntityFolder.ARCHIVE);
|
EntityFolder archive = db.folder().getFolderByType(message.account, EntityFolder.ARCHIVE);
|
||||||
if (archive == null)
|
if (archive == null)
|
||||||
|
|
Loading…
Reference in New Issue