diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index ecb83ef..64498a0 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -3,10 +3,7 @@
-
-
-
@@ -33,6 +30,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
@@ -43,10 +52,10 @@
-
+
-
+
@@ -136,10 +145,10 @@
-
+
@@ -891,7 +900,7 @@
-
+
1434854005227
@@ -1031,11 +1040,17 @@
1435326238547
-
+
+ 1435351149105
+
+
+ 1435351149105
+
+
-
+
@@ -1057,7 +1072,7 @@
-
+
@@ -1065,6 +1080,7 @@
+
@@ -1074,7 +1090,6 @@
-
@@ -1171,13 +1186,13 @@
file://$PROJECT_DIR$/src/main/java/org/telegram/updatesreceivers/UpdatesThread.java
- 114
+ 105
file://$PROJECT_DIR$/src/main/java/org/telegram/updatesreceivers/UpdatesThread.java
- 108
+ 99
@@ -1200,20 +1215,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -1347,21 +1348,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -1447,6 +1433,7 @@
+
@@ -1470,6 +1457,7 @@
+
@@ -1553,14 +1541,6 @@
-
-
-
-
-
-
-
-
@@ -1598,7 +1578,7 @@
-
+
@@ -1606,6 +1586,48 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/main/java/org/telegram/updatesreceivers/UpdatesThread.java b/src/main/java/org/telegram/updatesreceivers/UpdatesThread.java
index f05b2e3..33c42c2 100644
--- a/src/main/java/org/telegram/updatesreceivers/UpdatesThread.java
+++ b/src/main/java/org/telegram/updatesreceivers/UpdatesThread.java
@@ -1,11 +1,9 @@
package org.telegram.updatesreceivers;
-import com.sun.corba.se.impl.oa.toa.TOA;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.entity.UrlEncodedFormEntity;
-import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.conn.ssl.NoopHostnameVerifier;
import org.apache.http.entity.BufferedHttpEntity;
@@ -16,12 +14,10 @@ import org.apache.http.util.EntityUtils;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
-import org.telegram.BuildVars;
import org.telegram.api.Update;
import org.telegram.database.DatabaseManager;
import org.telegram.methods.Constants;
import org.telegram.methods.GetUpdates;
-import org.telegram.methods.SendMessage;
import org.telegram.services.BotLogger;
import org.telegram.updateshandlers.UpdatesCallback;
@@ -29,9 +25,7 @@ import java.io.IOException;
import java.io.InvalidObjectException;
import java.util.ArrayList;
import java.util.List;
-import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentLinkedDeque;
-import java.util.concurrent.ConcurrentLinkedQueue;
/**
* @author Ruben Bermudez
@@ -47,7 +41,7 @@ public class UpdatesThread {
private final HandlerThread handlerThread;
private int lastReceivedUpdate;
private String token;
- private final ConcurrentLinkedQueue receivedUpdates = new ConcurrentLinkedQueue<>();
+ private final ConcurrentLinkedDeque receivedUpdates = new ConcurrentLinkedDeque<>();
public UpdatesThread(String token, UpdatesCallback callback) {
this.token = token;
@@ -96,17 +90,14 @@ public class UpdatesThread {
JSONArray jsonArray = jsonObject.getJSONArray("result");
log.debug(jsonArray.toString());
if (jsonArray.length() != 0) {
- List updates = new ArrayList<>();
for (int i = 0; i < jsonArray.length(); i++) {
Update update = new Update(jsonArray.getJSONObject(i));
if (update.getUpdateId() > lastReceivedUpdate) {
lastReceivedUpdate = update.getUpdateId();
+ receivedUpdates.addFirst(update);
}
- updates.add(update);
-
}
synchronized (receivedUpdates) {
- receivedUpdates.addAll(updates);
receivedUpdates.notifyAll();
}
} else {
@@ -135,7 +126,7 @@ public class UpdatesThread {
setPriority(Thread.MIN_PRIORITY);
while(true) {
try {
- Update update = receivedUpdates.poll();
+ Update update = receivedUpdates.pollLast();
if (update == null) {
synchronized (receivedUpdates) {
try {
@@ -144,7 +135,7 @@ public class UpdatesThread {
log.error(e);
continue;
}
- update = receivedUpdates.poll();
+ update = receivedUpdates.pollLast();
if (update == null) {
continue;
}