diff --git a/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationSettingsFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationSettingsFragment.java
index 2174a2f19..c57b97690 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationSettingsFragment.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationSettingsFragment.java
@@ -29,6 +29,10 @@ public class ConversationSettingsFragment extends PreferenceFragmentCompat
implements Preference.OnPreferenceChangeListener {
private static final String DM_ENABLE = "pref_key_disappearing_messages";
+ private static final String DM_EXPLANATION =
+ "pref_key_disappearing_messages_explanation";
+ private static final String DM_LEARN_MORE =
+ "pref_key_disappearing_messages_learn_more";
private static final Logger LOG =
Logger.getLogger(ConversationSettingsFragment.class.getName());
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/conversation/LinkPreference.java b/briar-android/src/main/java/org/briarproject/briar/android/conversation/LinkPreference.java
new file mode 100644
index 000000000..0ee8ce861
--- /dev/null
+++ b/briar-android/src/main/java/org/briarproject/briar/android/conversation/LinkPreference.java
@@ -0,0 +1,56 @@
+package org.briarproject.briar.android.conversation;
+
+import android.content.Context;
+import android.text.SpannableStringBuilder;
+import android.text.Spanned;
+import android.text.style.URLSpan;
+import android.util.AttributeSet;
+import android.widget.TextView;
+
+import org.briarproject.briar.R;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceViewHolder;
+
+class LinkPreference extends Preference {
+
+ public LinkPreference(Context context,
+ AttributeSet attrs, int defStyleAttr, int defStyleRes) {
+ super(context, attrs, defStyleAttr, defStyleRes);
+ init();
+ }
+
+ public LinkPreference(Context context, AttributeSet attrs,
+ int defStyleAttr) {
+ super(context, attrs, defStyleAttr);
+ init();
+ }
+
+ public LinkPreference(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ init();
+ }
+
+ public LinkPreference(Context context) {
+ super(context);
+ init();
+ }
+
+ private void init() {
+ setLayoutResource(
+ R.layout.conversation_settings_disappearing_messages_learn_more);
+ }
+
+ @Override
+ public void onBindViewHolder(PreferenceViewHolder holder) {
+ super.onBindViewHolder(holder);
+ TextView link = (TextView) holder.findViewById(R.id.link);
+
+ SpannableStringBuilder ssb = new SpannableStringBuilder();
+ ssb.append(link.getText());
+ ssb.setSpan(new URLSpan("#"), 0, ssb.length(),
+ Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
+ link.setText(ssb, TextView.BufferType.SPANNABLE);
+ }
+
+}
diff --git a/briar-android/src/main/res/layout/conversation_settings_disappearing_messages_explanation.xml b/briar-android/src/main/res/layout/conversation_settings_disappearing_messages_explanation.xml
new file mode 100644
index 000000000..3148b2786
--- /dev/null
+++ b/briar-android/src/main/res/layout/conversation_settings_disappearing_messages_explanation.xml
@@ -0,0 +1,60 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/briar-android/src/main/res/layout/conversation_settings_disappearing_messages_learn_more.xml b/briar-android/src/main/res/layout/conversation_settings_disappearing_messages_learn_more.xml
new file mode 100644
index 000000000..d0e9d8809
--- /dev/null
+++ b/briar-android/src/main/res/layout/conversation_settings_disappearing_messages_learn_more.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/briar-android/src/main/res/values/strings.xml b/briar-android/src/main/res/values/strings.xml
index 417fc5b8e..1bbb7810b 100644
--- a/briar-android/src/main/res/values/strings.xml
+++ b/briar-android/src/main/res/values/strings.xml
@@ -548,9 +548,18 @@
Cannot load ringtone
- Disappearing messages
- Let messages disappear automatically
- Messages in this conversation will automatically disappear 7 days after being received. This applies to both messages you send to your contact and messages your contact sends to you.
+ Self-destructing messages
+ You can configure disappearing messages here.
+ Turning on this setting will make new messages to this conversation automatically disappear 7 days after being received.
+ This applies to messages you send to your contact as well as messages your contact sends to you.
+ Your contact can also change this setting for the both of you.
+ Messages that will disappear are marked with a bomb icon.
+ Keep in mind that recipients can still make analogue copies of the messages you sent.
+ If you change this setting, it will apply to your messages immediately and to messages of
+ your contact once they receive any message from you after changing the setting.
+ Learn more
+ Disappearing messages
+ Make future messages in this conversation automatically disappear 7\u00A0days after being received.
Feedback
diff --git a/briar-android/src/main/res/xml/conversation_settings.xml b/briar-android/src/main/res/xml/conversation_settings.xml
index bd706d40f..59e6c800f 100644
--- a/briar-android/src/main/res/xml/conversation_settings.xml
+++ b/briar-android/src/main/res/xml/conversation_settings.xml
@@ -6,6 +6,14 @@
android:layout="@layout/preferences_category"
android:title="@string/disappearing_messages_cat_title">
+
+
+
+