Fix inbox counter not always updating (#7524)

This commit is contained in:
ByteHamster 2024-11-27 00:15:09 +01:00 committed by GitHub
parent fff9446e1b
commit 4048438a4c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -44,6 +44,7 @@ import com.google.android.material.navigation.NavigationBarView;
import com.google.android.material.snackbar.Snackbar; import com.google.android.material.snackbar.Snackbar;
import de.danoeh.antennapod.R; import de.danoeh.antennapod.R;
import de.danoeh.antennapod.event.EpisodeDownloadEvent; import de.danoeh.antennapod.event.EpisodeDownloadEvent;
import de.danoeh.antennapod.event.FeedListUpdateEvent;
import de.danoeh.antennapod.event.FeedUpdateRunningEvent; import de.danoeh.antennapod.event.FeedUpdateRunningEvent;
import de.danoeh.antennapod.event.MessageEvent; import de.danoeh.antennapod.event.MessageEvent;
import de.danoeh.antennapod.event.UnreadItemsUpdateEvent; import de.danoeh.antennapod.event.UnreadItemsUpdateEvent;
@ -524,11 +525,20 @@ public class MainActivity extends CastEnabledActivity {
MenuItem moreItem = menu.add(0, R.id.bottom_navigation_more, 0, getString(R.string.searchpreference_more)); MenuItem moreItem = menu.add(0, R.id.bottom_navigation_more, 0, getString(R.string.searchpreference_more));
moreItem.setIcon(R.drawable.dots_vertical); moreItem.setIcon(R.drawable.dots_vertical);
bottomNavigationView.setOnItemSelectedListener(bottomItemSelectedListener); bottomNavigationView.setOnItemSelectedListener(bottomItemSelectedListener);
updateBottomNavigationBadgeIfNeeded(null); updateBottomNavigationBadgeIfNeeded();
} }
@Subscribe @Subscribe(threadMode = ThreadMode.MAIN)
public void updateBottomNavigationBadgeIfNeeded(@Nullable UnreadItemsUpdateEvent ignore) { public void onUnreadItemsChanged(UnreadItemsUpdateEvent event) {
updateBottomNavigationBadgeIfNeeded();
}
@Subscribe(threadMode = ThreadMode.MAIN)
public void onFeedListChanged(FeedListUpdateEvent event) {
updateBottomNavigationBadgeIfNeeded();
}
private void updateBottomNavigationBadgeIfNeeded() {
if (bottomNavigationView == null) { if (bottomNavigationView == null) {
return; return;
} else if (bottomNavigationView.getMenu().findItem(R.id.bottom_navigation_inbox) == null) { } else if (bottomNavigationView.getMenu().findItem(R.id.bottom_navigation_inbox) == null) {