diff --git a/briar-android/artwork/ic_mailbox.svg b/briar-android/artwork/ic_mailbox.svg
new file mode 100644
index 000000000..800fb4f76
--- /dev/null
+++ b/briar-android/artwork/ic_mailbox.svg
@@ -0,0 +1,16 @@
+
+
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/settings/SettingsFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/settings/SettingsFragment.java
index c4d368db5..6b9910531 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/settings/SettingsFragment.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/settings/SettingsFragment.java
@@ -36,7 +36,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";
+ private static final String PREF_KEY_MAILBOX = "pref_key_mailbox";
@Inject
ViewModelProvider.Factory viewModelFactory;
@@ -70,6 +70,17 @@ public class SettingsFragment extends PreferenceFragmentCompat {
prefAvatar.setVisible(false);
}
+ Preference prefMailbox =
+ requireNonNull(findPreference(PREF_KEY_MAILBOX));
+ if (viewModel.shouldEnableMailbox()) {
+ prefMailbox.setOnPreferenceClickListener(preference -> {
+ // TODO show mailbox status/onboarding
+ return true;
+ });
+ } else {
+ prefMailbox.setVisible(false);
+ }
+
Preference prefFeedback =
requireNonNull(findPreference(PREF_KEY_FEEDBACK));
prefFeedback.setOnPreferenceClickListener(preference -> {
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/settings/SettingsViewModel.java b/briar-android/src/main/java/org/briarproject/briar/android/settings/SettingsViewModel.java
index ba92042f0..694460934 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/settings/SettingsViewModel.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/settings/SettingsViewModel.java
@@ -161,6 +161,10 @@ class SettingsViewModel extends DbViewModel implements EventListener {
return featureFlags.shouldEnableProfilePictures();
}
+ boolean shouldEnableMailbox() {
+ return featureFlags.shouldEnableMailbox();
+ }
+
private void loadOwnIdentityInfo() {
runOnDbThread(() -> {
try {
diff --git a/briar-android/src/main/res/drawable/ic_mailbox.xml b/briar-android/src/main/res/drawable/ic_mailbox.xml
new file mode 100644
index 000000000..592cafb24
--- /dev/null
+++ b/briar-android/src/main/res/drawable/ic_mailbox.xml
@@ -0,0 +1,12 @@
+
+
+
diff --git a/briar-android/src/main/res/values/strings.xml b/briar-android/src/main/res/values/strings.xml
index e2842fc44..53b0ea95c 100644
--- a/briar-android/src/main/res/values/strings.xml
+++ b/briar-android/src/main/res/values/strings.xml
@@ -612,6 +612,9 @@
Choose ringtone
Cannot load ringtone
+
+ Mailbox
+
Disappearing messages
Turning on this setting will make new
diff --git a/briar-android/src/main/res/xml/settings.xml b/briar-android/src/main/res/xml/settings.xml
index 3bd775506..f968985ff 100644
--- a/briar-android/src/main/res/xml/settings.xml
+++ b/briar-android/src/main/res/xml/settings.xml
@@ -24,6 +24,11 @@
app:fragment="org.briarproject.briar.android.settings.NotificationsFragment"
app:icon="@drawable/ic_notifications" />
+
+