diff --git a/app/src/main/java/com/keylesspalace/tusky/MainActivity.kt b/app/src/main/java/com/keylesspalace/tusky/MainActivity.kt index 1e1473256..7a19149f6 100644 --- a/app/src/main/java/com/keylesspalace/tusky/MainActivity.kt +++ b/app/src/main/java/com/keylesspalace/tusky/MainActivity.kt @@ -354,7 +354,6 @@ class MainActivity : BottomSheetActivity(), ActionButtonActivity, HasAndroidInje override fun onResume() { super.onResume() - NotificationHelper.clearNotificationsForActiveAccount(this, accountManager) val currentEmojiPack = preferences.getString(EMOJI_PREFERENCE, "") if (currentEmojiPack != selectedEmojiPack) { Log.d( @@ -726,10 +725,6 @@ class MainActivity : BottomSheetActivity(), ActionButtonActivity, HasAndroidInje onTabSelectedListener = object : OnTabSelectedListener { override fun onTabSelected(tab: TabLayout.Tab) { - if (tab.position == notificationTabPosition) { - NotificationHelper.clearNotificationsForActiveAccount(this@MainActivity, accountManager) - } - binding.mainToolbar.title = tabs[tab.position].title(this@MainActivity) refreshComposeButtonState(tabAdapter, tab.position) diff --git a/app/src/main/java/com/keylesspalace/tusky/fragment/NotificationsFragment.java b/app/src/main/java/com/keylesspalace/tusky/fragment/NotificationsFragment.java index 5023b85e8..9c9d3c6d9 100644 --- a/app/src/main/java/com/keylesspalace/tusky/fragment/NotificationsFragment.java +++ b/app/src/main/java/com/keylesspalace/tusky/fragment/NotificationsFragment.java @@ -63,6 +63,7 @@ import com.keylesspalace.tusky.appstore.FavoriteEvent; import com.keylesspalace.tusky.appstore.PinEvent; import com.keylesspalace.tusky.appstore.PreferenceChangedEvent; import com.keylesspalace.tusky.appstore.ReblogEvent; +import com.keylesspalace.tusky.components.notifications.NotificationHelper; import com.keylesspalace.tusky.databinding.FragmentTimelineNotificationsBinding; import com.keylesspalace.tusky.db.AccountEntity; import com.keylesspalace.tusky.db.AccountManager; @@ -1210,6 +1211,9 @@ public class NotificationsFragment extends SFragment implements @Override public void onResume() { super.onResume(); + + NotificationHelper.clearNotificationsForActiveAccount(requireContext(), accountManager); + String rawAccountNotificationFilter = accountManager.getActiveAccount().getNotificationsFilter(); Set accountNotificationFilter = NotificationTypeConverterKt.deserialize(rawAccountNotificationFilter); if (!notificationFilter.equals(accountNotificationFilter)) { diff --git a/app/src/main/java/com/keylesspalace/tusky/receiver/SendStatusBroadcastReceiver.kt b/app/src/main/java/com/keylesspalace/tusky/receiver/SendStatusBroadcastReceiver.kt index 0ac30b108..dbeff4068 100644 --- a/app/src/main/java/com/keylesspalace/tusky/receiver/SendStatusBroadcastReceiver.kt +++ b/app/src/main/java/com/keylesspalace/tusky/receiver/SendStatusBroadcastReceiver.kt @@ -117,7 +117,8 @@ class SendStatusBroadcastReceiver : BroadcastReceiver() { builder.setCategory(NotificationCompat.CATEGORY_SOCIAL) builder.setOnlyAlertOnce(true) - notificationManager.notify(notificationId, builder.build()) + // There is a separate "I am sending" notification, so simply remove the handled one. + notificationManager.cancel(notificationId) } } }