From 8f8751f4acb34a14a01ea2b50652c47b07b88003 Mon Sep 17 00:00:00 2001
From: akwizgran <akwizgran@users.sourceforge.net>
Date: Fri, 7 Jul 2017 15:34:00 +0100
Subject: [PATCH] Block blog notifications when viewing combined feed.

---
 .../AndroidNotificationManagerImpl.java       | 30 +++++++++++++++++++
 .../android/blog/FeedControllerImpl.java      |  3 ++
 .../android/AndroidNotificationManager.java   |  6 ++++
 3 files changed, 39 insertions(+)

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 7d774721af..dfdfc583ee 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
@@ -600,6 +600,16 @@ class AndroidNotificationManagerImpl implements AndroidNotificationManager,
 		}
 	}
 
+	@Override
+	public void clearAllBlogPostNotifications() {
+		androidExecutor.runOnUiThread(new Runnable() {
+			@Override
+			public void run() {
+				clearBlogPostNotification();
+			}
+		});
+	}
+
 	private void showIntroductionNotification() {
 		androidExecutor.runOnUiThread(new Runnable() {
 			@Override
@@ -689,4 +699,24 @@ class AndroidNotificationManagerImpl implements AndroidNotificationManager,
 			}
 		});
 	}
+
+	@Override
+	public void blockAllBlogPostNotifications() {
+		androidExecutor.runOnUiThread(new Runnable() {
+			@Override
+			public void run() {
+				blockBlogs = true;
+			}
+		});
+	}
+
+	@Override
+	public void unblockAllBlogPostNotifications() {
+		androidExecutor.runOnUiThread(new Runnable() {
+			@Override
+			public void run() {
+				blockBlogs = false;
+			}
+		});
+	}
 }
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/blog/FeedControllerImpl.java b/briar-android/src/main/java/org/briarproject/briar/android/blog/FeedControllerImpl.java
index 84b3c07390..1d02c8fdc1 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/blog/FeedControllerImpl.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/blog/FeedControllerImpl.java
@@ -53,11 +53,14 @@ class FeedControllerImpl extends BaseControllerImpl
 	public void onStart() {
 		super.onStart();
 		if (listener == null) throw new IllegalStateException();
+		notificationManager.blockAllBlogPostNotifications();
+		notificationManager.clearAllBlogPostNotifications();
 	}
 
 	@Override
 	public void onStop() {
 		super.onStop();
+		notificationManager.unblockAllBlogPostNotifications();
 	}
 
 	@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 865e7d77f4..167ee816b4 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
@@ -28,6 +28,8 @@ public interface AndroidNotificationManager {
 
 	void clearBlogPostNotification(GroupId g);
 
+	void clearAllBlogPostNotifications();
+
 	void blockContactNotification(ContactId c);
 
 	void unblockContactNotification(ContactId c);
@@ -35,4 +37,8 @@ public interface AndroidNotificationManager {
 	void blockNotification(GroupId g);
 
 	void unblockNotification(GroupId g);
+
+	void blockAllBlogPostNotifications();
+
+	void unblockAllBlogPostNotifications();
 }
-- 
GitLab