From 5beffb21f1d2a7dc0b4f4d85b092baa42035761c Mon Sep 17 00:00:00 2001 From: Torsten Grote Date: Thu, 17 Jun 2021 12:11:42 -0300 Subject: [PATCH] Hide Transfer Data feature behind feature flag --- .../main/java/org/briarproject/bramble/api/FeatureFlags.java | 2 ++ .../org/briarproject/bramble/test/TestFeatureFlagModule.java | 5 +++++ .../main/java/org/briarproject/briar/android/AppModule.java | 5 +++++ .../briar/android/conversation/ConversationActivity.java | 2 +- .../java/org/briarproject/briar/headless/HeadlessModule.kt | 1 + 5 files changed, 14 insertions(+), 1 deletion(-) 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 407e9717f..0a3aefde4 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 @@ -12,4 +12,6 @@ public interface FeatureFlags { boolean shouldEnableDisappearingMessages(); boolean shouldEnableConnectViaBluetooth(); + + boolean shouldEnableTransferData(); } diff --git a/bramble-core/src/test/java/org/briarproject/bramble/test/TestFeatureFlagModule.java b/bramble-core/src/test/java/org/briarproject/bramble/test/TestFeatureFlagModule.java index 3bac40b0f..59ec15e23 100644 --- a/bramble-core/src/test/java/org/briarproject/bramble/test/TestFeatureFlagModule.java +++ b/bramble-core/src/test/java/org/briarproject/bramble/test/TestFeatureFlagModule.java @@ -29,6 +29,11 @@ public class TestFeatureFlagModule { public boolean shouldEnableConnectViaBluetooth() { return true; } + + @Override + public boolean shouldEnableTransferData() { + 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 de0f73b45..a8df44921 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 @@ -307,6 +307,11 @@ public class AppModule { public boolean shouldEnableConnectViaBluetooth() { return IS_DEBUG_BUILD; } + + @Override + public boolean shouldEnableTransferData() { + 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 39f7980d5..18c08f02a 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 @@ -376,7 +376,7 @@ public class ConversationActivity extends BriarActivity menu.findItem(R.id.action_connect_via_bluetooth).setVisible(false); } // Transfer Data feature only supported on API 19+ - if (SDK_INT >= 19) { // TODO also hide behind feature flag + if (SDK_INT >= 19 && featureFlags.shouldEnableTransferData()) { menu.findItem(R.id.action_transfer_data).setVisible(true); } // enable alias and bluetooth action once available 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 90afe01c5..66e5a700f 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 @@ -96,5 +96,6 @@ internal class HeadlessModule(private val appDir: File) { override fun shouldEnableProfilePictures() = false override fun shouldEnableDisappearingMessages() = false override fun shouldEnableConnectViaBluetooth() = false + override fun shouldEnableTransferData() = false } }