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" /> + +