From 816eb865424cd51eeff73968f062e434a8d171d1 Mon Sep 17 00:00:00 2001 From: Vitaly Takmazov Date: Sun, 7 Feb 2016 21:43:02 +0300 Subject: fix push queries and jabber serialization --- src/main/java/com/juick/PushComponent.java | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) (limited to 'src/main/java/com/juick/PushComponent.java') diff --git a/src/main/java/com/juick/PushComponent.java b/src/main/java/com/juick/PushComponent.java index 3a96ff16..b77d2937 100644 --- a/src/main/java/com/juick/PushComponent.java +++ b/src/main/java/com/juick/PushComponent.java @@ -78,7 +78,7 @@ public class PushComponent implements JuickComponent { if (jmsg == null) { return; } - logger.info("Message to push: " + msg.toString()); + logger.info("Message to push: " + jmsg); List subscribedUsers = new ArrayList<>(); boolean isPM = jmsg.getMID() == 0; boolean isReply = jmsg.getRID() > 0; @@ -101,16 +101,17 @@ public class PushComponent implements JuickComponent { } /*** ANDROID ***/ - List regids; + List regids = new ArrayList<>(); if (isPM) { - regids = new ArrayList<>(); String targetId = PushQueries.getAndroidRegID(sql, pmTo); if (targetId != null && !targetId.isEmpty()) { regids.add(targetId); } } else { List uids = subscribedUsers.stream().map(User::getUID).collect(Collectors.toList()); - regids = PushQueries.getAndroidTokens(sql, uids); + if (uids.size() > 0) { + regids = PushQueries.getAndroidTokens(sql, uids); + } } if (!regids.isEmpty()) { @@ -134,16 +135,17 @@ public class PushComponent implements JuickComponent { } /*** WinPhone ***/ - List urls; + List urls = new ArrayList<>(); if (isPM) { - urls = new ArrayList<>(); String targetURL = PushQueries.getWinPhoneURL(sql, pmTo); if (!TextUtils.isEmpty(targetURL)) { urls.add(targetURL); } } else { - urls = PushQueries.getWindowsTokens(sql, - subscribedUsers.stream().map(User::getUID).collect(Collectors.toList())); + List uids = subscribedUsers.stream().map(User::getUID).collect(Collectors.toList()); + if (uids.size() > 0) { + urls = PushQueries.getWindowsTokens(sql, uids); + } } @@ -181,16 +183,17 @@ public class PushComponent implements JuickComponent { } /*** iOS ***/ - List tokens; + List tokens = new ArrayList<>(); if (isPM) { - tokens = new ArrayList<>(); String targetToken = PushQueries.getAPNSToken(sql, pmTo); if (targetToken != null && !targetToken.isEmpty()) { tokens.add(targetToken); } } else { - tokens = PushQueries.getAPNSTokens(sql, - subscribedUsers.stream().map(User::getUID).collect(Collectors.toList())); + List uids = subscribedUsers.stream().map(User::getUID).collect(Collectors.toList()); + if (uids.size() > 0) { + tokens = PushQueries.getAPNSTokens(sql, uids); + } } if (!tokens.isEmpty()) { ApnsService service = APNS.newService().withCert("/etc/juick/ios.p12", "juick") -- cgit v1.2.3