Fixed notifications

pull/162/head
M66B 5 years ago
parent 27d7eddddc
commit b25c65e53b

@ -2133,8 +2133,8 @@ class Core {
remove.remove(id);
Log.i("Notify existing=" + id);
} else {
remove.remove(-id);
add.add(id);
remove.remove(-id);
Log.i("Notify adding=" + id);
}
}
@ -2150,6 +2150,8 @@ class Core {
Log.i("Notify group=" + group + " count=" + notifications.size() +
" added=" + add.size() + " removed=" + remove.size());
DB db = DB.getInstance(context);
if (notifications.size() == 0) {
String tag = "unseen." + group + "." + 0;
Log.i("Notify cancel tag=" + tag);
@ -2160,6 +2162,9 @@ class Core {
String tag = "unseen." + group + "." + Math.abs(id);
Log.i("Notify cancel tag=" + tag);
nm.cancel(tag, 1);
groupNotifying.get(group).remove(id);
db.message().setMessageNotifying(Math.abs(id), 0);
}
for (Notification notification : notifications) {
@ -2169,18 +2174,12 @@ class Core {
Log.i("Notifying tag=" + tag +
(Build.VERSION.SDK_INT < Build.VERSION_CODES.O ? "" : " channel=" + notification.getChannelId()));
nm.notify(tag, 1, notification);
}
}
if (remove.size() + add.size() > 0) {
DB db = DB.getInstance(context);
for (long id : remove) {
groupNotifying.get(group).remove(id);
db.message().setMessageNotifying(Math.abs(id), 0);
}
for (long id : add) {
groupNotifying.get(group).add(id);
db.message().setMessageNotifying(Math.abs(id), (int) Math.signum(id));
if (id != 0) {
groupNotifying.get(group).add(id);
groupNotifying.get(group).remove(-id);
db.message().setMessageNotifying(Math.abs(id), (int) Math.signum(id));
}
}
}
}

Loading…
Cancel
Save