From 249b85cd2676fb07d5bcd6cead22c78b3462bc5a Mon Sep 17 00:00:00 2001 From: akwizgran Date: Wed, 9 Oct 2019 16:22:04 +0100 Subject: [PATCH] Add feature flag for private message deletion. --- .../main/java/org/briarproject/bramble/api/FeatureFlags.java | 2 ++ .../bramble/test/BrambleCoreIntegrationTestModule.java | 5 +++++ .../main/java/org/briarproject/briar/android/AppModule.java | 5 +++++ .../briar/android/conversation/ConversationActivity.java | 5 +++++ .../java/org/briarproject/briar/headless/HeadlessModule.kt | 1 + .../org/briarproject/briar/headless/HeadlessTestModule.kt | 1 + 6 files changed, 19 insertions(+) diff --git a/bramble-api/src/main/java/org/briarproject/bramble/api/FeatureFlags.java b/bramble-api/src/main/java/org/briarproject/bramble/api/FeatureFlags.java index d30da78f2..d9410b26a 100644 --- a/bramble-api/src/main/java/org/briarproject/bramble/api/FeatureFlags.java +++ b/bramble-api/src/main/java/org/briarproject/bramble/api/FeatureFlags.java @@ -8,4 +8,6 @@ public interface FeatureFlags { boolean shouldEnableImageAttachments(); boolean shouldEnableRemoteContacts(); + + boolean shouldEnablePrivateMessageDeletion(); } diff --git a/bramble-core/src/test/java/org/briarproject/bramble/test/BrambleCoreIntegrationTestModule.java b/bramble-core/src/test/java/org/briarproject/bramble/test/BrambleCoreIntegrationTestModule.java index 8b06bc416..9e9317649 100644 --- a/bramble-core/src/test/java/org/briarproject/bramble/test/BrambleCoreIntegrationTestModule.java +++ b/bramble-core/src/test/java/org/briarproject/bramble/test/BrambleCoreIntegrationTestModule.java @@ -29,6 +29,11 @@ public class BrambleCoreIntegrationTestModule { public boolean shouldEnableRemoteContacts() { return true; } + + @Override + public boolean shouldEnablePrivateMessageDeletion() { + return true; + } }; } } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/AppModule.java b/briar-android/src/main/java/org/briarproject/briar/android/AppModule.java index f544030b1..6daebe10f 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/AppModule.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/AppModule.java @@ -246,6 +246,11 @@ public class AppModule { public boolean shouldEnableRemoteContacts() { return IS_DEBUG_BUILD; } + + @Override + public boolean shouldEnablePrivateMessageDeletion() { + return IS_DEBUG_BUILD; + } }; } } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationActivity.java index 37457c6a7..01bc51c3e 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationActivity.java @@ -356,6 +356,11 @@ public class ConversationActivity extends BriarActivity MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.conversation_actions, menu); + // Hide private message deletion action if feature is not enabled + if (!featureFlags.shouldEnablePrivateMessageDeletion()) { + menu.removeItem(R.id.action_delete_all_messages); + } + // enable introduction action if available observeOnce(viewModel.showIntroductionAction(), this, enable -> { if (enable != null && enable) { diff --git a/briar-headless/src/main/java/org/briarproject/briar/headless/HeadlessModule.kt b/briar-headless/src/main/java/org/briarproject/briar/headless/HeadlessModule.kt index af765e114..6719f0508 100644 --- a/briar-headless/src/main/java/org/briarproject/briar/headless/HeadlessModule.kt +++ b/briar-headless/src/main/java/org/briarproject/briar/headless/HeadlessModule.kt @@ -99,5 +99,6 @@ internal class HeadlessModule(private val appDir: File) { internal fun provideFeatureFlags() = object : FeatureFlags { override fun shouldEnableImageAttachments() = false override fun shouldEnableRemoteContacts() = true + override fun shouldEnablePrivateMessageDeletion() = true } } diff --git a/briar-headless/src/test/java/org/briarproject/briar/headless/HeadlessTestModule.kt b/briar-headless/src/test/java/org/briarproject/briar/headless/HeadlessTestModule.kt index 160efd8f0..f094c9ef9 100644 --- a/briar-headless/src/test/java/org/briarproject/briar/headless/HeadlessTestModule.kt +++ b/briar-headless/src/test/java/org/briarproject/briar/headless/HeadlessTestModule.kt @@ -66,5 +66,6 @@ internal class HeadlessTestModule(private val appDir: File) { internal fun provideFeatureFlags() = object : FeatureFlags { override fun shouldEnableImageAttachments() = false override fun shouldEnableRemoteContacts() = true + override fun shouldEnablePrivateMessageDeletion() = true } }