From 5a9a3eb1405fb21da35a2b8f3d377421b98cad8c Mon Sep 17 00:00:00 2001 From: sk Date: Tue, 21 Mar 2023 10:03:31 +0100 Subject: [PATCH] session-specific notification badge fix sk22#470 --- .../org/joinmastodon/android/PushNotificationReceiver.java | 2 +- .../android/events/NotificationReceivedEvent.java | 5 +++-- .../org/joinmastodon/android/fragments/HomeFragment.java | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/mastodon/src/main/java/org/joinmastodon/android/PushNotificationReceiver.java b/mastodon/src/main/java/org/joinmastodon/android/PushNotificationReceiver.java index 24fd0084a..2921ece3c 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/PushNotificationReceiver.java +++ b/mastodon/src/main/java/org/joinmastodon/android/PushNotificationReceiver.java @@ -85,7 +85,7 @@ public class PushNotificationReceiver extends BroadcastReceiver{ } String accountID=account.getID(); PushNotification pn=AccountSessionManager.getInstance().getAccount(accountID).getPushSubscriptionManager().decryptNotification(k, p, s); - E.post(new NotificationReceivedEvent(pn.notificationId+"")); + E.post(new NotificationReceivedEvent(accountID, pn.notificationId+"")); new GetNotificationByID(pn.notificationId+"") .setCallback(new Callback<>(){ @Override diff --git a/mastodon/src/main/java/org/joinmastodon/android/events/NotificationReceivedEvent.java b/mastodon/src/main/java/org/joinmastodon/android/events/NotificationReceivedEvent.java index 0ea284f07..7641a4bdb 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/events/NotificationReceivedEvent.java +++ b/mastodon/src/main/java/org/joinmastodon/android/events/NotificationReceivedEvent.java @@ -1,8 +1,9 @@ package org.joinmastodon.android.events; public class NotificationReceivedEvent { - public String id; - public NotificationReceivedEvent(String id) { + public String account, id; + public NotificationReceivedEvent(String account, String id) { + this.account = account; this.id = id; } } diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/HomeFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/HomeFragment.java index 9769cecf2..c0dfcd9e9 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/HomeFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/HomeFragment.java @@ -400,7 +400,7 @@ public class HomeFragment extends AppKitFragment implements OnBackPressedListene @Subscribe public void onNotificationReceived(NotificationReceivedEvent notificationReceivedEvent) { - setNotificationBadge(true); + if (notificationReceivedEvent.account.equals(accountID)) setNotificationBadge(true); } @Subscribe