Add feature flag for sharing the app via offline hotspot

This commit is contained in:
Sebastian Kürten
2021-05-28 13:52:24 +02:00
parent f1c71ec5a7
commit 5ac636d52d
7 changed files with 25 additions and 0 deletions

View File

@@ -12,4 +12,6 @@ public interface FeatureFlags {
boolean shouldEnableDisappearingMessages();
boolean shouldEnableConnectViaBluetooth();
boolean shouldEnableShareAppViaOfflineHotspot();
}

View File

@@ -43,6 +43,11 @@ public class BrambleCoreIntegrationTestModule {
public boolean shouldEnableConnectViaBluetooth() {
return true;
}
@Override
public boolean shouldEnableShareAppViaOfflineHotspot() {
return true;
}
};
}
}

View File

@@ -305,6 +305,11 @@ public class AppModule {
public boolean shouldEnableConnectViaBluetooth() {
return IS_DEBUG_BUILD;
}
@Override
public boolean shouldEnableShareAppViaOfflineHotspot() {
return IS_DEBUG_BUILD;
}
};
}
}

View File

@@ -38,6 +38,7 @@ public class SettingsFragment extends PreferenceFragmentCompat {
private static final String PREF_KEY_FEEDBACK = "pref_key_send_feedback";
private static final String PREF_KEY_DEV = "pref_key_dev";
private static final String PREF_KEY_EXPLODE = "pref_key_explode";
private static final String PREF_KEY_SHARE_APP = "pref_key_share_app";
@Inject
ViewModelProvider.Factory viewModelFactory;
@@ -84,6 +85,12 @@ public class SettingsFragment extends PreferenceFragmentCompat {
PreferenceGroup dev = requireNonNull(findPreference(PREF_KEY_DEV));
dev.setVisible(false);
}
if (!viewModel.shouldEnableShareAppViaOfflineHotspot()) {
Preference shareApp =
requireNonNull(findPreference(PREF_KEY_SHARE_APP));
shareApp.setVisible(false);
}
}
@Override

View File

@@ -262,4 +262,8 @@ class SettingsViewModel extends DbViewModel implements EventListener {
return screenLockTimeout;
}
boolean shouldEnableShareAppViaOfflineHotspot() {
return featureFlags.shouldEnableShareAppViaOfflineHotspot();
}
}

View File

@@ -95,5 +95,6 @@ internal class HeadlessModule(private val appDir: File) {
override fun shouldEnableProfilePictures() = false
override fun shouldEnableDisappearingMessages() = false
override fun shouldEnableConnectViaBluetooth() = false
override fun shouldEnableShareAppViaOfflineHotspot() = false
}
}

View File

@@ -83,6 +83,7 @@ internal class HeadlessTestModule(private val appDir: File) {
override fun shouldEnableProfilePictures() = false
override fun shouldEnableDisappearingMessages() = false
override fun shouldEnableConnectViaBluetooth() = false
override fun shouldEnableShareAppViaOfflineHotspot() = false
}
@Provides