From 3b02797639b94a6ad65e0984ba4be04ae415e462 Mon Sep 17 00:00:00 2001 From: Torsten Grote Date: Tue, 5 Jan 2021 12:03:38 -0300 Subject: [PATCH] Block forum post notifications while viewing forum list --- .../android/AndroidNotificationManagerImpl.java | 15 +++++++++++++-- .../briar/android/forum/ForumListViewModel.java | 4 ++-- .../api/android/AndroidNotificationManager.java | 4 ++++ 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/briar-android/src/main/java/org/briarproject/briar/android/AndroidNotificationManagerImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/AndroidNotificationManagerImpl.java index 318153320..7bad14178 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/AndroidNotificationManagerImpl.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/AndroidNotificationManagerImpl.java @@ -109,7 +109,8 @@ class AndroidNotificationManagerImpl implements AndroidNotificationManager, @Nullable private GroupId blockedGroup = null; private boolean blockSignInReminder = false; - private boolean blockGroups = false, blockBlogs = false; + private boolean blockForums = false, blockGroups = false, + blockBlogs = false; private long lastSound = 0; private volatile Settings settings = new Settings(); @@ -453,6 +454,7 @@ class AndroidNotificationManagerImpl implements AndroidNotificationManager, @UiThread private void showForumPostNotification(GroupId g) { + if (blockForums) return; if (g.equals(blockedGroup)) return; forumCounts.add(g); updateForumPostNotification(true); @@ -682,10 +684,19 @@ class AndroidNotificationManagerImpl implements AndroidNotificationManager, }); } + @Override + public void blockAllForumPostNotifications() { + androidExecutor.runOnUiThread((Runnable) () -> blockForums = true); + } + + @Override + public void unblockAllForumPostNotifications() { + androidExecutor.runOnUiThread((Runnable) () -> blockForums = false); + } + @Override public void blockAllGroupMessageNotifications() { androidExecutor.runOnUiThread((Runnable) () -> blockGroups = true); - } @Override diff --git a/briar-android/src/main/java/org/briarproject/briar/android/forum/ForumListViewModel.java b/briar-android/src/main/java/org/briarproject/briar/android/forum/ForumListViewModel.java index 4f98c823e..af86a9d95 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/forum/ForumListViewModel.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/forum/ForumListViewModel.java @@ -92,11 +92,11 @@ class ForumListViewModel extends DbViewModel implements EventListener { } void blockAllForumPostNotifications() { - // TODO + notificationManager.blockAllForumPostNotifications(); } void unblockAllForumPostNotifications() { - // TODO + notificationManager.unblockAllForumPostNotifications(); } @Override diff --git a/briar-android/src/main/java/org/briarproject/briar/api/android/AndroidNotificationManager.java b/briar-android/src/main/java/org/briarproject/briar/api/android/AndroidNotificationManager.java index b2eeebd16..9e69808d5 100644 --- a/briar-android/src/main/java/org/briarproject/briar/api/android/AndroidNotificationManager.java +++ b/briar-android/src/main/java/org/briarproject/briar/api/android/AndroidNotificationManager.java @@ -82,6 +82,10 @@ public interface AndroidNotificationManager { void unblockNotification(GroupId g); + void blockAllForumPostNotifications(); + + void unblockAllForumPostNotifications(); + void blockAllGroupMessageNotifications(); void unblockAllGroupMessageNotifications();