From 4e2d394e4dee96dc50a81f11aacd98dc249bf7a5 Mon Sep 17 00:00:00 2001 From: mrbesen Date: Tue, 19 Mar 2019 02:42:33 +0100 Subject: [PATCH] Added Async prio --- .../java/de/mrbesen/telegram/AsyncHandler.java | 14 ++++++++++++-- .../java/de/mrbesen/telegram/MessageBuilder.java | 15 +++++++++++++-- .../mrbesen/telegram/commands/CommandManager.java | 4 +--- 3 files changed, 26 insertions(+), 7 deletions(-) diff --git a/src/main/java/de/mrbesen/telegram/AsyncHandler.java b/src/main/java/de/mrbesen/telegram/AsyncHandler.java index 843fc15..33df60f 100644 --- a/src/main/java/de/mrbesen/telegram/AsyncHandler.java +++ b/src/main/java/de/mrbesen/telegram/AsyncHandler.java @@ -17,8 +17,18 @@ public class AsyncHandler implements Runnable { } public void enque(Task t) { - synchronized (tasks) { - tasks.add(t); + enque(t, false); + } + + public void enque(Task t, boolean priority) { + if(priority) { + synchronized (tasks) { + tasks.add(0, t); + } + } else { + synchronized (tasks) { + tasks.add(t); + } } //make sure its running diff --git a/src/main/java/de/mrbesen/telegram/MessageBuilder.java b/src/main/java/de/mrbesen/telegram/MessageBuilder.java index d368388..c41ea8b 100644 --- a/src/main/java/de/mrbesen/telegram/MessageBuilder.java +++ b/src/main/java/de/mrbesen/telegram/MessageBuilder.java @@ -18,6 +18,7 @@ public class MessageBuilder { private int reply_to_message_id = 0; private TReplyMarkup markup = null; private boolean async = false; + private boolean asyncprio = false; private Callback callback = null; private Callback excpt = null; private Attachment attachmenttype = Attachment.none; @@ -87,6 +88,12 @@ public class MessageBuilder { return this; } + public MessageBuilder setAsyncPrio() { + async = true; + asyncprio = true; + return this; + } + public MessageBuilder setCallback(Callback clb) { callback = clb; return this; @@ -171,8 +178,11 @@ public class MessageBuilder { } String q = "chat_id=" + reciver_id + text + optionals + "&disable_web_page_preview=" + no_web_view + "&disable_notification=" + silent + attachment; - if(async) - return new AsyncSendable(cmd, q, callback, excpt); + if(async) { + AsyncSendable tmp = new AsyncSendable(cmd, q, callback, excpt); + tmp.prio = asyncprio; + return tmp; + } return new SendableMessage(cmd, q); } @@ -196,6 +206,7 @@ public class MessageBuilder { Callback callback; Callback excpt = null; + boolean prio = false; public AsyncSendable(String cmd, String q, Callback clb, Callback excpt) { super(cmd, q); diff --git a/src/main/java/de/mrbesen/telegram/commands/CommandManager.java b/src/main/java/de/mrbesen/telegram/commands/CommandManager.java index 03254ed..ceb35eb 100644 --- a/src/main/java/de/mrbesen/telegram/commands/CommandManager.java +++ b/src/main/java/de/mrbesen/telegram/commands/CommandManager.java @@ -1,13 +1,11 @@ package de.mrbesen.telegram.commands; -import org.apache.logging.log4j.message.TimestampMessage; - import com.google.common.collect.ArrayListMultimap; import com.google.common.collect.Multimap; +import de.mrbesen.telegram.TelegramAPI; import de.mrbesen.telegram.objects.TMessage; import de.mrbesen.telegram.objects.TUser; -import de.mrbesen.telegram.*; public class CommandManager {