From abc8c86eaa6dee9d02306bf1a3bb4b9e68c3cc68 Mon Sep 17 00:00:00 2001 From: Torsten Grote Date: Fri, 26 Feb 2021 14:02:30 -0300 Subject: [PATCH 1/3] Update auto-delete onboarding text --- briar-android/src/main/res/values/strings.xml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/briar-android/src/main/res/values/strings.xml b/briar-android/src/main/res/values/strings.xml index ab7109754..9220d0dca 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, + while it 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 -- GitLab From 7047f7d3d6ba41542223be02cdecd547950c0716 Mon Sep 17 00:00:00 2001 From: Torsten Grote Date: Fri, 26 Feb 2021 15:12:34 -0300 Subject: [PATCH 2/3] Turn ConversationSettingsLearnMoreDialog into a generic Onboarding fragment --- .../ConversationSettingsDialog.java | 9 +-- .../ConversationSettingsLearnMoreDialog.java | 43 ------------ .../widget/OnboardingFullDialogFragment.java | 66 ++++++++++++++++++ ...gment_conversation_settings_learn_more.xml | 19 ----- .../res/layout/fragment_onboarding_full.xml | 69 +++++++++++++++++++ 5 files changed, 140 insertions(+), 66 deletions(-) delete mode 100644 briar-android/src/main/java/org/briarproject/briar/android/conversation/ConversationSettingsLearnMoreDialog.java create mode 100644 briar-android/src/main/java/org/briarproject/briar/android/widget/OnboardingFullDialogFragment.java delete mode 100644 briar-android/src/main/res/layout/fragment_conversation_settings_learn_more.xml create mode 100644 briar-android/src/main/res/layout/fragment_onboarding_full.xml 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 0f38d964e..0b2efcaa8 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 @@ -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; @@ -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 5f5b960fd..000000000 --- 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 000000000..cf2fd2d72 --- /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_learn_more.xml b/briar-android/src/main/res/layout/fragment_conversation_settings_learn_more.xml deleted file mode 100644 index 3e3c6260d..000000000 --- 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 000000000..235df95b7 --- /dev/null +++ b/briar-android/src/main/res/layout/fragment_onboarding_full.xml @@ -0,0 +1,69 @@ + + + + + + + + + + + + + +