diff --git a/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationSettingsDialog.java b/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationSettingsDialog.java
index 0f38d964e1f077a9a707744d87177906dccee444..4806a4e7a02a01299942d0c6c30ea060b7d0d9ba 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationSettingsDialog.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationSettingsDialog.java
@@ -5,7 +5,7 @@ import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
-import android.widget.TextView;
+import android.widget.Button;
import org.briarproject.bramble.api.contact.ContactId;
import org.briarproject.bramble.api.nullsafety.MethodsNotNullByDefault;
@@ -13,6 +13,7 @@ import org.briarproject.bramble.api.nullsafety.ParametersNotNullByDefault;
import org.briarproject.briar.R;
import org.briarproject.briar.android.activity.ActivityComponent;
import org.briarproject.briar.android.fragment.BaseFragment;
+import org.briarproject.briar.android.widget.OnboardingFullDialogFragment;
import java.util.logging.Logger;
@@ -95,7 +96,7 @@ public class ConversationSettingsDialog extends DialogFragment {
switchDisappearingMessages.setOnCheckedChangeListener(
(button, value) -> viewModel.setAutoDeleteTimerEnabled(value));
- TextView buttonLearnMore =
+ Button buttonLearnMore =
view.findViewById(R.id.buttonLearnMore);
buttonLearnMore.setOnClickListener(e -> showLearnMoreDialog());
@@ -113,10 +114,10 @@ public class ConversationSettingsDialog extends DialogFragment {
}
private void showLearnMoreDialog() {
- ConversationSettingsLearnMoreDialog
- dialog = new ConversationSettingsLearnMoreDialog();
- dialog.show(getChildFragmentManager(),
- ConversationSettingsLearnMoreDialog.TAG);
+ OnboardingFullDialogFragment.newInstance(
+ R.string.disappearing_messages_title,
+ R.string.disappearing_messages_explanation_long
+ ).show(getChildFragmentManager(), OnboardingFullDialogFragment.TAG);
}
}
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationSettingsLearnMoreDialog.java b/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationSettingsLearnMoreDialog.java
deleted file mode 100644
index 5f5b960fd01c837d37697c86afd72ce2269abeef..0000000000000000000000000000000000000000
--- a/briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationSettingsLearnMoreDialog.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.briarproject.briar.android.conversation;
-
-import android.app.Dialog;
-import android.os.Bundle;
-import android.view.LayoutInflater;
-import android.view.View;
-
-import org.briarproject.bramble.api.nullsafety.MethodsNotNullByDefault;
-import org.briarproject.bramble.api.nullsafety.ParametersNotNullByDefault;
-import org.briarproject.briar.R;
-
-import androidx.annotation.Nullable;
-import androidx.appcompat.app.AlertDialog;
-import androidx.fragment.app.DialogFragment;
-import androidx.fragment.app.FragmentActivity;
-
-@MethodsNotNullByDefault
-@ParametersNotNullByDefault
-public class ConversationSettingsLearnMoreDialog extends DialogFragment {
-
- final static String TAG =
- ConversationSettingsLearnMoreDialog.class.getName();
-
- @Override
- public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
- FragmentActivity activity = requireActivity();
-
- AlertDialog.Builder builder = new AlertDialog.Builder(activity,
- R.style.OnboardingDialogTheme);
-
- LayoutInflater inflater = LayoutInflater.from(builder.getContext());
- View view = inflater.inflate(
- R.layout.fragment_conversation_settings_learn_more, null);
- builder.setView(view);
-
- builder.setTitle(R.string.disappearing_messages_title);
- builder.setPositiveButton(R.string.ok, null);
-
- return builder.create();
- }
-
-
-}
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/widget/OnboardingFullDialogFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/widget/OnboardingFullDialogFragment.java
new file mode 100644
index 0000000000000000000000000000000000000000..cf2fd2d72f8e51dbaa0b78e643e41b82908a13e9
--- /dev/null
+++ b/briar-android/src/main/java/org/briarproject/briar/android/widget/OnboardingFullDialogFragment.java
@@ -0,0 +1,66 @@
+package org.briarproject.briar.android.widget;
+
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.TextView;
+
+import org.briarproject.bramble.api.nullsafety.NotNullByDefault;
+import org.briarproject.briar.R;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.annotation.StringRes;
+import androidx.appcompat.widget.Toolbar;
+import androidx.fragment.app.DialogFragment;
+
+@NotNullByDefault
+public class OnboardingFullDialogFragment extends DialogFragment {
+
+ public final static String TAG =
+ OnboardingFullDialogFragment.class.getName();
+
+ private final static String RES_TITLE = "resTitle";
+ private final static String RES_CONTENT = "resContent";
+
+ public static OnboardingFullDialogFragment newInstance(@StringRes int title,
+ @StringRes int content) {
+ Bundle args = new Bundle();
+ args.putInt(RES_TITLE, title);
+ args.putInt(RES_CONTENT, content);
+ OnboardingFullDialogFragment f = new OnboardingFullDialogFragment();
+ f.setArguments(args);
+ return f;
+ }
+
+ @Override
+ public void onCreate(@Nullable Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setStyle(DialogFragment.STYLE_NORMAL,
+ R.style.BriarFullScreenDialogTheme);
+ }
+
+ @Nullable
+ @Override
+ public View onCreateView(@NonNull LayoutInflater inflater,
+ @Nullable ViewGroup container,
+ @Nullable Bundle savedInstanceState) {
+ View view = inflater.inflate(R.layout.fragment_onboarding_full,
+ container, false);
+
+ Bundle args = requireArguments();
+
+ Toolbar toolbar = view.findViewById(R.id.toolbar);
+ toolbar.setNavigationOnClickListener(v -> dismiss());
+ toolbar.setTitle(args.getInt(RES_TITLE));
+
+ TextView contentView = view.findViewById(R.id.contentView);
+ contentView.setText(args.getInt(RES_CONTENT));
+
+ view.findViewById(R.id.button).setOnClickListener(v -> dismiss());
+
+ return view;
+ }
+
+}
diff --git a/briar-android/src/main/res/layout/fragment_conversation_settings.xml b/briar-android/src/main/res/layout/fragment_conversation_settings.xml
index c363d9b097d43f0d15aa079f9b892a8f3773b164..698840626dc9d4c34f99540793fce3f90ce39e1c 100644
--- a/briar-android/src/main/res/layout/fragment_conversation_settings.xml
+++ b/briar-android/src/main/res/layout/fragment_conversation_settings.xml
@@ -19,7 +19,6 @@
+ app:layout_constraintTop_toBottomOf="@+id/imageViewBomb"
+ tools:enabled="true" />
-
@@ -68,4 +68,4 @@
-
\ No newline at end of file
+
diff --git a/briar-android/src/main/res/layout/fragment_conversation_settings_learn_more.xml b/briar-android/src/main/res/layout/fragment_conversation_settings_learn_more.xml
deleted file mode 100644
index 3e3c6260d31cd51fb54a673dff09e77733f98009..0000000000000000000000000000000000000000
--- a/briar-android/src/main/res/layout/fragment_conversation_settings_learn_more.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/briar-android/src/main/res/layout/fragment_onboarding_full.xml b/briar-android/src/main/res/layout/fragment_onboarding_full.xml
new file mode 100644
index 0000000000000000000000000000000000000000..82ae00f6939af7e7b353809a4ee064d59520b56c
--- /dev/null
+++ b/briar-android/src/main/res/layout/fragment_onboarding_full.xml
@@ -0,0 +1,69 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/briar-android/src/main/res/values/strings.xml b/briar-android/src/main/res/values/strings.xml
index ab7109754c0a179e277c968b9c26ebc3b85ed83c..f138d30aee5a4574f991bc4f199c0e38b885e5dc 100644
--- a/briar-android/src/main/res/values/strings.xml
+++ b/briar-android/src/main/res/values/strings.xml
@@ -581,15 +581,16 @@
Disappearing messages
Turning on this setting will make new
- messages in this conversation automatically disappear 7\u00A0days 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 in this conversation automatically disappear after 7\u00A0days.
+ \n\nThe countdown for the sender\'s copy of the message starts after it has been delivered.
+ The countdown starts for the recipient after they have read the message.
\n\nMessages that will disappear are marked with a bomb icon.
\n\nKeep in mind that recipients can still make copies of the messages you send.
- \n\nIf you change this setting, it will apply to your messages immediately and to your
- contact\'s messages once they receive your next message.
+ \n\nIf you change this setting, it will apply to your new messages immediately and to your
+ contact\'s messages once they receive your next message.
+ Your contact can also change this setting for the both of you.
Learn more
- Make future messages in this conversation automatically disappear 7\u00A0days after being received.
+ Make future messages in this conversation automatically disappear after 7\u00A0days.
Feedback