aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de
diff options
context:
space:
mode:
authorChristian Schneppe <christian@pix-art.de>2017-03-14 20:56:50 +0100
committerChristian Schneppe <christian@pix-art.de>2017-03-14 20:56:50 +0100
commit9f86aadbb290c6733aed07ee701e30265dd08ce4 (patch)
tree4fab7137460ec8fec98f015e37407c5ab3bc746b /src/main/java/de
parente15c8b73161faf9bd2acb2a548fb0e77a10f218e (diff)
update shortcutbadger async
Diffstat (limited to 'src/main/java/de')
-rw-r--r--src/main/java/de/pixart/messenger/services/XmppConnectionService.java29
1 files changed, 20 insertions, 9 deletions
diff --git a/src/main/java/de/pixart/messenger/services/XmppConnectionService.java b/src/main/java/de/pixart/messenger/services/XmppConnectionService.java
index 4ea6b5f35..cd40442cd 100644
--- a/src/main/java/de/pixart/messenger/services/XmppConnectionService.java
+++ b/src/main/java/de/pixart/messenger/services/XmppConnectionService.java
@@ -49,7 +49,11 @@ import org.openintents.openpgp.util.OpenPgpServiceConnection;
import java.io.FileDescriptor;
import java.io.FileNotFoundException;
+import java.io.IOException;
import java.math.BigInteger;
+import java.net.InetSocketAddress;
+import java.net.Socket;
+import java.net.SocketAddress;
import java.net.URL;
import java.security.SecureRandom;
import java.security.cert.CertificateException;
@@ -120,6 +124,7 @@ import de.pixart.messenger.utils.PhoneHelper;
import de.pixart.messenger.utils.ReplacingSerialSingleThreadExecutor;
import de.pixart.messenger.utils.SerialSingleThreadExecutor;
import de.pixart.messenger.utils.Namespace;
+import de.pixart.messenger.utils.SocksSocketFactory;
import de.pixart.messenger.utils.XmppUri;
import de.pixart.messenger.xml.Element;
import de.pixart.messenger.xmpp.OnBindListener;
@@ -3534,16 +3539,22 @@ public class XmppConnectionService extends Service {
}
public synchronized void updateUnreadCountBadge() {
- int count = unreadCount();
- if (unreadCount != count) {
- Log.d(Config.LOGTAG, "update unread count to " + count);
- if (count > 0) {
- ShortcutBadger.applyCount(getApplicationContext(), count);
- } else {
- ShortcutBadger.removeCount(getApplicationContext());
+ new Thread(new Runnable() {
+
+ @Override
+ public void run() {
+ int count = unreadCount();
+ if (unreadCount != count) {
+ Log.d(Config.LOGTAG, "update unread count to " + count);
+ if (count > 0) {
+ ShortcutBadger.applyCount(getApplicationContext(), count);
+ } else {
+ ShortcutBadger.removeCount(getApplicationContext());
+ }
+ unreadCount = count;
+ }
}
- unreadCount = count;
- }
+ }).start();
}
public void sendReadMarker(final Conversation conversation) {